top level:
[official-gcc.git] / libstdc++-v3 / ChangeLog
blobdd77a58534b15d1f652254f32a7df6371350b642
1 2000-08-14  Zack Weinberg  <zack@wolery.cumb.org>
3         * configure: Regenerate after change to ../libtool.m4.
5 2000-08-10  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
7         * bits/locale_facets.tcc: Formatting tweaks.
8         * bits/locale_facets.h (__enc_traits): Start integrating this
9         into codecvt, ctype. Formatting tweaks.
11 2000-08-09  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
13         Preliminary wchar_t implementation, with trivial encodings.
14         * docs/configopts.html: Add bits about canonical configure option
15         checking.
17         * testsuite/27_io/iostream_objects.cc: Replace this file (which
18         has newly-declared-illegal mixing of wide/narrow stdstreams) with...
19         * testsuite/27_io/narrow_stream_objects.cc: New file.
20         * testsuite/27_io/wide_stream_objects.cc: New file.
22         * bits/fstream.tcc (underflow): Temporarily hack a solution
23         together that writes from the external file to the internal
24         buffers. This removes codecvt from the loop, and is incorrect.
25         (_M_really_overflow): Same here.
27         * testsuite/21_strings/inserters_extractors.cc (test05): Tweaks.
28         
29 2000-08-08  Benjamin Kosnik  <bkoz@cygnus.com>
30             Ulrich Drepper  <drepper@cygnus.com>
32         * config/c_io_libio.h: Tweak.
33         * config/c_io_libio_codecvt.c: New file.
34         * libio/Makefile.am: Add c_codecvt.c.
35         * libio/Makefile.in: Regenerate.
36         * libio/genops.c (_IO_unbuffer_write): Don't call _IO_SETBUF if the
37         stream is not orientated.
39         * acinclude.m4: Add config/c_io_libio_codecvt.c dummy file, until
40         encoding gets fleshed out.
42         * bits/basic_file.h: Add specialization declarations.
43         * config/c_io_libio.cc: Add specializations for pbackfail, uflow.
45         * config/c_io_libio.h: Add __c_wfile_type.
46         * bits/basic_file.h: Add _M_wfile.
48         * config/c_io_libio.cc (__basic_file<char>): Initialize the
49         streams without setting the orientation of the underlying FILE to
50         either wide or narrow.
51         (__basic_file<wchar_t>)): Enable tricky wchar_t io bits.
53 2000-08-07  Felix Natter  <fnatter@gmx.net>
55         * docs/17_intro/porting-howto.html:  New version.
57 2000-08-03  Mark Mitchell  <mark@codesourcery.com>
59         * bits/locale_facets.h (ctype::ctype): Don't name unused
60         parameters.
62 2000-08-01  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
64         * docs/install.html: Edit bits about requiring a special version
65         of the autotools.
67 2000-07-31  Benjamin Kosnik  <bkoz@cygnus.com>
69         * libio/fileops.cc: Update to current glibc sources.
70         * libio/genops.c: Same.
71         * libio/iofwide.c: Same.
72         * libio/libio.h: Same.
73         * libio/libioP.h: Same.
74         * libio/wfiledoalloc.c: Same.
75         * libio/wgenops.c: Same.
76         
77 2000-07-28  Alexandre Oliva  <aoliva@redhat.com>
79         * acinclude.m4: Include ../libtool.m4.
80         * aclocal.m4, configure: Rebuilt.
81         
82 2000-07-26  Phil Edwards  <pme@sourceware.cygnus.com>
84         * acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES):  Test for GNU ld
85           before trying to use any of its options.
86           (CHECK_MATH_DECL*,CHECK_BUILTIN_MATH_DECL*):  Cache tests.
87         * aclocal.m4:  Regenerate.
88         * configure.in:  Having found GNU make, name it.
89         * configure:  Regenerate.
90         * docs/install.html:  Mention possible problems with caching.
91         * src/Makefile.am (CXXLINK):  Use new OPT_LDFLAGS.
92         * src/Makefile.in:  Regenerate.
93         * libio/Makefile.in:  Regenerate.
94         * math/Makefile.in:  Regenerate.
95         * Makefile.in:  Regenerate.
97 2000-07-26  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
99         * src/misc-inst.cc (std): Remove instantiations.
101         * acinclude.m4: Add forward-looking bits for autoconf.
102         * aclocal.m4: Regenerate.
104         * bits/ostream.tcc (ostream::operator<<): Fix const char* case.
106 2000-07-25  Benjamin Kosnik  <bkoz@gnu.org>
108         * configure.in: Change AM_PROG_LIBTOOL to AC_PROG_LIBTOOL. Change
109         it back for current versions of maintainer-tools...
110         * acinclude.m4: Some cleanups...
111         * aclocal: Regenerated.
112         * configure: Regenerated.
113         
114         * src/Makefile.am (CXXLINK): Add -Wl,-01 to the link line for
115         optimizing/adapting the hash table using GNU ld.
116         * src/Makefile.in: Regenerate.
117         
118 2000-07-24  H.J. Lu  <hjl@gnu.org>
120         * src/Makefile.am (LIBIO_INCLUDES): Set to -I$(top_srcdir)/libio
121         even if GLIBCPP_NEED_LIBIO is false. The installed glibc header
122         files don't include private libio header files needed by
123         libstdc++ v3.
124         * src/Makefile.in: Rebuild.
126 2000-07-24  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
128         * bits/std_fstream.h: Parameterize __basic_file.
129         * config/c_io_libio.cc: Add wchar_t methods for parameterization.
130         * bits/basic_file.h: Same here.
132         * bits/istream.tcc (getline): Tweaks.
134         * bits/fstream.tcc: Shorten __retval to __ret.
135         * bits/ostream.tcc: Same.
136         * bits/sbuf_iter.h: Same.
137         * bits/sstream.tcc: Same.
138         * bits/streambuf.tcc: Same.
139         * bits/std_fstream.h: Same.
140         * src/string-inst.cc: Same.
141         * src/ios.cc: Same.
142         * config/c_io_libio.cc: Same.
143         * bits/string.tcc: Same.
144         * bits/std_streambuf.h: Same.
146 2000-07-23  Brent Verner <brent@rcfile.org>
148         * bits/istream.tcc: istream::getline(char_type*, streamsize,
149         char_type) make compliant
150         * testsuite/27_io/istream_unformatted.cc: test for compliant behavior
152 2000-07-23  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
154         * acinclude.m4 (enable_cshadow_headers): Fix problems with blddir
155         and srcdir used to define CSHADOW_INCLUDES..
157         * configure.in: For consistency, change .sanity_warned to
158         stamp-sanity-warned.
160         * acinclude.m4: Tweak formatting.
161         * Makefile.am (check): Call mkcheck with full pathname for build
162         directory...
163         (check-install): And here.
164         * Makefile.in: Regenerate.
165         
166 2000-07-22  Gabriel Dos Reis  <gdr@codesourcery.com>
168         Line up with libstdc++-v2 version of valarray.
169         * bits/valarray_array.h (__valarray_product): Make inline.
170         * src/valarray-inst.cc (__valarray_product): Remove explicit
171         instantiation. 
173 2000-07-21  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
175         * src/stl-inst.cc: Change __sink_unused_warning to unsigned int
176         for alpha.
178         * testsuite/26_numerics/complex_inserters_extractors.cc (testall):
179         Change return type to void.
180         * testsuite/25_algorithms/lower_bound.cc: Add return values.
181         * testsuite/17_intro/header_ciso646.cc: Modify.
182         * bits/locale_facets.h: Add return values for the generic cases.
184 2000-07-21  H.J. Lu  (hjl@gnu.org)
186         * acinclude.m4: Include <features.h> for glibc testing.
187         * aclocal.m4: Likewise.
189         * configure: Rebuild.
191 2000-07-20  H.J. Lu  (hjl@gnu.org)
193         * acinclude.m4: Change "#pragma system_header" to
194         "#pragma GCC system_header".
195         * aclocal.m4: Likewise.
196         * bits/std_cmath.h: Likewise.
197         * bits/std_cassert.h: Likewise.
198         * bits/std_cctype.h: Likewise.
199         * bits/std_cerrno.h: Likewise.
200         * bits/std_cfloat.h: Likewise.
201         * bits/std_climits.h: Likewise.
202         * bits/std_clocale.h: Likewise.
203         * bits/std_cwchar.h: Likewise.
204         * bits/std_csetjmp.h: Likewise.
205         * bits/std_csignal.h: Likewise.
206         * bits/std_cstdarg.h: Likewise.
207         * bits/std_cstddef.h: Likewise.
208         * bits/std_cstdio.h: Likewise.
209         * bits/std_cstdlib.h: Likewise.
210         * bits/std_cstring.h: Likewise.
211         * bits/std_ctime.h: Likewise.
212         * bits/std_cwctype.h: Likewise.
213         * bits/std_exception.h: Likewise.
214         * bits/std_new.h: Likewise.
215         * bits/std_typeinfo.h: Likewise.
216         * shadow/bits/std_cassert.h: Likewise.
217         * shadow/bits/std_cctype.h: Likewise.
218         * shadow/bits/std_cerrno.h: Likewise.
219         * shadow/bits/std_cfloat.h: Likewise.
220         * shadow/bits/std_climits.h: Likewise.
221         * shadow/bits/std_clocale.h: Likewise.
222         * shadow/bits/std_cmath.h: Likewise.
223         * shadow/bits/std_csetjmp.h: Likewise.
224         * shadow/bits/std_csignal.h: Likewise.
225         * shadow/bits/std_cstdarg.h: Likewise.
226         * shadow/bits/std_cstddef.h: Likewise.
227         * shadow/bits/std_cstdio.h: Likewise.
228         * shadow/bits/std_cstdlib.h: Likewise.
229         * shadow/bits/std_cstring.h: Likewise.
230         * shadow/bits/std_ctime.h: Likewise.
231         * shadow/bits/std_cwchar.h: Likewise.
232         * shadow/bits/std_cwctype.h: Likewise.
233         * shadow/bits/wrap_libio.h: Likewise.
234         * shadow/bits/wrap_unistd.h: Likewise.
235         * shadow/sys/cdefs.h: Likewise.
237         * configure: Rebuild.
239 2000-07-20  Jakub Jelinek  <jakub@redhat.com>
241         * config/cpu/sparc/sparc64/bits/atomicity.h (__exchange_and_add):
242         Use extended word instructions to match 64bit _Atomic_word.
243         (__atomic_add): Likewise.
244         * math/clog10l.c (clog10l): Use M_PIl if defined.
245         * math/c_logl.c (c_logl): Likewise.
246         * math/signbitl.c (__signbitl): Adapt for IEEE quad long doubles.
247         * math/mathconf.h (ieee_quad_double_shape_type): New type.
248         (GET_LDOUBLE_MSW64): New define.
250 2000-07-20  Benjamin Kosnik  <bkoz@cygnus.com>
252         * bits/std_streambuf.h: Add bits for pback buffers here, so that
253         in_avail, etc can use them.
254         * bits/std_fstream.h: Ditto.
255         * bits/fstream.tcc: Ditto.
256         * testsuite/27_io/filebuf.cc: Tweaks.
257         * testsuite/27_io/filebuf-3.tst: Correct for pbackfail bits.
259 2000-07-19  Benjamin Kosnik  <bkoz@cygnus.com>
261         * src/localename.cc: Same.
262         * src/locale.cc: Same.
263         * bits/localefwd.h: _M_init_facet to _M_facet_init.
265         * bits/locale_facets.h: _M_init_boolnames to _M_boolnames_init.
267         * bits/std_sstream.h: Change _M_init_stringbuf to _M_stringbuf_init.
269         * bits/fstream.tcc: Change _M_init_filebuf to _M_filebuf_init.
270         * bits/std_fstream.h: Same.
272         * bits/basic_string.h: Tweaks.
273         
274 2000-07-19  Phil Edwards  <pme@sourceware.cygnus.com>
276         * docs/18_support/howto.html:  Update.
278 2000-07-19  Benjamin Kosnik  <bkoz@milou.soma.redhat.com>
280         Internal consistency checks.....
281         * bits/ios_base.h: Change _M_locale_ios to _M_ios_locale.
282         * src/ios.cc: Same.
283         
284         * bits/basic_ios.h: Change _M_fctype_ios to _M_ios_fctype.
285         * bits/basic_ios.tcc: Same.
286         
287         * bits/std_streambuf.h: Change _M_locale_buf to _M_buf_locale.
288         Change _M_fctype_buf to _M_buf_fctype.
289         * bits/fstream.tcc: Same.
291         * bits/std_streambuf.h: Change _M_buf_bump to _M_out_cur_move.
292         Change _M_locale_set to _M_buf_locale_init.
293         * bits/streambuf.tcc: Same.
294         * bits/sstream.tcc: Same.
295         * bits/fstream.tcc: Same.
297         * bits/std_streambuf.h: Make typedefs consistent.
298         (_M_buf_bump): Be more careful with input sequence.
300         * bits/std_sstream.h: Same.
301         * bits/std_fstream.h: Same.
303 2000-07-18  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
305         * acinclude.m4: Tweaks.
306         * config/c_io_libio.cc: Tweaks.
307         * bits/sstream.tcc (stringbuf::pbackfail): Simplify.
308         * libio/_G_config.h: Don't define _G_HAVE_ST_BLKSIZE.
309         * libio/[iofwide.c, wfiledoalloc.c, wfiteopos.c, wgenops.c]: New files.
310         * libio/iofclose.c iofopen.c, stdio.c: New files.
311         * libio/Makefile.am: Add files, add flags, etc.
312         * src/Makefile.am (sources): Add filebuf.cc.
313         * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT):
314         (GLIBCPP_ENABLE_CSTDIO): Versioning testing, etc etc.
316 2000-07-17  Phil Edwards  <pme@sourceware.cygnus.com>
318         * acinclude.m4:  Import CHECK_GNU_MAKE from autoconf macro archive.
319         * configure.in:  Use it.  Also print reminders one time.
320         * aclocal.m4:  Regenerate.
321         * configure:  Regenerate.
323 2000-07-15  Gabriel Dos Reis  <gdr@codesourcery.com>
325         * bits/valarray_array.h (__valarray_get_storage): New function.
326         (_Array<>::Array): Use it.
327         * bits/std_valarray.h (valarray<>::valarray): Likewise.
328         (valarray<>::resize): Likewise.  Tweak.
329         * src/valarray-inst.cc (__valarray_product): Tweak.
331 2000-07-11  Phil Edwards  <pme@sourceware.cygnus.com>
333         * docs:  Update sourceware->sources in every HTML file.  Minor updates.
335 2000-07-07  Benjamin Kosnik  <bkoz@soma.redhat.com>
337         Clean up configure/build longstanding issues.
338         * src/Makefile.am (AC_CXXFLAGS): Don't set @SECTION_LDFLAGS@ here.
339         (CXXLINK): Add here, instead.
341         * Makefile.am (check-install): Make sure mkcheck has execute privs.
342         (check): Same here.
343         * configure.in (AC_OUTPUT_COMMANDS): Remove hacks here.
345         * configure.in (AC_OUTPUT_COMMANDS): Link c_io_libio.h and
346         c_io_libio.cc instead of copying.
347         * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Do link here.
349         * configure.in (AC_OUTPUT_COMMANDS): Link $THREADS.h and
350         c++threads.h instead of copying.
351         * acinclude.m4 (GLIBCPP_ENABLE_THREADS): Do link here.
352         Tweaks.
353         
354         * config/c_io_libio.cc (__basic_file::_M_open_mode): Consolidate.
355         * bits/basic_file.h: Declare.
357         * mkcheck.in (TESTS_FILE): Use -v instead of --version.
359 2000-07-07   brent verner  <brent@rcfile.org> 
361         * testsuite/27_io/istream_unformatted.cc (test05): New test.
363 2000-07-07  Benjamin Kosnik  <bkoz@gnu.org>
365         * bits/istream.tcc (istream::getline): Minor tweaks.
367 2000-07-07  Phil Edwards  <pme@sourceware.cygnus.com>
369         * docs/download.html:  Mention gcc_update.
370         * docs/configopts.html:  Minor updates.
371         * docs/gccrebuild.html:  Ditto.
372         * docs/18_support/howto.html:  More tips, explanations, and reminders.
373         * docs/19_diagnostics/howto.html:  Ditto.
374         * docs/21_strings/howto.html:  Ditto.
375         * docs/24_iterators/howto.html:  Ditto.
376         * docs/25_algorithms/howto.html:  Ditto.
377         * docs/26_numerics/howto.html:  Ditto.
379 2000-07-05  brent verner  <brent@rcfile.org> 
381         * testsuite/27_io/ifstream_members.cc (test01): Add tests.
382         * testsuite/27_io/ofstream_members.cc (test01): Add tests.
383         * config/c_io_libio.cc (__basic_file::open): Unset
384         ~_IO_DELETE_DONT_CLOSE.
386 2000-07-05  Zack Weinberg  <zack@wolery.cumb.org>
387         
388         * bits/gslice_array.h, bits/indirect_array.h, bits/mask_array.h,
389         bits/slice_array.h, bits/std_valarray.h, bits/valarray_meta.h:
390         Do not paste anything after 'operator' keyword.
392 2000-07-03  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
394         * bits/std_memory.h: Revert.
396 2000-07-03  Brendan Kehoe  <brendan@zen.org>
398         * bits/std_complex.h: Fix parens. Format.
399         
400 2000-07-03  scott snyder  <snyder@fnal.gov>
402         * bits/locale_facets.tcc (_M_extract): Only figure out the base
403         from the input if base == 0.
404         * testsuite/27_io/istream_extractor_arith.cc: Test reading a
405         number with a leading `0' in hex mode.
407         * shadow/bits/std_cmath.h: Fix typo in _GLIBCPP_HAVE_CEILL test.
409         * mkinclosure: Change `==' to `=' in test.
411 2000-07-03  Chip Salzenberg  <chip@valinux.com>
413         * src/Makefile.am (libio_headers): _G_config.h is found in srcdir,
414         not builddir.
415         * src/Makefile.in: Regenerate.
417 2000-07-01  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
418             Ulrich Drepper  <drepper@purist.soma.redhat.com>
420         Sync libio to glibc-2.2 current CVS. 
421         * libio/_G_config.h: New file.
422         * libio/wfileops.c: New file.
423         * libio/wfiledoalloc.c: New file.
424         * libio/wgenops.c: New file.
425         * libio/iofwide.c: New file.
426         * libio/Makefile.am: Tweaks.
427         * libio/Makefile.in: Regenerate.
428         * libio/gen-params: Remove. Generic replacement for this yet undone.
429         * libio/[filedoalloc.c, fileops.c, genops.c, iolibio.h, libio.h,
430         libioP.h, stdfiles.c]: Update.
431         * config/c_io_libio.cc: Tweaks.
432         * acinclude.m4: Complete hacks to test wide io.
433         * aclocal.m4: Regenerate.
434         * configure: Regenerate.
435         * src/Makefile.am: Update.
436         * src/Makefile.in: Regenerate.
438         * math/cargl.c: Remove underscores.
439         
440         * bits/locale_facets.h: Tweaks. Start adding iconv details
441         and notes.
442         * bits/locale_facets.tcc: Tweaks.
443         * bits/std_cwchar.h: Tweaks.
444         
445 2000-06-29  scott snyder  <snyder@fnal.gov>
447         * bits/concept_checks.h
448         (__less_then_comparable_requirement_violation): Only check for <.
449         * testsuite/25_algorithms/lower_bound.cc: New file.
450         
451 2000-06-29  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
453         * testsuite/27_io/ostream_manip.cc (test02): Add tests.
454         * bits/ostream.tcc: Tweak.
455         * bits/std_fstream.h (basic_filebuf::setbuf): Reset
456         _M_buf_size_opt too.
457         * bits/std_streambuf.h (basic_streambuf::~basic_streambuf): Zero
458         out _M_buf_size_opt.
459         * bits/std_sstream.h (basic_stringbuf::_M_init_stringbuf): Set
460         _M_buf_size_opt out here.
461         * bits/char_traits.h (char_traits::eos): Non standard member
462         function, uglify to __eos. Return char_type().
463         * bits/std_ostream.h: Change.
465         * testsuite/27_io/ostream_seeks.cc: New file.
466         * testsuite/27_io/ostream_seeks-1.tst: New file.
467         * testsuite/27_io/istream_unformatted.cc (main): Move test04 and
468         test05 to...
469         * testsuite/27_io/istream_seeks.cc: New file.
471 2000-06-29  Branko Cibej  <branko.cibej@hermes.si>
473         * bits/std_memory.h (auto_ptr_ref): Reworked and defined only if
474         _GLIBCPP_RESOLVE_LIB_DEFECTS.
475         (auto_ptr): _M_ptr changed to void*.
476         (suto_ptr::get): Cast _M_ptr to element type.
477         (auto_ptr::auto_ptr(auto_ptr<Tp1>)): Test implicit convetsion.
478         (auto_ptr::~auto_ptr): Use this->get() instead of _M_ptr.
479         (auto_ptr::operator*): Likewise.
480         (auto_ptr::operator->): Likewise.
481         (auto_ptr::release): Likewise.
482         (auto_ptr::reset): Likewise.
483         (auto_ptr::auto_ptr(auto_ptr_ref)): Initialize from __ref._M_release.
484         (auto_ptr::operator auto_ptr_rev<_Tp1>): Updated.
485         Define nested auto_ptr_ref unless _GLIBCPP_RESOLVE_LIB_DEFECTS.
486         Define operator=(auto_ptr_ref) if _GLIBCPP_RESOLVE_LIB_DEFECTS.
488 2000-06-28  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
490         * testsuite/27_io/filebuf.cc: Tweak.
491         * testsuite/27_io/filebuf_members.cc (test_01): Fix.
492         * config/c_io_libio.cc (__basic_file::~__basic_file): Match libio
493         filebuf dtor.
494         (__basic_file::basic_file): Clean, add calls similar to
495         _IO_file_attach.
496         (__basic_file::open): Clean.
497         (__basic_file::sys_open): Clean.
499         * bits/std_fstream.h: Revert.
500         * bits/fstream.tcc (filebuf::close()): Revert.
501         (filebuf::basic_filebuf()): Revert.
503 2000-06-27  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
505         Update to SGI STL 3.3
506         * ext/hash_map, ext/hash_set, ext/slist, ext/stl_bvector.h,
507         ext/stl_rope.h, ext/ropeimpl.h: Update.
508         * bits/std_bitset.h, bits/std_map, bits/std_memory.h,
509         bits/stl_algo.h, bits/stl_algobase.h, bits/stl_alloc.h,
510         bits/stl_config.h, bits/stl_construct.h, bits/stl_deque.h,
511         bits/stl_function.h, bits/stl_heap.h, bits/stl_iterator.h,
512         bits/stl_iterator_base.h, bits/stl_list.h, bits/stl_map.h,
513         bits/stl_multimap.h, bits/stl_multiset.h, bits/stl_numeric.h,
514         bits/stl_queue.h, bits/stl_set.h, bits/stl_stack.h,
515         bits/stl_string_fwd.h, bits/stl_threads.h, bits/stl_three.h,
516         bits/stl_uninitialized.h, bits/stl_vectory.h: Update.
518         * src/Makefile.am (headers): Add new files.
519         * src/Makefile.in: Regenerate.
520         * src/stl-inst.cc (std): Add instantiation for __sink_unused_warning.
521         * bits/concept_checks.h: New file.
522         * bits/container_concepts.h: New file.
523         * bits/sequence_concepts.h: New file.
524         
525 2000-06-27  H.J. Lu  <hjl@gnu.org>
526             Loren J. Rittle  <ljrittle@acm.org>
528         * mkcheck.in: Add support to print standard flags needed to
529         test g++ in build tree.  Enhance command line error checking.
531 2000-06-27  Phil Edwards  <pme@sourceware.cygnus.com>
533         * docs/install.html:  Fix minor typo as reported.
535 2000-06-26  Brent Verner <brent@rcfile.org>
537         * bits/string.tcc (string::rfind): Fix.
538         * testsuite/21_strings/rfind.cc: New file.
539         
540 2000-06-26  Anthony Williams  <anthony@anthonyw.cjb.net>
542         * testsuite/21_strings/ctor_copy_dtor.cc: Fixed logic error.
543         
544 2000-06-26  Branko Cibej  <branko.cibej@hermes.si>
546         * testsuite/27_io/filebuf_members.cc (test_01): Fixed typos.
548         * mkcheck.in: Make the *.txt and *.tst files writable after
549           copying them to $TEST_DIR.
551         * testsuite/27_io/ostream_inserter_arith.cc: Renamed
552           __TEST_NUMPUT_VERBOSE to TEST_NUMPUT_VERBOSE.  Define
553           TEST_NUMPUT_VERBOSE only if DEBUG_ASSERT.
554         
555 2000-06-23  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
557         * bits/fstream.tcc (basic_filebuf::basic_filebuf(fd)): Use it.
558         (basic_filebuf::close): Use it.
559         * bits/std_fstream.h (basic_filebuf): Remove default arguments for
560         filebuf ctor.
561         (basic_filebuf): Add _M_fileno_based data member.
562         As reported by brent verner <brent@rcfile.org> 
563         * testsuite/27_io/filebuf_members.cc: New file.
564         * testsuite/27_io/filebuf_members-1.tst: New file.
566         * bits/std_fstream.h: Formatting tweaks.
567         * testsuite/27_io/ofstream_members.cc: New file.
568         * testsuite/27_io/ofstream_members-1.tst: New file.
569         * testsuite/27_io/ifstream_members.cc: New file.
570         * testsuite/27_io/ifstream_members-1.tst: New file.
572 2000-06-23  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
573             Ulrich Drepper  <drepper@cygnus.com>
574         
575         * acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Add -D_GNU_SOURCE, so
576         that all the freaky stuff like sincos will be around...
578 2000-06-22  Branko Cibej  <branko.cibej@hermes.si>
580         * Makefile.am (AM_MAKEFLAGS): Added WERROR to list of flags.
582 2000-06-22 Steven King <sxking@uswest.net>
584         * acinclude.m4: Check for sinl, _sinl using 1 parameter.
586 2000-06-22  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
588         * acinclude.m4 (GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT): Redo. Use the
589         same approach as GLIBCPP_CHECK_MATH_SUPPORT, only don't try to
590         link against libm and don't use -fno-builtins...
591         * math/mathconf.h: Change up builtin macros to new schema.
592         * bits/std_cmath.h: And here. Wheee!
593         * shadow/bits/std_cmath.h: And here.
594         * acconfig.h: Change up builtin macros here.
595         * math/cosf.c:  Remove.
596         * math/fabsf.c:  Likewise.
597         * math/sinf.c:  Likewise.
598         * math/sqrtf.c:  Likewise.
599         * math/Makefile.am (EXTRA_DIST):  Remove those four files.
600         * math/Makefile.in:  Regenerate.
602 2000-06-22  Anthony Williams  <anthony@anthonyw.cjb.net>
604         * testsuite/21_strings/find.cc: Patch.
606 2000-06-22  Benjamin Kosnik  <bkoz@soma.redhat.com>
608         * acinclude.m4 (GLIBCPP_CHEC_LINKER_FEATURES): Use gcc + -x c++ as
609         an easy way to get at g++ without having to link in libstdc++.
611 2000-06-21  Benjamin Kosnik  <bkoz@soma.redhat.com>
613         Fix alpha, powerpc build failures.
614         * acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Substantially
615         re-write. Need to check for both proper declaration when using a
616         c++ compiler, and "C" linkage when linking. Do both, and if both
617         exist, then define the HAVE_* bits in config.h.
618         (GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE): New, uber-macro. Does all.
619         (GLIBCPP_CHECK_LINKER_FEATURES): Actually link and run this
620         program, doh.
622 2000-06-20  Anthony Williams  <anthony@anthonyw.cjb.net>
624         * bits/string.tcc: Fix find.
625         * testsuite/21_strings/find.cc: Patch.
626         
627 2000-06-20  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
629         * docs/install.html: Update where to get automake, where to get
630         binutils.
631         * acinclude.m4: Need -fno-builtins too, so gcc doesn't recognize
632         builtins.
634 2000-06-19  Benjamin Kosnik  <bkoz@soma.redhat.com>
636         * acinclude.m4 ((GLIBCPP_CHECK_MATH_SUPPORT): Revert last change.
637         Add -Werror-implicit-function-declaration instead.
639         Regenerate with fixed maintainer-tools.
640         * aclocal.m4: Regenerate.
641         * configure: Regenerate.
642         * libio/Makefile.in: Regenerate.
643         * src/Makefile.in: Regenerate.
644         
645 2000-06-19  Russell Davidson  <russell@ehess.cnrs-mrs.fr>
647         * testsuite/27_io/istream_extractor_arith.cc: Patch.
648         * bits/locale_factets.tcc: Tweak.
649         
650 2000-06-19  Raja R Harinath  <harinath@cs.umn.edu>
651         
652         * src/Makefile.am: change @WERROR@ to $(WERROR) so that this can
653         be overridden on the command line for individual files.
655 2000-06-19  Benjamin Kosnik  <bkoz@soma.redhat.com>
657         * acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Can't use
658         AC_LANG_CPLUSPLUS as this tries to link in libstdc++, which we are
659         building. Use -x c++ instead, which does not attempt to link
660         libstdc++.
662         * acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES): Actually check for
663         not coring when we hit a try/throw block, which was the problem
664         with the linker support...
666         * docs/17_intro/contribute.html: Add bits about getting to the LWG
667         issues pages.
668         * docs/documentation.html: Rename link to make more accurate and scary.
669         * docs/gccrebuild.html: Edit for clarity as these are no longer
670         separate projects.
671         * docs/install.html: Add bits about binutils for
672         -ffunction-sections, -fdata-sections, -Wl,--gc-sections
674         * configure.in: Add call for GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT.
675         * math/Makefile.am (EXTRA_DIST): Change USE_LONG_DOUBLE to
676         USE_COMPLEX_LONG_DOUBLE.
677         * acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Break into
678         GLIBCPP_CHECK_MATH_SUPPORT and GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT.
679         Works around irregularies in powerpc "C" compiler, but a good idea
680         anyway.
682         * acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_COMPILER_SUPPORT):
683         New. Merge both old compiler bug checks for complex into this.
685 2000-06-19  Anthony Williams  <anthony@anthonyw.cjb.net>
686         
687         * testsuite/21_strings/find.cc: Empty strings can be found at all
688         positions. Modified.
690 2000-06-19  Branko Cibej  <branko.cibej@hermes.si>
692         * testsuite/20_utilities: New directory.        
693         * testsuite/20_utilities/auto_ptr.cc: New file.
694         
695 2000-06-14  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
697         * src/Makefile.am (string_sources): Simplify, assuming that with
698         -ffunction-sections, -fdata-sections, -Wl,--gc-sections, all this
699         hacking is not necessary.
700         (wstring_sources): Same.
701         (OPTIMIZE_CXXFLAGS): Enable -fdata-sections -ffunction-sections
702         -Wl,--gc-sections.
703         * src/string-inst.cc: Remove macro blocks.
704         * mkcheck.in (CXX_FLAG): Add bits here.
705         
706         * src/string-inst.cc: Remove iostream-related string instantiations.
707         * src/misc-inst.cc: Add here.
709         * acinclude.m4 (GLIBCPP_CHECK_COMPILER_VERSION): Change FMTFLAGS
710         to WFMT_FLAGS.
711         * aclocal.m4: Regenerate.
712         * configure.in: Change up.
713         * configure: Regenerate.
714         
715 2000-06-13  Steven King  <sxking@uswest.net>
717         * acinclude.m4:  Fixup some of the builtin math tests and add tests for
718         __builtin_fmod* and test libm for fmodf, fmodl or _fmodf, _fmodl.
719         * acconfig.h: Add entries for fmod*.
721 2000-06-13  Branko Cibej  <branko.cibej@hermes.si>
723         * bits/std_cmath.h:  Fix typos in tests (*_FMODFF -> *_FMODF).
724         Test  *_MODFF not *_MODF for modf(float, float*).
725         (modf(float, float*)): Remove reference to _C_legacy.
727 2000-06-13  Benjamin Kosnik  <bkoz@redhat.com>
728         
729         * acinclude.m4 (enable_cshadow_headers): Change CSHADOWFLAGS to
730         _GNU_SOURCE instead of _ISOC9X_SOURCE, as _GNU_SOURCE is the
731         superset, and already defined at top level.
732         * aclocal.m4: Regenerate.
733         * configure: Regenerate.
735         * docs/17_intro/contribute.html: Plead with people to use -cp.
736         
737 2000-06-13  Anthony Williams  <anthony@anthonyw.cjb.net>
739         * testsuite/23_containers/bitset_ctor.cc: Qualify reverse wth std::.
741         * testsuite/27_io/filebuf.cc: Changed calls to
742         fpos<>._M_position() to implicit calls to operator streamoff().
743         * testsuite/27_io/iostream_objects.cc: Removed #include <ciso646>,
744         as not needed. Revert, as part of standard.
745         * testsuite/27_io/ostream_inserter_arith.cc: Replaced explicit
746         call to numpunct<>._M_init() with overrides of the appropriate
747         virtual functions.
749         * testsuite/27_io/stringstream.cc: Removed unnecessary char *
750         pointers from test01, so no need to call base(), which isn't
751         guaranteed to be implemented as iterators may themselves be pointers
752         * testsuite/27_io/stringbuf.cc: Removed unnecessary calls to
753         _M_position() - use implicit conversion to streamoff instead
755 2000-06-13  Thomas Holenstein  <thomas@hex.ch>
757         * bits/stl_iterator.h: Added inline to operators == to >=.
759 2000-06-13  Brent Verner <brent@rcfile.org>
761         * bits/streambuf.tcc: repaired _S_copy_streambufs()
762         * testsuite/27_io/ostream_inserter_other.cc (test03): Added testcase.
763         
764 2000-06-12  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
766         * bits/locale_facets.h (ctype<wchar_t>): Remove unnecessary data
767         members.
768         * src/locale.cc: Add cwchar include here. Remove incorrect
769         definitions, and stub them out.
770         * config/generic/ctype.cc (ctype): Remove ctype<wchar_t> bits.
771         * config/solaris/solaris2.7/ctype.cc (ctype): Same.
772         * config/solaris/solaris2.5/ctype.cc (ctype): Same.
773         * config/newlib/ctype.cc: Same.
774         * config/gnu-linux/ctype.cc: Same.
775         * config/bsd/ctype.cc: Same.
776         * config/aix/ctype.cc: Same.
778 2000-06-12  Branko Cibej  <branko.cibej@hermes.si>
780         * config/solaris/solaris2.6/ctype.cc (do_toupper, do_tolower): Use
781         towupper and towlower to convert wide characters.
783 2000-06-12  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
785         * mkcheck.in: Clean up confusion regarding NAME, PRE_NAME.
787 2000-06-08  Branko Cibej  <branko.cibej@hermes.si>
789         * acinclude.m4 (GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT):  Check for
790           sinf, cosf, fabsf, and sqrtf; add to LIBMATHOBJS if missing.
791         * aclocal.m4:  Regenerate.
792         * configure:  Regenerate.
793         * math/cosf.c:  New file.
794         * math/fabsf.c:  Likewise.
795         * math/sinf.c:  Likewise.
796         * math/sqrtf.c:  Likewise.
797         * math/Makefile.am (EXTRA_DIST):  Add those four files.
798         * math/Makefile.in:  Regenerate.
800 2000-06-08  Phil Edwards  <pme@sourceware.cygnus.com>
802         * testsuite/26_numerics/complex_inserters_extractors.cc:  Need cmath.
804 2000-06-06  Steven King  <sxking@uswest.net>
806         * acconfig.h: Added defines for HAVE_BUILTIN math functs for float,
807         double and long double.  Added defines for HAVE libm math functs for
808         float and long double.
809         * aclocal.m4: Added configure checks for builtin math funcs and libm
810         support for float and long double versions of the math functions.
811         * config.h.in: Added undefs for math functs.
812         * configure: Regenerate.
813         * math/mathconf: Changed the _GLIBCPP_HAS_BUILTIN_* to
814         _GLIBCPP_HAVE_BUILTIN_*.
815         * bits/std_cmath.h: Added long double support.  Use builtins for
816         float, double and long if available, otherwise, use libm versions if
817         availible, otherwise, punt.
818         * shadow/bits/std_cmath.h: ditto
820 2000-06-02  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
822         * bits/locale_facets.h: Tweak.
823         * src/locale.cc (codecvt<wchar_t>): Tweak. 
824         
825         * bits/locale_facets.h (_Format_cache): _S_ecks -> _S_x. 
826         * bits/locale_facets.tcc (num_get<char>::_M_extract): Fix for hex.
828         * bits/basic_string.h: Move data member up.
829         * src/string-inst.cc: Fix instantiations.
830         * bits/string.tcc: Fix types.
831         
832 2000-06-02  Anthony Williams  <anthony@anthonyw.cjb.net>
834         * testsuite/21_strings/replace.cc (test01): Qualify find with std::.
836 2000-06-01  Benjamin Kosnik  <bkoz@gnu.org>
838         * bits/std_cwctype.h: Clean.
839         * bits/std_cwchar.h: Clean, remove cruft.
841         * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Re-work, add bits
842         for beginning iconv support.
843         Remove _GLIBCPP_HAS_WCHAR_MIN_MAX, roll into _GLIBCPP_USE_WCHAR_T
844         macro.
845         * acconfig.h: Remove _GLIBCPP_HAS_WCHAR_MIN_MAX.
846         * bits/limits_generic.h: Remove.
847         * src/gen-num-limits.cc: Same.
848         
849         * src/locale.cc: Tweaks.
851         * bits/char_traits.h: Tweaks.
853 2000-05-31  Russell Davidson  <russell@ehess.cnrs-mrs.fr> 
855         * bits/locale_facets.tcc (num_get<char>::_M_extract): Fix signage,
856         exponent, scientific formatting issues.
857         * testsuite/27_io/istream_extractor_arith.cc (test09): Add tests.
858         
859 2000-05-31  Branko Cibej  <branko.cibej@hermes.si>
861         * bits/limits_generic.h (numeric_limits<wchar_t>): Use WCHAR_MIN
862         and WCHAR_MAX instead of WCHART_MIN and WCHART_MAX.
864 2000-05-31  Nathan Myers  <ncm@cantrip.org>
866        * docs/thanks.html: edit own credits
868 2000-05-31  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
870         * bits/generic_shadow.h: Remaining _C_Shadow -> _C_shadow fix.
871         
872         * acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Add strtoull checks...
874         * mkcheck.in (SH_FLAG): Add in -Wl,--rpath -Wl,$LIB_PATH. Tweaks.
875         
876 2000-05-31 Steven King <sxking@uswest.net>
878         * shadow/time.h: fix typo
879         * shadow/wchar.h: ifdef __USE_GNU for wcsdup
880         * shadow/bits/std_cwchar.h: ditto
881         * shadow/bits/std_cstdlib.h: add overloads of abs and div for long
882         and long long.
884 2000-05-26  Phil Edwards  <pme@sourceware.cygnus.com>
886         * acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG):  If strtoll isn't
887           available, force --disable.  Need to flesh this out; make smarter.
888         * aclocal.m4:  Regenerate.
889         * configure:  Regenerate.
891         * mkcheck.in:  Minor tweaks.
892         * docs/download.html:  Fix typo.
894 2000-05-25  Benjamin Kosnik  <bkoz@milou.soma.redhat.com>
896         * inclosure: Change to...
897         * mkinclosure: This.
898         Fix paths to bash.      
899         * mkcshadow: Fix paths to bash.
900         
901         * src/Makefile.am: Tweaks. Do cshadow header trickery at build time.
902         * src/Makefile.in: Regnerate.
903         * acinclude.m4 (GLIBCPP_COMPILER_VERSION): Fix typo.
904         (GLIBCPP_ENABLE_SHADOW): Do a less gross hack.
905         * aclocal.m4: Regenerate.
906         * mkcheck.in (INC_PATH): Tweak. 
907         
908         * configure.in: Enable long long by default.
909         * configure: Regenerate.
910         
911         * mkcheck.in (LIB_PATH): Revert.
913 2000-05-24   Nathan "I don't write ChangeLog Entries" Myers  <ncm@cantrip.org>
915         * config/cpu/i486: New directory.
916         * config/cpu/i486/bits: New directory.
917         * config/cpu/i486/bits/atomicity.h: New file.
918         * config/cpu/i386/bits/atomicity.h (__compare_and_swap): Delete
919         'cmpxchgl' asm.
920         * acinclude.m4 (GLIBCPP_CHECK_CPU): Enable i386.
921         
922 2000-05-24  Loren J. Rittle  <ljrittle@acm.org>
924         * backward/alloc.h (__default_alloc_template): Only expose
925           implementation-specific symbol, if it exists in the
926           configuration.
927         * backward/iostream.h (ends): Expose symbol.
928         * backward/strstream.h: New file.
929         * backward/stream.h: New file.
930         * backward/ostream.h: New file.
931         * backward/istream.h: New file.
932         * backward/fstream.h: New file.
933         * backward/complex.h: New file.
934         * backward/iomanip.h: New file.
936         * mkcheck.in (LIB_PATH): Add -R bits.
938         * math/carg.c (carg): Replace __atan2 with atan2.
940 2000-05-24  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
942         * Makefile.am (TAGS): Construct.
943         * Makefile.in: Rengerate.
944         * src/Makefile.am: Tweak.
945         * src/Makefile.in: Tweak.
946         * configure.in: Tweak.
948         * bits/c++config.h: Rename to ...
949         * bits/c++config: This.
950         * mkc++config: Adjust.
951         
952         * m4: Remove.
953         * m4/lc_message.m4: Merge into acinclude.m4.
954         * m4/mathfcts.m4: Same.
955         * m4/stringfcts.m4: Same.
956         * acinclude.m4: Add here.
957         * configure: Regnerate.
958         
959         * acinclude.m4 (GLIBCPP_CHECK_COMPILER_VERSION): Remove
960         OPTLEVEL. Add FMTFLAGS.
961         * aclocal.m4: Regenerate.
962         * src/Makefile.am (AC_CXXFLAGS): Take out OPTLEVEL, as this has
963         been disabled due to higher-level Makefiles running amuck over
964         this bit, and add in FMTFLAGS so that formatting is clear. 
965         * src/Makefile.in: Regenerate.
966         * configure: Regenerate.
968         * src/ios.cc (ios_base::sync_with_stdio): Clean up buffers from
969         initialization.
971         * docs/download.html: Remove references to Cygwin-specific bits,
972         as this can now be built natively.
973         Update with current information.
975 2000-05-24  Phil Edwards  <pme@sourceware.cygnus.com>
977         * acinclude.m4 (GLIBCPP_CHECK_COMPILER_VERSION):  If we can use
978           -fdiagnostics-show-location=once, do so.  Expand AC_LANG_* to
979           enclose other tests in this macro, including future ones.
980         * aclocal.m4:  Regenerate.
981         * configure:  Regenerate.
983         * docs/faq/index.html:  Update location of libg++ FAQ.
984         * docs/faq/index.txt:  Regenerate.
986 2000-05-22  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
988         * docs/17_intro/libstdc++-assign.txt: Change Cygnus to FSF.
990 2000-05-22  Phil Edwards  <pme@sourceware.cygnus.com>
992         * mkcheck.in:  Tweak for Solaris 8.  Additional minor output comment.
994 2000-05-22  Phil Edwards  <pme@sourceware.cygnus.com>
996         * acinclude.m4:  If the new pragma isn't supported, don't kill -Werror;
997           keep -Werror and add -Wno-unknown-pragma.  -Werror Is Good.
998         * aclocal.m4:  Regenerate.
999         * configure:  Regenerate.
1001 2000-05-19   Nathan C. Myers  <ncm@cantrip.org>
1003         * bits/generic_shadow.h: s/swamp/legacy/
1005 2000-05-19  Phil Edwards  <pme@sourceware.cygnus.com>
1007         * acinclude.m4:  Clean up comments on newer checks.
1008           (GLIBCPP_CHECK_COMPILER_VERSION):  Check for system_header
1009           pragma support.  Remove WERRORSUPPRESS variable, add WERROR.
1010         * aclocal.m4:  Regenerate.
1011         * configure:  Regenerate.
1012         * Makefile.in:  Regenerate.
1013         * libio/Makefile.in:  Regenerate.
1014         * math/Makefile.in:  Regenerate.
1015         * src/Makefile.am:  Tell make's WERROR to depend on configure's WERROR.
1016         * src/Makefile.in:  Regenerate.
1017         * docs/configopts.html:  Document changes to --enable names.
1019 2000-05-18  Chip Salzenberg  <chip@valinux.com>
1021         * bits/ostream.tcc (_S_pad_char): Function template should not be
1022         static.
1023         * bits/streambuf.tcc (_S_copy_streambufs): Likewise.
1024         * src/string-inst.cc (__destroy_aux): Instantiate for string*.
1026 2000-05-18  Nathan C. Myers  <ncm@cantrip.org>
1028         * mkcshadow: Change C_Swamp to C_legacy.
1029         * shadow/*: Same.
1030         * shadow/bits/*: Same.
1031         s/C_Swamp/C_legacy/g
1032         s/SWAMP/LEGACY/g
1033         s/_Shadow/_shadow/g
1035 2000-05-18  Anthony Williams  <anthony@anthonyw.cjb.net> 
1037         * bits/locale_facets.tcc (num_get::_M_extract): Change char* to
1038         const char*.
1039         * src/string-inst.cc (string::_S_find): Same.
1040         
1041 2000-05-18  Benjamin Kosnik  <bkoz@gnu.org>
1043         * acinclude.m4 (GLIBCPP_ENABLE_SHADOW): Change to
1044         --enable-cshadow-headers. Add output messages.
1045         (GCC_ENABLE_LONG_LONG): Change to --enable-long-long, no
1046         underscores (like the rest of the enable options.) Add output messages.
1047         * aclocal.m4: Regenerate.
1048         * configure: Regenerate.
1049         * configure.in: Touch.
1050         
1051 2000-05-17  Benjamin Kosnik  <bkoz@cygnus.com>
1053         * mkcheck.in: Enable shared library testing.
1055 2000-05-17  Nathan C. Myers  <ncm@cantrip.org>
1057         * bits/std_cmath.h: fix sqrt(float)
1059 2000-05-16  Loren J. Rittle  <ljrittle@acm.org>
1061         * bits/std_cassert.h: Use system_header pragma.
1062         * bits/std_cctype.h: Likewise.
1063         * bits/std_cerrno.h: Likewise.
1064         * bits/std_cfloat.h: Likewise.
1065         * bits/std_climits.h: Likewise.
1066         * bits/std_clocale.h: Likewise.
1067         * bits/std_cmath.h: Likewise.
1068         * bits/std_csetjmp.h: Likewise.
1069         * bits/std_csignal.h: Likewise.
1070         * bits/std_cstdarg.h: Likewise.
1071         * bits/std_cstddef.h: Likewise.
1072         * bits/std_cstdio.h: Likewise.
1073         * bits/std_cstdlib.h: Likewise.
1074         * bits/std_cstring.h: Likewise.
1075         * bits/std_ctime.h: Likewise.
1076         * bits/std_cwchar.h: Likewise.
1077         * bits/std_cwctype.h: Likewise.
1078         * bits/std_exception.h: Likewise.
1079         * bits/std_new.h: Likewise.
1080         * bits/std_typeinfo.h: Likewise.
1081         * shadow/bits/std_cassert.h: Likewise.
1082         * shadow/bits/std_cctype.h: Likewise.
1083         * shadow/bits/std_cerrno.h: Likewise.
1084         * shadow/bits/std_cfloat.h: Likewise.
1085         * shadow/bits/std_climits.h: Likewise.
1086         * shadow/bits/std_clocale.h: Likewise.
1087         * shadow/bits/std_cmath.h: Likewise.
1088         * shadow/bits/std_csetjmp.h: Likewise.
1089         * shadow/bits/std_csignal.h: Likewise.
1090         * shadow/bits/std_cstdarg.h: Likewise.
1091         * shadow/bits/std_cstddef.h: Likewise.
1092         * shadow/bits/std_cstdio.h: Likewise.
1093         * shadow/bits/std_cstdlib.h: Likewise.
1094         * shadow/bits/std_cstring.h: Likewise.
1095         * shadow/bits/std_ctime.h: Likewise.
1096         * shadow/bits/std_cwchar.h: Likewise.
1097         * shadow/bits/std_cwctype.h: Likewise.
1098         * shadow/bits/wrap_libio.h: Likewise.
1099         * shadow/bits/wrap_unistd.h: Likewise.
1100         * shadow/sys/cdefs.h: Likewise.
1102 2000-05-16  Nathan C. Myers  <ncm@cantrip.org>
1104         It appears that gcc-2.96 supports the keyword "and" now.
1105         * bits/std_ciso646.h: remove.
1106         * std/ciso646: gut.
1107         * testsuite/17_intro/header_ciso646.c: enable testing.
1108         * src/Makefile.am, src/Makefile.in: remove mention of
1109         bits/std_ciso646.h
1111 2000-05-16  Nathan C. Myers  <ncm@cantrip.org>
1112        
1113        * mkcshadow: fix typo s/_C_Swamp_/_C_Swamp/.
1115 2000-05-16  Phil Edwards  <pme@sourceware.cygnus.com>
1117         * acinclude.m4:  Fix typo, switch to decaf...
1118         * aclocal.m4:  Regenerate.
1119         * configure:  Regenerate.
1121 2000-05-16  Phil Edwards  <pme@sourceware.cygnus.com>
1123         * acinclude.m4 (GLIBCPP_ENABLE_SHADOW):  New macro, stub.
1124         * aclocal.m4:  Regenerate.
1125         * configure.in:  Call.
1126         * configure:  Regenerate.
1127         * docs/configopts.html:  Stub documentation.
1129 2000-05-14  Nathan Myers  <ncm@cantrip.org>
1131         * mkcshadow: build in more-correct directory, create cshadow/
1132         directory if needed, report progress.
1134 2000-05-14  LLeweLLyn Reese  <llewelly@dbritsch.dsl.xmission.com>
1136         * src/Makefile.am: Fix tr commands.
1137         * src/Makefile.am: Remove references to [w]stringCTORDUPAL.[lo,cc]
1138         * src/string-inst.cc: Remove extra instantiation of
1139           S::basic_string(S::size_type, C, S::allocator_type const&);
1140         * src/string-inst.cc: Remove extra template keyword.
1142 2000-05-14  Loren J. Rittle  <ljrittle@acm.org>
1144         * config/bsd/bits/ctype_base.h: Add support for plain BSD4.4.
1145         * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Enhance bsd tests.
1146         * aclocal.m4: Regenerate.
1147         * configure: Regenerate.
1148         * */Makefile.in: Regenerate.
1150 2000-05-11  Phil Edwards  <pme@sourceware.cygnus.com>
1152         * acinclude.m4:  Fix minor typo with ctypes, add more sanity to
1153           enable-cxx-flags, and remove GLIBCPP_ENABLE_NAMESPACES altogether.
1154         * aclocal.m4:  Regenerate.
1155         * configure.in:  Non-blank arguments break fewer Linuxes.
1156         * configure:  Regenerate.
1157         * src/Makefile.am:  Re-order AC_CXXFLAGS components.
1158         * src/Makefile.in:  Regenerate.
1160 2000-05-10  Benjamin Kosnik  <bkoz@redhat.com>
1162         * bits/std_cmath.h: Tweaks.
1163         * math/mathconf.h: Tweaks and fixes for HP-UX 11.
1164         (sqrtf): Define away iff !builtin and !in <math.h>. 
1165         (sinf): Same.
1166         (cosf): Same.
1167         (fabsf): Same.
1168         At some point this directory should be converted to c++, the
1169         autoconf tests should be run by the c++ compiler (not c), and
1170         <cmath> should be used instead of math.h.
1171         Move declaration of nan() here.
1172         * math/complex-stub.h (cabsl): Remove nan() declaration.
1174         Finish up FreeBSD4.0 support.
1175         * config/bsd/ctype.cc: Scope out toupper, tolower calls.
1176         * config/generic/ctype.cc: And here.
1177         * testsuite/21_strings/char_traits.cc (test02): Guard with
1178         _GLIBCPP_USE_WCHAR_T.
1180         via Phil Edwards  <pme@sourceware.cygnus.com>
1181         * bits/std_cctype.h: Remove _GLIBCPP_USE_NAMESPACES.
1182         * acconfig.h: And here.
1183         * acinclude.m4: Same.
1184         * testsuite/27_io/istream.cc: And here.
1185         * testsuite/27_io/ostream.cc: And here.
1187 2000-05-09  Benjamin Kosnik  <bkoz@gnu.org>
1189         * acinclude.m4 (GLIBCPP_CHECK_CPU): Change powerpc bits to
1190         -mcpu=powerpc.
1191         * src/Makefile.am: Disable ENABLE_CXX_FLAGS stuff for the moment.
1192         
1193         * config/generic/bits/ctype_specializations.h (ctype<char>::is):
1194         Make more generic.
1196         * config/bsd: New directory.
1197         * config/bsd/ctype.cc: New.
1198         * config/bsd/bits/ctype_base.h (ctype_base): New.
1199         * config/bsd/bits/ctype_specializations.h: New.
1200         * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Add bsd tests.
1201         
1202 2000-05-09  Phil Edwards  <pme@sourceware.cygnus.com>
1204         * acinclude.m4:  New macro, GLIBCPP_ENABLE_CXX_FLAGS.
1205         * configure.in:  Call.
1206         * src/Makefile.am:  Append results of macro to AC_CXXFLAGS.
1207         * aclocal.m4:  Regenerate.
1208         * configure:  Ditto.
1209         * src/Makefile.in:  Ditto.
1210         * docs/configopts.html:  Document.
1211         * docs/download.html:  Fix typo (close quote).
1212         * docs/footer.html:  Update.
1214 2000-05-09  Loren J. Rittle  <ljrittle@acm.org>
1216         * backward/iostream.h: Expose endl.  Guard wide types.
1217         * src/Makefile.am (headers): Update list to match files.
1218         * src/Makefile.in: Regenerate.
1220 2000-05-09  Vadim Egorov  <egorovv@mailandnews.com>
1221             Benjamin Kosnik  <bkoz@gnu.org>
1222             Nathan Myers  <ncm@cantrip.org>
1223             Dietmar Kuehl  <dietmar_kuehl@yahoo.com> 
1225         * bits/streambuf.tcc (basic_streambuf::xsgetn): Fix uflow case.
1226         (basic_streambuf::xsputn): Make consistent.
1227         * testsuite/27_io/filebuf.cc: Add tests.
1228         
1229 2000-05-08  Steven King  <sxking@uswest.net>
1231         * bits/char_traits.h: Use wchar_t utility functions for
1232         char_traits<wchar_t> methods.
1233         * testsuite/21_string/char_traits.cc: New (test02): test
1234         char_traits<wchar_t>
1236 2000-05-08  Benjamin Kosnik  <bkoz@cygnus.com>
1238         * acinclude.m4 (GLIBCPP_CXXFLAGS): Add bits for solaris2.8.
1240         * bits/fstream.tcc (filebuf::_M_init_filebuf): Don't set
1241         _M_buf_size based on macro, instead use _M_buf_size_opt.
1242         * bits/std_streambuf.h (basic_streambuf): Add _M_buf_size_opt.
1243         (basic_streambuf()): Set _M_buf_size_opt.
1244         * testsuite/27_io/filebuf.cc (filebuf): Use _M_buf_size_opt
1245         instead of _M_buf_size.
1247 2000-05-04  Branko Cibej  <branko.cibej@hermes.si>
1249         * src/complex_io.cc: Don't instantiate inserters and extractors
1250         for wide-character streams unless _GLIBCPP_USE_WCHAR_T is defined.
1252 2000-05-03  Phil Edwards  <pme@sourceware.cygnus.com>
1253             Felix Natter <fnatter@gmx.net>
1255         * docs/footer.html:  Update to see if it takes effect.
1256         * docs/thanks.html:  More people.
1257         * docs/17_intro/headers_cc.txt:  Copy from testsuite, since that can't
1258           be seen from the web pages.  Rename for browser-friendliness...
1259         * docs/17_intro/howto.html:  ...and update here.
1260         * docs/17_intro/porting-howto.html:  Changes from Felix.
1261         * docs/gccrebuild.html:  Mention v3->egcs move.
1262         * docs/faq/index.html:  Ditto.  Also misc tweaks and URL updates.
1263         * docs/faq/index.txt:  Regenerate.
1265 2000-05-01  Benjamin Kosnik  <bkoz@redhat.com>
1267         * config/cpu/powerpc/bits/atomicity.h (__exchange_and_add): More
1268         fixes.
1270 2000-05-01  Vadim Egorov  <egorovv@@mailandnews.com>
1272         * bits/char_traits.h: Fix parameter types.
1273         * bits/string.tcc: Avoid traits_type::move.
1275 2000-05-01  Benjamin Kosnik  <bkoz@haight.constant.com>
1277         * src/Makefile.am (AC_CXXFLAGS): Add CPUFLAGS here.
1278         * src/Makefile.in: Regenerate.
1279         * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): Revert.
1281 2000-04-30  Steven King <sxking@uswest.net>
1283         * bits/locale_facets.h: Fix syntax  error.
1284         * bits/std_fstream.h: ditto
1286 2000-04-30  Benjamin Kosnik  <bkoz@gnu.org>
1288         * config/cpu/powerpc/bits/atomicity.h (__compare_and_swap): Fix typo.
1290         * mknumeric_limits (trait_name): Fix copyright notice.
1291         * src/gen-num-limits.cc: Explicitly instantiate epsilon and
1292         round_error data members of struct value. This works around
1293         weak-linking issues on AIX, HPUX.
1295 2000-04-29  Phil Edwards  <pme@sourceware.cygnus.com>
1297         * docs/download.html:  Add link to list of mirror sites.
1299 2000-04-28  Loren J. Rittle  <ljrittle@acm.org>
1301         * mkcheck.in: Rely on exit status instead of the presence of a
1302         core file.  Added comments on how/where to save core and exe
1303         files.  Move shell wildcards outside quotes and fix core path.
1304         
1305 2000-04-27  scott snyder  <snyder@fnal.gov>
1307         * src/misc-inst.cc: Explicitly instantiate ifstream and ofstream
1308         classes.
1310 2000-04-26  Nathan C. Myers  <ncm@cantrip.org>
1312         * bits/basic_string.h: include <bits/atomicity.h> instead
1313         of <atomicity.h>, and use the uglified names.
1314         * config/cpu/*/atomicity.h: replace with bits/atomicity.h;
1315         uglify names, eliminate dependence on <inttypes.h>.
1316         * src/Makefile.in, src/Makefile.am: refer to correct place
1317         for atomicity.h header.
1319 2000-04-25 Steven King <sxking@uswest.net>
1321         * bits/basic_string.h: Fix syntax error.
1323 2000-04-25  Benjamin Kosnik  <bkoz@redhat.com>
1325         * acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Improve checks for
1326         USE_LONG_DOUBLE.
1327         (GLIBCPP_ENABLE_DEBUG): If alpha, use -gdwarf-2.
1328         * math/Makefile.am (EXTRA_LONG_DOUBLE_yes): Add all the long
1329         versions to this as copysignl is needed anyway for these targets.
1330         * math/Makefile.in: Regenerate.
1331         
1332         * bits/streambuf.tcc (streambuf::xsgetn): Tweak.
1333         * bits/fstream.tcc (underflow): Cast to libio types.
1334         * bits/basic_file.h (seekoff): Fixes for alpha: use __c_streamoff.
1335         * config/c_io_libio.cc (seekoff): And here.
1336         
1337 2000-04-24  Loren J. Rittle  <ljrittle@acm.org>
1339         * mkcheck.in: Report compiler version used for test.  Find
1340         the built _G_config.h instead of any old installed version.
1342 2000-04-24  Loren J. Rittle  <ljrittle@acm.org>
1344         * config/generic/ctype.cc (do_toupper): Remove dependence on
1345         non-portable/non-existent lookup table.
1346         (do_tolower): Same.
1347         
1348 2000-04-24  Nathan Myers  <ncm@cantrip.org>
1350         * src/string-inst.cc: More fixing.
1352 2000-04-24  Benjamin Kosnik  <bkoz@gnu.org>
1354         * bits/stl_iterator.h: Pedantic fixing.
1355         * bits/std_sstream.h: And here.
1356         * bits/string.tcc: And here.
1358 2000-04-24  Felix Natter <fnatter@gmx.net> 
1360         * docs/17_intro/howto.html: Add bits.
1361         * docs/17_intro/porting-howto.html: New file.
1362         
1363 2000-04-24  Branko Cibej  <branko.cibej@hermes.si>
1365         * acinclude.m4(GLIBCPP_CHECK_WCHAR_T_SUPPORT): Expand
1366         @libinst_wstring_la@ to libinst-wstring.la when specializing for
1367         wchar_t, to empty string otherwise.
1368         * src/Makefile.am: (EXTRA_LTLIBRARIES): New.
1369         (sources): Remove $(string_sources) and $(wstring_sources).
1370         (libstdc___la_LIBADD): Add libinst-string.la and @libinst_wstring_la@.
1371         (libstdc___la_DEPENDENCIES): New.
1372         (libinst_string_la_SOURCES, libinst_wstring_la_SOURCES): New.
1374 2000-04-20  Benjamin Kosnik  <bkoz@redhat.com>
1376         * bits/std_sstream.h: Tweak formatting.
1377         * bits/std_fstream.h: Make types public.
1379         * testsuite/27_io/streambuf.cc: Fix for alpha.
1381         Brad Garcia <bgarcia@laurelnetworks.com>
1382         * bits/locale_facets.h (numpunct::numpunct(size_t)): Fix bool
1383         initialization.
1384         * testsuite/27_io/ios_manip_fmtflags.cc (test02): Add test for
1385         bool formatting.
1386         
1387 2000-04-19  Nathan Myers  <ncm@cantrip.org>
1389         * src/string-inst: consolidate _S_create,
1390         destroy, leak, clone members into stringMAIN and stringMUTATE
1391         object files.
1392         * src/Makefile.am: Above, and eliminate dependence on
1393         wstring-inst.cc.
1394         * src/wstring-inst.cc: Remove.
1396 2000-04-18  Benjamin Kosnik  <bkoz@redhat.com>
1398         * src/Makefile.am (AC_CXXFLAGS): Activate debugging code, again.
1399         Add flags for specialized rules dealing with instantiations.
1400         
1401         * src/string-inst.cc: Add instantiations missing from shared
1402         libraries--see stringEQ, stringCONSC.
1403         * src/Makefile.am (wstring_sources): Add.
1404         (string_sources): Same.
1405         * src/Makefile.in: Regenerate.
1406         
1407         * stl/*: Integrate contents of this directory into top-level
1408         directories.
1409         * ext/bvector hash_map hash_set rope ropeimpl.h slist
1410         stl_bvector.h stl_hash_fun.h stl_hashtable.h stl_rope.h tree: Add.
1411         * bits/pthread_allocimpl.h std_algorithm.h std_bitset.h
1412         std_deque.h std_functional.h std_iterator.h std_list.h std_map.h
1413         std_memory.h std_numeric.h std_queue.h std_set.h std_stack.h
1414         std_stdexcept.h std_strstream.h std_utility.h std_vector.h
1415         stl_algo.h stl_algobase.h stl_alloc.h stl_config.h stl_construct.h
1416         stl_deque.h stl_function.h stl_heap.h stl_iterator.h
1417         stl_iterator_base.h stl_list.h stl_map.h stl_multimap.h
1418         stl_multiset.h stl_numeric.h stl_pair.h stl_pthread_alloc.h
1419         stl_queue.h stl_range_errors.h stl_raw_storage_iter.h stl_relops.h
1420         stl_set.h stl_stack.h stl_string_fwd.h stl_tempbuf.h stl_threads.h
1421         stl_tree.h stl_uninitialized.h stl_vector.h type_traits.h: Add.
1422         * backward/algo.h algobase.h alloc.h bvector.h defalloc.h deque.h
1423         function.h hash_map.h hash_set.h hashtable.h heap.h iterator.h
1424         list.h map.h multimap.h multiset.h pair.h rope.h set.h slist.h
1425         stack.h tempbuf.h tree.h vector.h: Add.
1426         * README (file): Update.
1427         * docs/documentation.html: README not being found.
1428         * src/Makefile.am (sources): Take out stl directory.
1429         * mkcheck.in (SRC_DIR): And here.
1430         * src/Makefile.in: Regenerate.
1431         
1432 2000-04-18  Levente Farkas  <lfarkas@mindmaker.hu>
1434         * stl/bits/stl_function.h: Add bits so that const and non-const
1435         both work.
1436         
1437 2000-04-18  scott snyder  <snyder@fnal.gov>
1439         * stl/bits/stl_map.h (class map): Fix default for _Alloc template
1440         parameter.  Get rid of use of __STL_DEFAULT_ALLOCATOR and
1441         __STL_LIMITED_DEFAULT_TEMPLATES macros.
1442         * stl/bits/stl_multimap.h (class multimap): Likewise.  Get rid of
1443         use of __STL_DEPENDENT_DEFAULT_TMPL macro.
1445 2000-04-18  scott snyder  <snyder@fnal.gov>
1447         * stl/bits/stl_config.h (__STL_DEPENDENT_DEFAULT_TMPL): Deleted
1448         this macro.
1450         * stl/ext/hash_map (class hash_map, class hash_multimap): Get rid
1451         of use of __STL_DEPENDENT_DEFAULT_TMPL macro.
1452         * stl/ext/hash_set (class hash_set, class hash_multiset):
1453         Likewise.
1454         * stl/bits/stl_function.h (struct constant_unary_fun, struct
1455         constant_binary_fun): Likewise.
1456         * stl/bits/stl_queue.h (class queue, class priority_queue): Likewise.
1457         * stl/bits/stl_stack.h (class stack): Likewise.
1458         * stl/bits/stl_set.h (class set): Likewise.
1459         * stl/bits/stl_multiset.h (class multiset): Likewise.
1461         * stl/bits/stl_iterator.h (class reverse_bidirectional_iterator,
1462         class reverse_iterator): Get rid of use of
1463         __STL_LIMITED_DEFAULT_TEMPLATES macro.
1465         * stl/bits/stl_config.h (__STL_DEFAULT_ALLOCATOR): Deleted this
1466         macro.
1468         * stl/bits/stl_deque.h (class deque): Get rid of use of
1469         __STL_DEFAULT_ALLOCATOR macro.
1470         * stl/bits/stl_list.h (class list): Likewise.
1471         * stl/bits/stl_multiset.h (class multiset): Likewise.
1472         * stl/bits/stl_set.h (class set): Likewise.
1473         * stl/bits/stl_string_fwd.h (class basic_string): Likewise.
1474         * stl/bits/stl_tree.h (class _Rb_tree, class rb_tree): Likewise.
1475         * stl/bits/stl_vector.h (class vector): Likewise.
1476         * stl/ext/ropeimpl.h (rotate): Likewise.
1477         * stl/ext/hash_map (class hash_map, class hash_multimap):
1478         Likewise.
1479         * stl/ext/hash_set (class hash_set, class hash_multiset):
1480         Likewise.
1481         * stl/ext/slist (class slist): Likewise.
1482         * stl/ext/stl_bvector.h (class bit_vector): Likewise.
1483         * stl/ext/stl_rope.h (class rope): Likewise.
1484         * src/locale.cc (_Impl): Likewise.
1485         * src/localename.cc (_Impl): Likewise.
1486         * bits/localefwd.h (_Impl): Likewise.
1488 2000-04-18  Phil Edwards  <pme@sourceware.cygnus.com>
1490         * docs/install.html:  Cleanup, minor changes.
1491         * docs/17_intro/howto.html:  Ditto.
1493 2000-04-18  Nathan Myers  <ncm@cantrip.org>
1495         * bits/basic_string.h: Remove "inline" from member _S_find.
1496         
1497         * src/string-inst.cc: Rewrite to reflect non-inline template
1498         instantiations in string.tcc.
1499         
1500         * src/stringADDCS.cc, stringADDPS.cc, stringADDSC.cc, stringADDSP.cc,
1501         stringADDSS.cc, stringBIST.cc, stringBOST.cc, stringCHTR.cc,
1502         stringEQPS.cc, stringEQSP.cc, stringEQSS.cc, stringEXTRA.cc,
1503         stringGEPS.cc, stringGESP.cc, stringGESS.cc, stringGETLI.cc,
1504         stringGTPS.cc, stringGTPS.cc, stringGTSP.cc, stringGTSS.cc,
1505         stringINSER.cc, stringLEPS.cc, stringLESP.cc, stringLESS.cc,
1506         stringLESP.cc, stringLTPS.cc, stringLTPS.cc, stringLTSP.cc,
1507         stringLTSS.cc, stringMAIN.cc, stringNEPS.cc, stringNESP.cc,
1508         stringNESS.cc, stringSCOPY.cc: Remove.
1509         * src/wstringADDCS.cc, etc: Remove.
1511         Benjamin Kosnik  <bkoz@haight.constant.com>
1512         * src/Makefile.am: Modify to reflect above.
1513         * src/Makefile.in: Regenerate.
1514         
1515 2000-04-17  Benjamin Kosnik  <bkoz@cygnus.com>
1517         * docs/install.html (--enable-libstdcxx-v3): Clean up install docs.
1519 2000-04-13  Benjamin Kosnik  <bkoz@haight.cygnus.com>
1521         * bits/std_fstream.h (filebuf::sync): Need to use the abstracted
1522         io interface here instead of the libio particulars.
1524         * config/threads-posix.h: Consistency with stl_config.h.
1526         * mkcheck.in (CXX_FLAG): Add DDEBUG_ASSERT back in.
1527         
1528 2000-04-13  Loren J. Rittle  <ljrittle@acm.org>
1530         * mknumeric_limits: Rename generic type template parameter name
1531         '_T' to '_Tp'.
1532         * stl/bits/type_traits.h: Ditto.
1534 2000-04-06  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1536         * mkcheck.in (SRC_DIR): Change default mkcheck behavior, so that
1537         it is more useful for --enable-libstdcxx-v3. Use the built
1538         compilers with v3, instead of compilers in PATH, and don't
1539         re-include include directories for checking the install.
1541 2000-04-05  Benjamin Kosnik  <bkoz@cygnus.com>
1543         * src/Makefile.am (AM_CXXFLAGS): Disable NAMESPACES, as this is on
1544         by default when using --enable-libstdcxx-v3.
1545         * src/Makefile.in: Regenerate.
1546         * configure.in: Disable GLIBCPP_ENABLE_NAMESPACES,
1547         GLIBCPP_ENABLE_RELIBGCC for --enable-libstdcxx-v3 flag.
1548         * configure: Regenerate.
1549         * mkcheck.in: Deal with NAMESPACES.
1550         
1551 2000-04-05  Petter Urkedal  <petter@matfys.lth.se>
1553         * src/cmath.cc: New file...
1554         (pow(*, int)): Define functions...
1555         * src/Makefile.am (sources): ...register file.
1556         * src/Makefile.in: Regenerate.
1557         * bits/std_cmath.h (pow): ...declare functions here, and remove
1558         old definitions.
1560 2000-04-04  Benjamin Kosnik  <bkoz@redhat.com>
1561         
1562         * acinclude.m4 (GCC_OBJDIR): Tweaks
1564 2000-04-03  Benjamin Kosnik  <bkoz@redhat.com>
1565         
1566         * acinclude.m4 (GLIBCPP_CHECK_CPU): Add arm configure bits.
1567         * config/cpu/arm: New directory.
1569         Jesper Skov  <jskov@redhat.com>
1570         * config/cpu/arm/atomicity.h: New file.
1571         
1572 2000-03-31  Benjamin Kosnik  <bkoz@redhat.com>
1574         * stl/bits/stl_config.h: Make _STL_THREADS depend on _REENTRANT.
1575         Remove unused bits. Clean.
1576         
1577 2000-03-29  Benjamin Kosnik  <bkoz@cygnus.com>
1579         * testsuite/25_algorithms: New directory.
1580         * testsuite/25_algorithms/min_max.cc: New file.
1582 2000-03-29  scott snyder  <snyder@fnal.gov>
1584         * bits/locale_facets.tcc (do_put): Allow a couple extra digits of
1585         precision beyond that which we get from numeric_limits::digits10.
1587         * stl/bits/stl_algobase.h (max, min): Don't use comparison
1588         operator.
1590         * testsuite/23_containers/bitset_shift.cc: Fix.
1592         * testsuite/27_io/ios_manip_fmtflags.cc (test01): Don't give a
1593         temporary to imbue().
1595         * bits/std_fstream.h (sync): Resync libio's idea of the current
1596         file position with the external file.
1598 2000-03-28  Benjamin Kosnik  <bkoz@cygnus.com>
1600         * testsuite/27_io/istream_extractor_arith.cc.cvs: Fix merge
1601         mistake.
1603         * bits/std_fstream.h (filebuf::is_open): Check for _M_file before
1604         attempting calls to it. 
1605         * bits/fstream.tcc (ctors): Don't call _M_init_filebuf in
1606         ctors. Instead, call _M_init_filebuf ...
1607         (open): Here, as suggested by 27.8.1.3. 
1608         * src/ios.cc (ios_base::Init::Init()): Clean up default filebufs
1609         properly when initializing cout/cin/cerr.
1611 2000-03-27  Russell Davidson  <russell@ehess.cnrs-mrs.fr>
1613         * testsuite/23_containers/multiset.cc (main): Clean up for namespaces.
1614         * testsuite/22_locale/ctype_char_members.cc: And here.
1615         * testsuite/27_io/streambuf.cc (streambuf): And here.
1616         * testsuite/27_io/ostream_inserter_char.cc (test06): And here.
1617         * testsuite/27_io/istream_unformatted.cc (test05): And here.
1618         * testsuite/27_io/istream_extractor_arith.cc: And here.
1619         * testsuite/27_io/ios_manip_basefield.cc (test02): And here.
1620         * testsuite/27_io/ios_base_members_static.cc: And here.
1621         * bits/std_climits.h (_CPP_CLIMITS): Fix typo.
1623 2000-03-27  Chris Faylor  <cgf@cygnus.com>
1624         
1625         * configure.in: Remove setting of CXX if canadian cross.
1626         * configure: Regenerate.
1628 2000-03-27  Nathan Myers  <ncm@zembu.com>
1630         * bits/sstream.tcc: Optimize.
1631         * bits/basic_string.h(string::append): Don't inline.
1632         * bits/string.tcc: Move out-of-line.
1633         
1634 2000-03-27  Phil Edwards  <pme@sourceware.cygnus.com>
1636         * acinclude.m4:  (GLIBCPP_CHECK_COMPILER_VERSION)  When using <2.96,
1637           define WERRORSUPPRESS so that the inlining warnings won't kill us.
1638         * aclocal.m4:  Regenerate.
1639         * configure:  Regenerate.
1640         * src/Makefile.am:  Use WERRORSUPPRESS for the files that need it.
1641         * src/Makefile.in:  Regenerate.
1643         * docs/install.html:  Almost complete rewrite.
1645 2000-03-25  Phil Edwards  <pme@sourceware.cygnus.com>
1647         * docs/install.html:  Explain -Werror problem at "#Werror" mark.
1648         * docs/faq/index.html:  Testsuite will die horribly if new libgcc.a
1649           not installed.
1650         * docs/faq/index.txt:  Regenerate.
1652 2000-03-24  Alexandre Oliva  <oliva@lsd.ic.unicamp.br> 
1654         * src/Makefile.am (libio_headers_install): Fix.
1655         * src/Makefile.in: Regenerate.
1656         
1657 2000-03-24  Benjamin Kosnik  <bkoz@cygnus.com>
1659         * docs/17_intro/RELEASE-NOTES: Fix typos.
1660         * docs/index.html: Update.
1661         * docs/17_intro/BUGS: Update.
1662         * docs/status.html: Update for 2.90.8 release.
1664 2000-03-23  Phil Edwards  <pme@sourceware.cygnus.com>
1666         * Makefile.am:  Better error message when missing libgcc2.ready.
1667         * Makefile.in:  Regenerate.
1668         * acinclude.m4:  Fastidious nitpicking reformatting.
1669         * aclocal.m4:  Regenerate.
1670         * configure:  Regenerate.
1671         * mkcheck.in:  Must use same namespace settings as the library being
1672           tested.  Also log ST_FLAG, since it's being passed.
1673         * docs/install.html:  Add brief chunk on configuration.
1674         * docs/17_intro/RELEASE-NOTES:  Fix minor Cygwin typo.
1675         * docs/23_containers/howto.html:  Mention MT-safe string.
1676         * docs/faq/index.html:  Minor updates.
1677         * docs/faq/index.txt:  Regerarate.
1679 2000-03-22  Benjamin Kosnik  <bkoz@cygnus.com>
1681         * bits/sstream.tcc (seekoff): Fix for gptr() null cases.
1682         Return newoff. 
1683         * bits/fstream.tcc (seekoff): Sync.
1684         (seekpos): Sync.
1685         * testsuite/27_io/ostream_unformatted.cc: New file.
1686         * testsuite/27_io/stringbuf.cc: Fix.
1687         * testsuite/27_io/istream_unformatted.cc (test04): Fix.
1688         
1689         * config/newlib/bits/ctype_base.h (ctype_base): Fix.
1690         * config/newlib/ctype.cc (ctype): Change __ctype -> _ctype_.
1692         * src/complex_io.cc (operator>>complex): Tweak.
1694         * config/cpu/alpha/atomicity.h: Explicitly typedef uint32_t, int32_t if
1695         <inttypes.h> does not exist.
1696         * config/cpu/sparc/sparc64/atomicity.h: Same.
1697         * config/cpu/sparc/sparc32/atomicity.h: Same.
1698         * config/cpu/powerpc/atomicity.h: Same.
1699         * config/cpu/i386/atomicity.h: Same.
1700         * config/cpu/generic/atomicity.h: Same.
1701         * configure.in: Check for inttypes.h.
1702         * configure: Regnerate.
1704 2000-03-21  Benjamin Kosnik  <bkoz@cygnus.com>
1706         * bits/std_sstream.h (_M_init_stringbuf): Set initial ate position
1707         correctly.
1708         * testsuite/27_io/ostream_inserter_char.cc (test06): Add tests for ate.
1710         * docs/17_intro/RELEASE-NOTES (New): Add bits.
1712         * configure.in: Move AC_CHECK_HEADERS to a point where we know we
1713         are compiling natively.
1715         * libio/*: Update to CVS libio from egcs.
1716         
1717 2000-03-21  Phil Edwards  <pme@sourceware.cygnus.com>
1719         * docs/download.html:  Document use of -z9 for CVS.
1720         * docs/index.html:  Add target date (no link) for future snapshot.
1722 2000-03-21  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1724         * bits/slice_array.h: Rename generic type template parameter name
1725         '_T' to '_Tp'. 
1726         * bits/mask_array.h: Ditto
1728 2000-03-20  Benjamin Kosnik  <bkoz@cygnus.com>  
1730         * *: Change copyright holder from "Cygnus Solutions" to "Free
1731         Software Foundation, Inc."
1732         
1733         * docs/configopts.html: Explain what "hella versions" means.
1734         * docs/install.html: Some tweaks--nice job on this Phil.
1735         * docs/documentation.html: Add a direct link to configuration options.
1737         * src/Makefile.am (OPTIMIZE_CXXFLAGS): Add in extras.
1738         * docs/17_intro/RELEASE-NOTES (New): Add.
1739         * bits/c++config.h (__GLIBCPP__): Bump version.
1741         * config/c_io_libio.cc (__basic__file(__c_lock*)): Change argument
1742         type to match prototype.
1744 2000-03-20  Phil Edwards  <pme@sourceware.cygnus.com>
1746         * docs/install.html:  Update for new funky build procedure.  Move
1747           description of 'configure' options to...
1748         * docs/configopts.html:  ...here.  New file.
1749         * docs/17_intro/howto.html:  Updates for new snapshot.
1750         * docs/20_util/howto.html:  Ditto.
1751         * docs/21_strings/howto.html:  Ditto.
1752         * docs/21_strings/stringtok_std_h.txt:  Fix example typos.
1753         * docs/22_locale/howto.html:  Ditto.
1754         * docs/23_containers/howto.html:  Ditto.
1755         * docs/faq/index.html:  Ditto.
1757 2000-03-18  Petter Urkedal  <petter@matfys.lth.se>
1758             Benjamin Kosnik  <bkoz@gnu.org>
1759         
1760         * acinclude.m4 (GLIBCPP_CHECK_COMPLEX_SUPPORT): Move code for main
1761         to the right place.
1762         * aclocal.m4: Regenerate.
1763         * configure: Regenerate.
1765 2000-03-16  Benjamin Kosnik  <bkoz@cygnus.com>
1766             scott snyder  <sss@karma.fnal.gov>
1767         
1768         * config/c_io_libio.h: Add __c_lock.
1769         * config/threads-no.h: Same here.
1770         * config/threads-posix.h: Add __mutext_type typedef.
1771         * config/c_io_libio.cc: basic_file ctor takes lock arg. 
1772         * bits/basic_file.h: Ctor takes lock arg. 
1773         * bits/std_fstream.h: Add _M_lock.
1774         * bits/fstream.tcc: Supply it to basic_file ctor.
1776         * mkcheck.in (resultstext): Change [[ to [.
1778         * testsuite/27_io/ostream_inserter_char.cc (test06): Tweak.
1780         * bits/locale_facets.h: Tweak.  
1782         * stl/bits/stl_config.h: Fix defines.
1783         
1784 2000-03-16  Benjamin Kosnik  <bkoz@cygnus.com>
1786         * mkcheck.in (INC_PATH): Add paths from cpu_include_dir to find
1787         atomicity.h
1788         * configure: Regenerate.
1789         * aclocal.m4: Regnerate.
1790         
1791 2000-03-16  Nathan Myers  <ncm@zembu.com>
1793         * bits/string.tcc: Add MT support.
1794         * bits/basic_string.h: Same.
1795         
1796 2000-03-16  Phil Edwards  <pme@sourceware.cygnus.com>
1798         * configure.in:  Make --enable-namespaces and -libgcc-rebuild=../..
1799           the defaults.
1800         * configure:  Regenerate.
1802         * config/solaris/solaris2.7/ctype.cc:  Fix unsigned/signed comparison.
1804 2000-03-16  Phil Edwards  <pme@sourceware.cygnus.com>
1806         * acinclude.m4 (GLIBCPP_CHECK_CTYPE):  If Sol2.5 ctype is found, keep
1807           checking for 2.[67].  (GLIBCPP_ENABLE_RELIBGCC):  No longer ignore
1808           any defaults passed in.
1809         * aclocal.m4:  Regenerate.
1811 2000-03-16  Phil Edwards  <pme@sourceware.cygnus.com>
1813         * mkcheck.in:  Report total successes and failures.
1815 2000-03-15  Benjamin Kosnik  <bkoz@cygnus.com>
1817         * config/cpu: New directory, intended to be used to provide
1818         cpu-specific configuration files. In particular, assembly language
1819         primitives for thread safety.
1820         * config/cpu/alpha: Populate.
1821         * config/cpu/alpha/atomicity.h: New file.
1822         * config/cpu/arm: Populate.
1823         * config/cpu/generic: Populate.
1824         * config/cpu/generic/atomicity.h: New file.
1825         * config/cpu/hppa: Populate.
1826         * config/cpu/i386: Populate.
1827         * config/cpu/i386/atomicity.h: New file, take from i486.
1828         * config/cpu/m68k: Populate.
1829         * config/cpu/mips: Populate.
1830         * config/cpu/powerpc: Populate.
1831         * config/cpu/powerpc/atomicity.h: New file.
1832         * config/cpu/sparc: Populate.
1833         * config/cpu/sparc/sparc32: Populate.
1834         * config/cpu/sparc/sparc64: Populate.
1835         * config/cpu/sparc/sparc32/atomicity.h: New file.
1836         * config/cpu/sparc/sparc64/atomicity.h: New file.       
1838         * src/Makefile.am (myinstallheaders): Add install routines.
1839         * acinclude.m4 (GLIBCPP_CHECK_CPU):Add configuration for the
1840         cpu dir.
1841         * configure.in: Add.
1843         * config/default: Adopt glibc naming conventions, and so move to
1844         * config/generic: Here.
1845         * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Modify default case to generic.
1846         
1847 2000-03-15  Bill Thompson  <billt@toast.net>
1849         * testsuite/27_io/ostream_inserter_char.cc (test06): Add test.
1851 2000-03-14  Phil Edwards  <pme@sourceware.cygnus.com>
1853         * docs/17_intro/howto.html:  Add missing "TOC" entry, and new section.
1855         * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Fixup.
1856         * aclocal.m4: Regenerate.
1857         * configure: Regenerate.
1859 2000-03-13  scott snyder  <snyder@fnal.gov>
1860             Jason Merrill  <jason@cygnus.com>
1861         
1862         * bits/locale_facets.h (class ctype, class ctype<char>, class
1863         ctype<wchar_t>): More mask fixes.
1864         * testsuite/22_locale/ctype.cc: Test for the problem.
1866 2000-03-13  Benjamin Kosnik  <bkoz@cygnus.com>
1868         * acconfig.h: Add bits.
1869         * configure.in: Move AM_PROG_LIBTOOL up in file.
1870         Tweak cross compiling info. 
1871         * configure: Regenerate.
1873         * mknumeric_limits (XCOMPILE): Echo compilation line for
1874         gen-num-limits.cc
1876         * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Add aix checks.
1877         * aclocal.m4: Regenerate.
1878         * configure: Regenerate.
1879         * config/aix/ctype.cc (ctype): Tweak.
1880         * config/aix/bits/ctype_base.h (ctype_base): Tweak.
1881         * config/aix/bits/ctype_specializations.h: New file.
1883 2000-03-10  scott snyder  <snyder@fnal.gov>
1885         * stl/bits/stl_vector.h (_M_assign_aux): Fix for __normal_iterator 
1886         conversions.
1887         * testsuite/23_containers/vector_modifiers.cc (test01): Add a
1888         regression test for the problem.
1890 2000-03-09  Benjamin Kosnik  <bkoz@fidel.cygnus.com>
1891         
1892         * testsuite/27_io/streambuf.cc (class testbuf): Same here.      
1893         * bits/fpos.h: And here.
1894         * bits/std_ostream.h: Same here.
1895         * bits/std_istream.h: Same here.
1896         * bits/basic_ios.h: Same here.
1897         * bits/std_fstream.h: Same here.
1898         * bits/sbuf_iter.h (std): Here too.
1899         * bits/std_sstream.h: Make types public.
1901         * src/misc-inst.cc: Use size_t instead of unsigned int. 
1902         * bits/locale_facets.tcc (_S_format): For now, cast to char. I
1903         suppose this should be ctype::narrow... all the ctype<wchar_t>
1904         stuff needs to be cleaned up.
1906 2000-03-09  Phil Edwards  <pme@sourceware.cygnus.com>
1908         * docs/gentop:  Remove entire directory, finally.
1910 2000-03-09  scott snyder  <snyder@fnal.gov>
1912         * bits/std_cmath.h (modf): Fix pointer overrun.
1913         * testsuite/26_numerics/c_math.cc (test04, main): Add a regression 
1914         test for the problem.
1916 2000-03-09  Phil Edwards  <pme@sourceware.cygnus.com>
1918         Looks like changes to the #include'd files must be followed by a
1919         change to the #include'ing files to take effect.  Caveat emptor.
1920         * docs/header.html:  New file, for server-side include.
1921         * docs/footer.html:  New file, for server-side include.
1922         * docs/documentation.html:  Change to use SSI.
1923         * docs/download.html:  Ditto.
1924         * docs/index.html:  Ditto.
1925         * docs/mail.html:  Ditto.
1926         * docs/status.html:  Ditto.
1927         * docs/thanks.html:  Ditto, plus minor updates.
1928         * docs/how.html:  Remove.
1930 2000-03-09  Benjamin Kosnik  <bkoz@gnu.org>
1932         Preliminary alpha-linux support.
1933         * src/locale.cc (ctype<wchar_t>): Use correct types...
1934         * bits/locale_facets.h (ctype<char>): Add __table_type typedef.
1935         (ctype<wchar_t>): Same.
1936         * bits/locale_facets.h (ctype<wchar_t>): Have char and wchar_t
1937         types match for table_size (size_t).
1939         * config/gnu-linux/ctype.cc (ctype): Change char_type to wchar_t
1940         as per char specialization.
1941         * config/*/ctype.cc: Same.
1942         
1943 2000-03-09  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1945         * bits/locale_facets.h (_Ctype<>::mask): Import from base class
1946         _Ctype_nois<>.  Template base classes are never examinated in
1947         first-phase name-lookup. 
1949 2000-03-08  Benjamin Kosnik  <bkoz@gnu.org>
1951         Add Solaris 2.5.1 support.
1952         * config/solaris/solaris2.5/bits/ctype_base.h (ctype_base): And here.
1953         * config/solaris/solaris2.5/ctype.cc: Fixup.
1954         * config/solaris/solaris2.5/bits/ctype_specializations.h: Add.
1955         * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Add bits for solaris2.5.1.
1956         * aclocal.m4: Regenerate.
1957         * configure: Regenerate.
1958         
1959         * config/default/ctype.cc (ctype): Fixup.
1961 2000-03-07  Benjamin Kosnik  <bkoz@blues.cygnus.com>
1963         * testsuite/27_io/filebuf.cc: Activate init code from yesterday...
1964         * testsuite/27_io/ostream_inserter_arith.cc (testcases): Fix for
1965         non-wchar_t case.
1967 2000-03-07  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1969         * bits/cpp_type_traits.h: Expand on this file purpose.
1971 2000-03-06  Benjamin Kosnik  <bkoz@gnu.org>
1973         * bits/locale_facets.h (ctype<char>): Remove static members, and
1974         re-work initialization code.
1975         (ctype<wchar_t>): Same.
1976         Move _S_touppper to _M_toupper and initialize in ctor.
1977         Move _S_tolower  to _M_tolower and initialize in ctor.  
1978         Move _S_table to _M_ctable and intialize in ctor.
1979         * bits/locale_facets.h (std): And here.
1980         * src/locale.cc (std): Tweak.
1981         * config/gnu-linux/ctype.cc: Change initialization here.
1982         * config/newlib/ctype.cc: And here.
1983         * config/solaris/solaris2.7/ctype.cc: And here.
1984         * config/solaris/solaris2.6/ctype.cc: And here.
1985         
1986         * bits/localefwd.h: Tweak.
1987         * bits/std_streambuf.h: Tweak formatting.
1989         * testsuite/27_io/filebuf.cc: Remove BUFSIZ dependancies.
1991 2000-03-05  Chip Salzenberg  <chip@valinux.com>
1993         * src/misc-inst.cc (basic_iostream<>):  Instantiate.
1995 2000-03-02  Phil Edwards  <pme@sourceware.cygnus.com>
1996             Kevin Atkinson  <kevinatk@home.com> 
1998         Initial grab of SGI's strstream implementation with minor
1999         modifications.
2000         * src/strstream.cc:  New file.
2001         * std/strstream:  New file.
2002         * stl/bits/std_strstream.h:  New file.
2003         * bits/std_streambuf.h:  Add public access.
2004         * src/Makefile.am:  Add strstream sources to list of dependancies.
2005         * src/Makefile.in:  Regenerate.
2007 2000-03-03 2000  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2009         * bits/valarray_meta.h: Fix typo.
2010         
2011 2000-03-02  Alexandre Oliva  <oliva@lsd.ic.unicamp.br> 
2012             Chip Salzenberg  <chip@valinux.com>
2013             Petter Urkedal  <petter@matfys.lth.se>
2015         * src/Makefile.am (myinstallheaders): Hack to avoid
2016         `for i in ; do'.
2017         * src/Makefile.in: Regenerate.
2018         
2019 2000-03-02  Chip Salzenberg  <chip@valinux.com>
2021         * libio/Makefile.an, math/Makefile.an, src/Makefile.am
2022         (LINK): Put quotes around "$(CC)" for libtool link mode,
2023         so libtool will use "-B" options during GCC bootstrap.
2024         * */Makefile.in: Regenerate.
2025         
2026 2000-03-02  Petter Urkedal  <petter@matfys.lth.se>
2028         * config/c_io_libio.h: Enclose it all in ::std.
2029         * bits/basic_string.h (basic_string<>): Make types and
2030         `npos' public.
2031         * mkc++config: Truncate output file before writing.
2033 2000-03-01  Benjamin Kosnik  <bkoz@gnu.org>
2035         * math/cabsf.c (__mycabsf): Rename to cabsf.
2036         * math/cabs.c (__mycabs): Rename to cabs.
2038 2000-02-29  LLeweLLyn Reese  <llewelly@198.dsl.xmission.com>
2040        * bits/basic_string.h: Move declarations of __out_of_range(),
2041        __length_error() and accompanying macros ...
2042        * bits/exception_support.h: here. (Newly created file).
2043        * bits/basic_string.h: #include <bits/exception_support.h>
2044        * stl/bits/stl_vector.h: #include <bits/exception_support.h>
2045        * src/Makefile.am (headers): Add.
2046        * src/Makefile.in: Regenerate.
2047         
2048 2000-02-29  Benjamin Kosnik  <bkoz@cygnus.com>
2049         
2050         * bits/cpp_type_traits.h: Rename structs so they don't clash with
2051         type_traits.h.
2052         * bits/valarray_array.h: Synch. Fix typos.
2054         * libio/Makefile.am: Change to only compile source files that
2055         config/c_io_libio.cc actually needs.
2056         * libio/Makefile.in: Regnerate.
2057         * libio/PlotFile.hes SFile.h builtinbuf.h editbuf.h floatconv.c
2058         floatio.h fstream.h indstream.h iofclose.c iofdopen.c iofeof.c
2059         ioferror.c iofflush.c iofgetpos.c iofgets.c iofopen.c iofprintf.c
2060         iofputs.c iofread.c iofscanf.c iofsetpos.c ioftell.c iofwrite.c
2061         iogetc.c iogetdelim.c iogetline.c iogets.c ioignore.c iomanip.h
2062         iopadn.c ioperror.c iopopen.c ioprims.c ioprintf.c ioputc.c
2063         ioputs.c ioscanf.c ioseekoff.c ioseekpos.c iosetbuffer.c
2064         iosetvbuf.c iosprintf.c iosscanf.c iostream.h iostrerror.c
2065         ioungetc.c iovfprintf.c iovfscanf.c iovsprintf.c iovsscanf.c
2066         istream.h list.out ostream.h outfloat.c parsestream.h peekc.c
2067         pfstream.h procbuf.h stdiostream.h stream.h streambuf.h strfile.h
2068         strops.c strstream.h: Delete.
2070         * bits/basic_file.h: Stub out or delete unused bits in this
2071         interface.
2072         (filepos_beg): Remove.  
2073         (filepos_cur): Remove.
2074         (filepos_valid): Remove.
2075         * config/c_io_libio.cc: Resynch with the changes to basic_file.
2077 2000-02-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2079         * bits/cpp_type_traits.h: Correct typo.
2081 2000-02-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2083         * bits/cpp_type_traits.h: New file.
2084         
2085         * bits/valarray_array.h: Tweak.  #include <bits/cpp_type_traits.h>
2086         Improve array construction.
2087         (_Array_default_ctor): New dispatcher class. 
2088         (__valarray_default_construct): New function.
2089         (_Array_copy_ctor): New dispatcher class.
2090         (__valarray_copy_construct): New function.
2091         (_Array<>::free_data): Remove.
2093         * src/Makefile.am (headers): Add cpp_type_traits.h
2094         * src/Makefile.in: Regenerate.
2096 2000-02-28  Benjamin Kosnik  <bkoz@cygnus.com>
2098         Prune libio directory to match files in libio/Makefile.
2099         * libio/PlotFile.cc,indstream.cc, isgetsb.cc, sbform.cc,
2100         stream.cc, SFile.cc, ioassign.cc, isscan.cc, sbgetline.cc,
2101         streambuf.cc, builtinbuf.cc, ioextend.cc, osform.cc, sbscan.cc,
2102         strstream.cc, editbuf.cc, iomanip.cc, parsestream.cc,
2103         stdiostream.cc, filebuf.cc, iostream.cc, pfstream.cc,
2104         stdstrbufs.cc, fstream.cc, isgetline.cc, procbuf.cc,
2105         stdstreams.cc: Remove.
2106         * libio/floatio.h, iolibio.h, iostdio.h, iostreamP.h: Remove.
2107         * libio/iofflush_u.c: Remove.
2108         
2109         * libio/dbz: Remove.  
2110         * libio/include: Remove.  
2111         * libio/stdio: Remove.  
2112         * libio/tests: Remove.  
2113         * libio/testsuite: Remove.
2114         
2115         * config/c_io_libio.cc: Add fcntl.h include for Solaris.
2117         * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Add bits.
2118         * configure.in: Replace 'grep -e' with 'grep' for Solaris.
2119         * configure: Regenerate.
2121 2000-02-25  Benjamin Kosnik  <bkoz@gnu.org>
2123         Abstract out the underlying "C" io bits.
2124         * bits/std_new.h: Remove <stl_config> include, as well as <cstddef>.
2125         * stl/bits/stl_string_fwd.h: Remove <stddef> include.
2126         * bits/std_cwchar.h: Wrap with _GLIBCPP_USE_WCHAR_T guards. Don't
2127         include <cstddef>.
2128         * stl/bits/stl_config.h: Don't include _G_config.h.
2130         * bits/basic_file.h: Allow for non-inheritance based __basic_files.
2131         * config/c_io_libio.h (_GLIBCPP_BASIC_FILE_INHERITANCE): Define.
2132         * config/c_io_libio.cc: Tweak.
2134         * src/Makefile.am (TOPLEVEL_INCLUDES): Add includedir.
2135         * src/Makefile.in: Regenerate.
2136         * Makefile.am (AM_MAKEFLAGS): Define includedir so that
2137         prefix/include files will be picked up.
2138         * Makefile.in: Regenerate.
2139         * math/Makefile.am (TOPLEVEL_INCLUDES): And here.
2140         * libio/Makefile.am (TOPLEVEL_INCLUDES): And here.
2141         
2142         * bits/std_ios.h: Include <bits/c++io.h> instead of libio.
2143         * bits/fpos.h: And here.        
2144         * bits/basic_file.h (get_fileno): Move definition from ...
2145         * src/basic_file.cc (std): To here.
2146         * bits/fpos.h: Move types for streamoff, streampos to..
2147         * bits/basic_file.h: Move __c_file_type and fpos typedefs to...
2148         * config/c_io_libio.h: ...here.
2149         (_GLIBCPP_[BOOLALPHA, HEX, DEC, FIXED, INTERNAL, LEFT, OCT, RIGHT,
2150         SCIENTIFIC, SHOWBASE, SHOWPOINT, SHOWPOS, SKIPWS, UNITBUF,
2151         UPPERCASE, ADJUSTFIELD, BASEFIELD, FLOATFIELD, BADBIT, EOFBIT,
2152         FAILBIT, GOODBIT, APP, ATE, BINARY, IN, OUT, TRUNC): New macros to
2153         abstract out bits in ios_base.
2154         * bits/ios_base.h: Re-macrofy.  
2155         * src/basic_file.cc : Rename, move to
2156         * config/c_io_libio.cc: Here. 
2157         * config/c_io_libio.h: New file. Include libio.
2158         * bits/c++config.h: Don't define _GLIBCPP_USE_LIBIO.
2159         * configure.in (blddir): Add enabling bits for GLIBCPP_ENABLE_CSTDIO.
2160         * configure: Regenerate.
2161         * src/Makefile.am (sources): Take out basic_file.cc and add c++io.cc.
2162         (generated_headers): Add c++io.h
2163         * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): New function to select
2164         underlying "C" io library.
2165         * acinclude.m4 (GLIBCPP_CHECK_LIBIO): Roll functionality into
2166         GLIBCPP_ENABLE_CSTDIO.
2167         
2168         * configure.in: Add configure bits for cross compiling non-newlib
2169         targets. .
2170         GLIBCPP_CHECK_COMPILER_VERSION: Take out this test for this
2171         target, as we assume g++ support is not the limiting factor.
2172         GLIBCPP_CHECK_LIBIO: Same, know we don't need libio.  
2173         * configure: Regenerate.
2174         
2175 2000-02-22  Benjamin Kosnik  <bkoz@cygnus.com>
2177         * Makefile.am (INTERFACE): Define.
2178         * Makefile.in: Regenerate.
2179         * libio/ChangeLog: Add entry.
2181 2000-02-21  Benjamin Kosnik  <bkoz@cygnus.com>
2183         * docs/install.html: Update install directions.
2185         * docs/status.html: Fix sidebar to be consistent.
2186         * docs/thanks.html: Same.
2187         * docs/links.html: Same.
2188         * docs/mail.html: Same.
2189         * docs/download.html: Same.
2191         * testsuite/27_io/filebuf.cc: Change BUFSIZ to buffer_size, and
2192         kill the macro BUFSIZ. I think the solaris fails lie elsewhere
2193         however, in the ctype_char_members.cc fail (for instance.)
2194         * testsuite/17_intro/headers.cc: Remove extraneous fails for hosts
2195         that do not have wchar_t enabled.
2196         * testsuite/27_io/ostream_inserter_arith.cc (struct _TestCase):
2197         Same here.
2198         * testsuite/27_io/iostream_objects.cc: And here.
2200         * libio/gen-params (CONFIG_NM): Specifically add in nm as the
2201         default CONFIG_NM.
2202         
2203 2000-02-18  Benjamin Kosnik  <bkoz@haight.constant.com>
2204             Tom Tromey  <tromey@cygnus.com>
2206         * configure.in: Manually add MULTISUBDIR.
2207         * configure: Regenerate.
2208         * src/Makefile.am (MULTISUBDIR): Add the lesser evil of Tom's two
2209         "Eww" hacks to get multilib installs working correctly.
2210         ($(headers): Test for MULTISUBDIR before installing.
2211         * Makefile.am (AM_MAKEFLAGS): Don't define MULTISUBDIR, instead
2212         have configure hack it in.
2213         * Makefile.in: Regenerate.
2214         * acinclude.m4 (GLIBCPP_CXXFLAGS): Tweak wording. 
2215         Add enabling bits for native Cygwin ctypes, and other newlib-based
2216         Oses.
2217         
2218 2000-02-17  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
2220         * mkc++config (OUT_H): Remove EOF in cygwin.
2221         * acinclude.m4 (LIBS): Tweaks to allow cygwin to configure.
2223         Tom Tromey  <tromey@cygnus.com>
2224         * src/Makefile.am: Tweaks for installing multilibs.
2226 2000-02-17  Benjamin Kosnik  <bkoz@cygnus.com>
2228         * src/Makefile.am: 
2229         (toolexeclib_LTLIBRARIES): Use this instead of lib_LTLIBRARIES.
2230         Add USE_LIBDIR bits here, not...
2231         * src/Makefile.in: Regenerate.
2232         * Makefile.am: ...here.
2233         * Makefile.in: Regenerate.
2234         
2235 2000-02-17  Benjamin Kosnik  <bkoz@gnu.org>
2237         * acinclude.m4 (LIBS): Fix typos.
2238         * configure.in: _GLIBCPP_BUGGY_FLOAT_COMPLEX,
2239         _GLIBCPP_BUGGY_COMPLEX for crosses.
2240         * src/Makefile.am (std_headers): Add libio.h as install include,
2241         as with _G_config.h
2242         * src/Makefile.in: Regenerate.
2244         * mkcheck.in: Add bits to set CXX to cross compiler.
2246         * src/complex_io.cc: Tweak.
2247         * configure.in: _GLIBCPP_BUGGY_COMPLEX for crosses.
2248         * configure: Regenerate.
2249         
2250         * config/newlib/ctype.cc: Tweaks.
2251         * config/newlib/bits/ctype_base.h (ctype_base): Set mask to char,
2252         not const char.
2253         * src/complex_io.cc (operator>>(istream, complex): Define out if
2254         BUGGY_COMPLEX.
2256 2000-02-16  Benjamin Kosnik  <bkoz@cygnus.com>
2258         * config/newlib/bits/ctype_base.h: Correct _S_table.
2260         Reconfigure ctype support for "C" libraries that don't use arrays.
2261         * testsuite/22_locale/ctype_char_members.cc: New file. Test for
2262         basic ctype<char> functionality.
2263         * src/locale.cc: Move host-specific ctype functions that are not
2264         inlines to config/*/ctype.cc files.
2265         (ctype<char>::do_tolower): For instance.
2266         (ctype<char>::do_toupper): For instance.
2267         (ctype<wchar_t>::do_tolower): For instance.
2268         (ctype<wchar_t>::do_toupper): For instance.
2269         * config/gnu-linux/ctype.cc: Modify.
2270         * config/default/ctype.cc: Modify.
2271         * config/newlib/ctype.cc: Modify.
2272         * config/solaris/solaris2.6/ctype.cc: Modify.
2273         * config/solaris/solaris2.7/ctype.cc: Modify.
2275         * bits/locale_facets.h (ctype<char>::is): Mark inline, move
2276         out-of-line.
2277         (ctype<char>::scan_is): Here too.
2278         (ctype<char>::scan_not): Here too.
2279         Move out of line defs to config/*/bits/ctype_specializations.h.
2280         * config/gnu-linux/bits/ctype_specializations.h: ...here. New file.
2281         * config/default/bits/ctype_specializations.h: ...here. New file.
2282         * config/newlib/bits/ctype_specializations.h: ...here. New file.
2283         * config/solaris/solaris2.6/bits/ctype_specializations.h: New file.
2284         * config/solaris/solaris2.7/bits/ctype_specializations.h: New file.
2285         * src/Makefile.am (headers): Add ctype_specializations.h.
2286         * src/Makefile.in: Regenerate.
2287         
2288         Aaron Weiss <weiss@clearway.com> 
2289         * Makefile.am (AM_MAKEFLAGS): Add NM_FOR_BUILD, NM_FOR_TARGET, and
2290         CONFIG_NM for Solaris builds.
2291         * Makefile.in: Regenerate.
2292         
2293         * src/locale.cc: Tweak formatting.
2295 2000-02-15  Benjamin Kosnik  <bkoz@cygnus.com>
2297         Jim Parsons  <parsons@clearway.com> 
2298         * testsuite/27_io/istream_unformatted.cc (test06): Add test.
2299         * bits/istream.tcc (read): Set failbit if !good(). Don't increment
2300         gcount if eof.
2301         (readsome): Same.
2303         Michel Decima  <michel.decima@cnet.francetelecom.fr>
2304         * testsuite/27_io/streambuf.cc: Add test.
2305         * bits/streambuf.tcc (xsgetn): Don't test for valid mode.
2306         (xsputn): Same.
2307         
2308         * src/Makefile.am (AM_CXXFLAGS): Pass down AC_CXXFLAGS,
2309         OPTIMIZE_CXXFLAGS, etc. So --enable-debug and --enable-namespaces
2310         will work correctly, for instance.
2311         * src/Makefile.in: Regenerate.
2313         * bits/locale_facets.h: Fix merge error.
2314         (num_put::put(unsigned long long): And here.
2315         * mknumeric_limits (trait_name): Same.
2316         
2317 2000-02-15  Chip Salzenberg  <chip@valinux.com>
2319         Support 'configure --enable-long-long'.
2320         * bits/c++config.h (_GLIBCPP_USE_LONG_LONG): Remove.
2321         * stl/bits/stl_config.h (__STL_LONG_LONG): Remove '#if 0'.
2322         * acconfig.h (_GLIBCPP_USE_LONG_LONG): Add.  Default to undef.
2323         * acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Define flag macro.
2324         * configure.in (GLIBCPP_ENABLE_LONG_LONG): Use it.
2326         * aclocal.m4: Regenerate.
2327         * config.h.in: Regenerate.
2328         * configure: Regenerate.
2330 2000-02-15  Chip Salzenberg  <chip@valinux.com>
2332         Improve (complete?) 'long long' support.
2333         * mknumeric_limits: Call $CXX with $CPPFLAGS.  Define statics
2334         for {,unsigned} long long if the limits header declares them.
2335         * src/gen-num-limits.cc: Include <bits/c++config.h> early.
2336         (__USE_GNU, _GNU_SOURCE): Define if _GLIBC_USE_LONG_LONG.
2337         (long long, unsigned long long): Gen limits if _GLIBC_USE_LONG_LONG.
2338         * bits/locale_facets.h (num_get<>::get(..., long long &)): Define.
2339         (num_put<>::put(..., long long)): Likewise.
2340         (num_put<>::put(..., unsigned long long)): Likewise.
2341         * bits/locale_facets.tcc (_S_format): Rename from _S_format_long.
2342         Templatize last parameter to support 'long long'.
2343         (num_put<>::put(...)): Call _S_format with new name.
2344         (num_put<>::put(..., long long)): Define.
2345         (num_put<>::put(..., unsigned long long)): Likewise.
2346         * src/locale-inst.cc (_S_format): Instantiate under new name.
2348 2000-02-15  Petter Urkedal  <petter@matfys.lth.se>
2350         * src/complex.cc (operator<<, operator>>): Moved from here...
2351         * src/complex_io.cc: ...to new file.
2352         (operator>>): Stub replaced by the real thing.
2353         * src/Makefile.am (sources): Inserted complex_io.cc.
2354         * src/Makefile.in: Regenerate.
2355         * testsuite/26_numerics/complex_inserters_extractors.cc: Check it.
2357 2000-02-14  Benjamin Kosnik  <bkoz@gnu.org>
2359         Add in ctype information for newlib "C" libraries.
2360         * config/newlib: New directory
2361         * config/newlib/bits/ctype_base.h: New file.
2362         * config/newlib/ctype.cc: New file.
2364         * ctype/config/linux/*: Rename, move to...
2365         * ctype/config/gnu-linux/*: Here.
2366         
2367         Finish off multilib work.
2368         * configure.in: Don't set CXX if not Canadian cross.
2369         * configure: Regenerate.
2370         * acinclude.m4 (GLIBCPP_CHECK_LIBIO): Tweak messages.
2371         * aclocal.m4: Regenerate.
2372         * config.h.in: Regenerate.
2374         * install-sh: Remove, as AC_CONFIG_AUX_DIR(..) picks this out of
2375         the top-level gcc directory now.
2376         * mkinstalldirs: Remove.
2377         * missing: Remove
2378         * ltconfig: Remove.
2379         * ltmain.sh: Remove.
2380         * config.guess: Remove.
2381         * config.sub: Remove.
2382         
2383 2000-02-13  Benjamin Kosnik  <bkoz@cygnus.com>
2385         * configure.in (glibcpp_basedir): Add glibcpp_basedir.
2386         * Makefile.am: Move mutlilib stuff to src/Makefile.am. 
2387         * Makefile.in: Regenerate.
2388         * src/Makefile.am: Add multilib bits.
2389         * src/Makefile.in: Regenerate.
2390         
2391 2000-02-12  Benjamin Kosnik  <bkoz@cygnus.com>
2393         * configure.in: Clean, add some multilib support.
2394         * configure: Regenerate.
2395         * configure.host: New file.
2397         * acinclude.m4: GLIBCPP_CHECK_LIBIO. Take bits from configure.in and 
2398         roll a new function, checks for presence of libio.
2399         GLIBCPP_CHECK_COMPILER_VERSION: Same.
2400         GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT: Same.
2401         GLIBCPP_CHECK_MATH_SUPPORT: Same.
2402         GLIBCPP_CHECK_WCHAR_T_SUPPORT: Same.
2403         GLIBCPP_CHECK_LIBIO: Same.
2404         GLIBCPP_CHECK_CTYPE: Same.
2405         * aclocal.m4: Regenerate.
2406         * config.h.in: Regenerate.      
2408         * Makefile.am: Tweaks.
2409         * Makefile.in: Regenerate.
2410         
2411 2000-02-11  Benjamin Kosnik  <bkoz@cygnus.com>
2413         * configure.in: Make outputing the libio/Makefile
2414         conditional. Haha, yeah right. Anyway, we instead do this thing
2415         where if libio is found, then we build a null library, as there is
2416         no point in duplicating the found libio.
2417         * Makefile.am: Tweak.
2418         * Makefile: Regenerate.
2419         * libio/Makefile.am: Add _G_config.h stuff. Now cross compilers
2420         are happy happy happy.
2421         * libio/Makefile.am: Regenerate.
2422         * libio/gen-params: New file.
2423         * src/Makefile.am: Make libio.la non-conditional, as it is now a
2424         null library if it's not needed. At least we are being consistent,
2425         if not as elegant as we could be.
2426         * src/Makefile: Regenerate.
2427         
2428 2000-02-10  Benjamin Kosnik  <bkoz@gnu.org>
2430         * Makefile.am (SUBDIRS): Add libio again.
2431         * Makefile.in: Regenerate.
2432         * configure.in (BUILD_LIBIO_INCLUDE): And here.
2433         (AC_OUTPUT): Generate libio/Makefile again.
2434         * configure: Regnerate.
2435         * src/Makefile.am (libstdc___la_LIBADD): Change path so that
2436         libio.la is referring back to the libio subdir again.
2437         (LIBIO_INCLUDES): And here.
2438         * src/Makefile.in: Regenerate.
2439         
2440 2000-02-09  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
2442         * math/complex-stub.h: Missed one. Change __mycabs* to cabs*.
2444 2000-02-09  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2446         * bits/valarray_array.h (<bits/std_new.h>): #include.
2447         (__valarray_get_memory): New function.
2448         (__valarray_release_memory): Likewise.
2449         (__valarray_default_construct): New functions.
2450         (__valarray_fill_construct): New function.
2451         (__valarray_copy_construct): New funstions.
2452         (__valarray_destroy_elements): New function.
2454         * bits/valarray_array.tcc (__valarray_copy_construct): New
2455         functions. 
2457         * bits/std_valarray.h (valarray<>::valarray): Use
2458         __valarray_get_memory and __valarray_fill_construct,
2459         __valarray_copy_construct, __valarray_default_construct to
2460         properly construct valarrays.  
2461         (valarray<>::~valarray): Use __valarray_destroy_elements to
2462         destroy elements and __valarray_release_memory to return memory.
2463         (valarray<>::shift): Tweak. 
2464         (valarray<>::cshift): Likewise.
2465         (valarray<>::resize): Robustify.
2467 2000-02-09  Benjamin Kosnik  <bkoz@cygnus.com>
2469         * mknumeric_limits (XCOMPILE): Add support for cross compiling.
2470         * bits/limits_generic.h: New file, defaults.
2471         * src/limits_generic.cc: New file, defaults.    
2472         * configure.in (LIBS): Run mknumeric_limits at configure time.
2473         * acconfig.h: Remove PACKAGE VERSION HAVE_COMPLEX
2474         HAVE_LC_MESSAGES, tidy, clean, etc.
2475         * src/Makefile.am (geberated_sources): Remove.
2477         * bits/fpos.h: Use _GLIBCPP_USE_LIBIO guards for libio typenames
2478         (_IO_off_t, _IO_ssize_t)
2480         * src/complex.cc: Use glibc's <complex.h> if
2481         possible. . . apparently this was not being done before. Include
2482         tweaks.
2483         (abs): Enable cabs if it's around, instead of mycabs.
2484         * src/complexf.cc (FCT): Add global scope to match complex.cc.
2485         * src/complexl.cc (FCT): Same.
2486         * math/Makefile.am (EXTRA_LONG_DOUBLE_yes): Change mycabsl to cabsl.
2487         (libmath_la_SOURCES): And here.
2488         * math/(mycabs.c, mycabsf.c, mycabsl.c): Move to. . .
2489         * math/(cabs.c, cabsf.c, cabsl.c): . . . Here.
2490         * math/complex-stub.h: Move c_log declarations into. . . 
2491         * math/mathconf.h: Here. This is because glibc's <complex.h>
2492         declares cclog, not c_log. The case of the dueling standards. . .
2493         * math/mathconf.h: Add _GLIBCPP_HAVE_* to macros.
2494         * math/Makefile.am: Change.
2495         * math/nan.c (nan): Change signature.
2496         * math/mathconf.h (NAN): Same.
2497         * math/complex-stub.h (nan): And here.
2498         
2499         * Makefile.am (rebuild-stamp): Remove libio and libio
2500         dependancies.  Plan to take out libio subdir and just merge with
2501         libio in top level gcc directory. Of course, this assumes there is
2502         a libio in the top level directory (ie ../src_dir). This will
2503         probably change the way this library is configured by default.
2504         * libio/*: Remove.
2506 2000-02-09  Chip Salzenberg  <chip@valinux.com>
2508         * localefwd.h (locale): Make public: facet, id, category.
2509         
2510 2000-02-09  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2512         * testsuite/26_numerics/buggy_complex.cc: Fix Origin:.
2514         * acinclude.m4: Patch only once!
2516 2000-02-09  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2518         * testsuite/26_numerics/buggy_complex.cc: New file.
2520 2000-02-05  Petter Urkedal  <petter@matfys.lth.se>
2522         * acinclude.m4: New GLIBCPP_CHECK_COMPLEX_SUPPORT macro. Based
2523         on the 1999-11-21 entries by Mumit Khan.
2524         * configure.in: Use.
2525         * acconfig.h: New _GLIBCPP_BUGGY_COMPLEX macro.
2526         * bits/std_complex.h: Use.
2527         
2528 2000-02-04  Philip Martin <pm@corris.dircon.co.uk>
2530        * stl/bits/stl_algobase.h: Add traits based dispatch for
2531        __normal_iterator in the copy_backward()algorithm
2532        * stl/bits/stl_vector.h: Reduce use of __normal_iterator
2533        base() function.
2535 2000-02-04  Mumit Khan  <khan@xraylith.wisc.edu>
2536         
2537         * src/gen-num-limits.cc (signal_handler): Work around signal
2538         handling problem on Cygwin. 
2539         Thanks to Chris Faylor <cgf@cygnus.com>.
2541 2000-02-03  Benjamin Kosnik  <bkoz@cygnus.com>
2543         * configure.in: Add (preliminary) support for cross compiles and
2544         multilibs.
2545         Remove AC_C_BIGENDIAN tests. Why is this necessary? Cross
2546         compilation freaks on this.
2547         * configure: Regenerate.
2548         * src/Makefile.am: Add support for cross compiles.
2549         * src/Makefile: Regenerate.
2550         * Makefile.am: Add support for cross compiles.
2551         * Makefile.in: Regenerate.
2552         
2553 2000-02-02  Benjamin Kosnik  <bkoz@cygnus.com>
2555         * configure.in (LIBS): Remove unused subdirs.   
2556         * configure: Regenerate.
2557         * Makefile.am (SUBDIRS): And here.
2558         * Makefile.in: Regenerate.
2559         * src/Makefile.am (sources): And here.
2560         * src/Makefile.in: Regenerate.
2561         * string/*: Remove.
2562         * amm1/*: Remove.
2563         * generic/*: Remove.
2564         * glibc/*: Remove.
2565         * mkcheck.in (INC_PATH): Include $BUILD_DIR before any source dirs.
2567         * libtool: Update to libtool-1.3.4.
2568         * ltconfig: Same
2569         * ltmain.sh: Same
2570         * config.sub: Same.
2571         * config.guess: Same.
2573 2000-02-02  Benjamin Kosnik  <bkoz@cygnus.com>
2574             Alexandre Petit-Bianco  <apbianco@cygnus.com>    
2576         * mkc++config: New file. Put autoconf macros into _GLIBCPP_
2577         namespace instead of polluting global namespace with duplicate
2578         autoconf output.
2579         * configure.in (AC_OUTPUT): Don't need to generate bits/config.h
2580         here anymore. . .
2581         (AC_OUTPUT_COMMANDS): Make it here.
2582         * configure: Regenerate.
2583         * bits/c++config.h.in (_CPP_CPPCONFIG): Change. Tweak. Remove
2584         endif, as now we will add it manually.
2585         Move to this file. . .
2586         * bits/c++config.h: New file. Same as old c++config.h.in except
2587         the ending macro guard is now appended manually.
2589         * bits/locale_facets.tcc: Change HAVE_* macros to _GLIBCPP_HAVE_*.
2590         * bits/std_cmath.h: Same here.
2591         * bits/std_cwchar.h: And here.
2592         * src/locale.cc: And here.
2593         * src/complexl.cc: And here.
2594         * math/mathconf.h: Change to include "config.h" instead of
2595         bits/c++config.h.
2596         
2597 2000-02-01  Benjamin Kosnik  <bkoz@gnu.org>
2599         * configure.in: Add support for threads. Try a model closer to
2600         libjava, as hopefully if the thread bits are added carefully
2601         enough, the source code will not have gross hacks. Besides, the
2602         libstdc++-v2 model could be easily emulated without the necessity
2603         of linking files in (as currently done)--all that needs to be done
2604         is AC_DEFINE(-D_PTHREADS) etc. However, let's try something
2605         new. . . and see if we arrive at a more elegant solution.
2606         * configure: Regenerated.
2607         * config/threads-no.h: New file. 
2608         * config/threads-posix.h: New file. 
2609         * src/Makefile.am (myinstallheaders): Install c++threads.h.
2610         * src/Makefile.in: Regenerated.
2611         
2612 2000-01-31  Benjamin Kosnik  <bkoz@gnu.org>
2614         META-QUESTION: Can we just make a "header.html" file and a
2615         "footer.html" and just include them in all the doc sub-pages. The
2616         duplication of the header info is kind of gross, and weak
2617         considering that if you change order or layout then all this stuff
2618         has to be changed in all the sub-files.
2620         * docs/17_intro/contribute.html: Take out duplicate file info.
2621         * README: Should just contain a link to the docs/index.html
2622         page. Duplicate information removed.
2623         * docs/faq/index.html: Remove indexes into HOWTOS.
2624         * docs/17_intro/howto.html: Make intro and docs part more
2625         centralized. Move intro stuff to documentation.html.
2626         * docs/how.html: Tweak. Does this file need to exist? What calls it?
2627         * docs/README.html: Move documentation files to
2628         documentation.html. Should this file be renamed
2629         "config_and_install.html" as that is what is apparently covered
2630         here. . .
2631         * docs/install.html: Yes. New file, moved and renamed README.html.
2632         * docs/documentation.html: New file. This is the index file for
2633         the documentation.
2634         * docs/index.html: Edit sidebar order. Insert new link to new
2635         documentation spine, documentation.html.
2637 2000-01-31  Scott Snyder  <snyder@fnal.gov>
2639         * bits/istream.tcc (operator>>(istream&, string&)): Set failbit if 
2640         we don't extract any characters.
2641         * testsuite/21_strings/inserters_extractors.cc (main): New tests.
2642         
2643 2000-01-31  Anders Widell  <awl@hem.passagen.se>
2645         * stl/bits/std_bitset.h (_M_do_left_shift): Handle case when shift
2646         step is a multiple of the word size.
2647         (_M_do_right_shift): Same.
2648         * testsuite/23_containers/bitset_shift.cc: New file.
2649         
2650 2000-01-31  Nathan Myers  <ncm@zembu.com>
2651         
2652         * README (Documentation): Add path info, fix typos.
2653         
2654 2000-01-26  Benjamin Kosnik  <bkoz@redhat.com>
2655         
2656         * bits/locale_facets.tcc (num_get::_M_extract): Add the freaking
2657         crazy group checking for numpunct, for real this time. At some
2658         point, the local variable __grp should probably get replaced a
2659         char array, or something a bit more lightweight.
2660         (num_get::do_get(bool)): Simplify. Don't set bool reference to
2661         parsed value unless err isn't failbit.
2662         (num_get::do_get(*)): Same, make consistent.
2664         Nathan Myers  <ncm@zembu.com>
2665         Jim Parsons  <parsons@clearway.com>
2666         * testsuite/27_io/istream_extractor_arith.cc (test08): Add
2667         more grouping tests, tweak, scold, wine.
2668         
2669 2000-01-24  Benjamin Kosnik  <bkoz@gnu.org>
2671         * testsuite/27_io/istream_extractor_arith.cc (test07): Add
2672         grouping tests.
2673         * bits/locale_facets.tcc (num_get::_M_extract): Change to fix
2674         grouping bugs. Only allow thousands_sep if _M_use_groupings is
2675         true.
2677         via <llewelly@198.dsl.xmission.com>
2678         * stl/bits/stl_vector.h (vector::_M_range_check): Throw
2679         out_of_range instead of range_error.
2681 2000-01-17  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2683         * bits/std_iomanip.h (setw): Fix typo.
2685 2000-01-14  Benjamin Kosnik  <bkoz@gnu.org>
2687         * testsuite/27_io/istream_extractor_arith.cc: Fix.
2688         * bits/locale_facets.tcc (do_get(...void)): Change to strtoul.
2689         * testsuite/27_io/istream_unformatted.cc (test04): Tweak.
2690         
2691 2000-01-14  Phil Edwards  <pme@sourceware.cygnus.com>
2693         * docs/README.html:  Reformat, more installation instructions.
2694         * docs/gccrebuild.html:  New file.
2695         * docs/faq/index.html:  Update for new testsuite output filenames.
2696         * docs/faq/index.txt:  Regenerate.
2698 2000-01-14  Phil Edwards  <pme@sourceware.cygnus.com>
2700         * Makefile.am (rebuild-stamp, all-local):  New targets.
2701         * Makefile.in:  Regenerated.
2702         * acinclude.m4:  New macro, GLIBCPP_ENABLE_RELIBGCC.
2703         * aclocal.m4:  Regenerated.
2704         * configure.in:  Call new macro.  Also do some sanity checks
2705           for combinations of --enable's that may not make sense.
2706         * configure:  Regenerated.
2708 2000-01-13  Benjamin Kosnik  <bkoz@cygnus.com>
2710         * testsuite/27_io/istream_extractor_arith.cc: Add checks for void*.
2711         * bits/locale_facets.tcc (do_get::(...void)): Set fmtflags
2712         correctly for hex-formatted input.
2714         * testsuite/27_io/istream_manip.cc (test01): Fix, as per setting
2715         eofbit instead of eofbit | failbit.
2716         * testsuite/27_io/istream_unformatted.cc (test04): Fix, as
2717         ifstreams now are opened or'd with ios_base::in (as is correct).
2718         * bits/fstream.tcc (filebuf::seekoff): Simplify.
2719         * testsuite/27_io/ios_base_members_static.cc (test01): Fix thinko.
2721 2000-01-12  Benjamin Kosnik  <bkoz@gnu.org>
2723         * bits/std_fstream.h: Add ios_base as a friend to basic_filebuf.
2724         * bits/basic_file.h (basic_file::filepos_cur): Remove incorrect
2725         (misleading) code.
2726         (__basic_file::filepos_valid): Same.
2727         (__basic_file::filepos_beg): Same.
2728         (__baseic_file::get_fileno): New function.
2729         * bits/ios_base.h (ios_base::sync_with_stdio): Implement, including
2730         feedback from LWG 49.
2731         * src/ios.cc: Move definition here.
2732         * testsuite/27_io/ios_base_members_static.cc (test01): Add tests.
2733         
2734         * bits/std_sstream.h (_M_really_sync): Simplify argument list. Set
2735         output part of internal buffer based on string size, so that
2736         _M_out_end is set consistently with filebufs. Correct comments.
2737         * bits/sstream.tcc (stringbuf::overflow): Update here too.
2738         * testsuite/27_io/stringbuf.cc: Changes.
2739         
2740 2000-01-11  Benjamin Kosnik  <bkoz@gnu.org>
2742         * bits/sstream.tcc (seekoff): Set based on end of written buffer,
2743         not buffer size.
2744         * testsuite/27_io/stringbuf.cc: Add tests for seekoff(end).
2746         * bits/std_fstream.h (ifstream::open): Add ios_base::in to openmode.
2747         (ofstream::open): Add ios_base::out to openmode.
2749         * bits/locale_facets.tcc (_M_extract): Have consistency between
2750         istream::sentry and extractors, where failbit | eofbit is
2751         set. Don't change this, but instead change. . (do some formatting
2752         tweaks.)  
2753         * bits/istream.tcc (istream::sentry): Only set eofbit.
2754         
2755 2000-01-10  Benjamin Kosnik  <bkoz@gnu.org>
2757         * testsuite/27_io/istringstream_members.cc: New file.
2759 2000-01-09  Benjamin Kosnik  <bkoz@gnu.org>
2761         * bits/istream.tcc (istream::sentry): Flush.
2763         * configure.in (AC_OUTPUT_COMMANDS): Simplify.
2764         * configure: Regenerate.
2765         * src/Makefile.am (generated_headers): Remove bits/c++config.h so
2766         that make clean will not delete it.
2767         * src/Makefile: Regenerate.
2768         
2769 2000-01-07  Phil Edwards  <pme@sourceware.cygnus.com>
2771         * mkcheck.in:  Use host-specific invocation of size(1);
2772           GNU binutils isn't necessarily there (more's the pity).
2774 2000-01-06  Benjamin Kosnik  <bkoz@cygnus.com>
2776         * configure.in (LIBS): Better tests for solaris2.6.
2777         * configure: Regenerate.
2779          <vakatov@ncbi.nlm.nih.gov>
2780         * bits/std_sstream.h: As per libstdc++20.
2782 2000-01-06  Benjamin Kosnik  <bkoz@gnu.org>
2784         Break out configuration on solaris.
2785         * configure.in (ctype_solaris): Add in bits for solaris2.6 and 2.7.
2786         * config/solaris/ctype.cc: Delete and move to proper version.
2787         * config/solaris/bits: Same.
2788         * config/solaris/solaris2.5: Add this directory, with subdir bits
2789         and file ctype.cc. Probably doesn't work.
2790         * config/solaris/solaris2.6: Same.
2791         * config/solaris/solaris2.7: Same, as per specs via Phil Edwards.
2792         
2793         * Makefile.am: Change paths to mkcheck.
2794         * Makefile: Regenerate.
2795         * configure.in (AC_OUTPUT_COMMANDS): Build mkcheck here.
2796         * configure: Regenerate.
2797         * src/Makefile.am (generated_headers): Add bits/c++config.h.
2799         * mkcheck: Now autogenerated by configure and renamed. . .
2800         * mkcheck.in (INC_PATH): Add glue for ctype_include_dir.        
2801         Have longer-style dates.
2802         Raja R Harinath  <harinath@cs.umn.edu>
2803         * mkcheck: Change path to #!/usr/clocal/bin/bash.
2805         * docs/README.html: Correct links, maybe. FAQ, install notes, and
2806         general documentation need to be organized around each other, not
2807         fight against each other. . .
2809 2000-01-04  Phil Edwards  <pme@sourceware.cygnus.com>
2810             Nicolai Josuttis <nicolai.josuttis@braunschweig.netsurf.de>
2812         * README:  Add a note referring to README.html.
2813         * docs/README.html:  New file from Nicolai.
2814         * docs/faq/index.html:  Move "how to get a copy" to here.
2815         * docs/gentop/footchunk.html:  Update.
2816         * docs/gentop/headchunk.html:  New links according to
2817           bkoz's idea for "How to..." stuff.
2818         * docs/gentop/thanks:  Actually put people here.
2819         * docs/download.html:  Regenerated.
2820         * docs/index.html, docs/links.html, docs/mail.html,
2821           docs/status.html, docs/thanks.html, docs/faq/index.txt:  Ditto.
2822         * docs/how.html:  Ditto.  (This file should go away soon.)
2824 1999-12-26  Phil Edwards  <pme@sourceware.cygnus.com>
2826         * docs/gentop/status:  Add snapshot version column, update
2827           for Solaris 7.
2828         * docs/status.html:  Regenerated.
2830 1999-12-26  Phil Edwards  <pme@sourceware.cygnus.com>
2832         * docs/faq/index.html:  Turn README and RELEASE-NOTES into links
2833           from installation FAQ, and specify location of text files.
2834         * docs/faq/index.txt:  Regenerated.
2836 1999-12-23  Phil Edwards  <pme@sourceware.cygnus.com>
2838         * docs/gentop/download:  Add links to prebuilds for Cygwin/Mingw32.
2839         * docs/download.html:  Regenerated.
2841 1999-12-22  Phil Edwards  <pme@sourceware.cygnus.com>
2843         * docs/faq/index.html:  Update 'what works' for .7 snapshot,
2844           clean up various links.
2845         * docs/faq/index.txt:  Regenerated.
2846         * docs/gentop/gentop:  Smarter regeneration script.
2847         * docs/gentop/{head,foot}chunk.html:  Updated with new
2848           contributors link and mod date.
2849         * docs/gentop/index:  Snapshot relase date.
2850         * docs/gentop/thanks:  New contributors page added.
2851         * docs/{download,how,index,links,mail,status,thanks}.html:
2852           Regenerated from gentop; thanks.html created.
2854 1999-12-21  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
2856         * bits/c++config.h.in (__GLIBCPP__): 19991221.
2857         * docs/index.html: Add correct information.     
2859         * config/irix: New directory.
2860         * config/irix/ctype.cc: Add irix-6.5 info. Not tested.
2861         * config/irix/bits/ctype_base.h: And here.
2863         * config/aix: New directory.
2864         * config/aix/ctype.cc: Add aix-4.2 info. Not tested.
2865         * config/aix/bits/ctype_base.h: And here.
2866         
2867 1999-12-21  Philip Martin  <pm@corris.dircon.co.uk>
2869         * bits/basic_string.h: Add special case handling for integral
2870         "iterators".
2871         * bits/std_string.h: include type_traits.h
2872         * testsuite/21_strings/ctor_copy_dtor.cc: Tweak.
2873         
2874 1999-12-21  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
2876         * bits/fstream.tcc (seekoff): Output buffer based on _M_*_in and
2877         _M_*_end now.
2878         * bits/std_fstream.h (sync): And here.
2879         * testsuite/27_io/filebuf.cc: Revisions.
2880         * testsuite/27_io/filebuf-2.tst: Correct, remove weird character
2881         at the end of the file.
2882         * testsuite/27_io/filebuf-3.tst: Correct.
2883         
2884 1999-12-21  Phil Edwards  <pedwards@jaj.com>
2886         * docs/gentop/index:  Hold off on .7 announcement date.
2887         * docs/index.html:  Regenerate.
2889 1999-12-21  Benjamin Kosnik  <bkoz@kcygnus.com>
2891         * bits/std_fstream.h (sync): Move _M_file->sync() to
2892         _M_really_overflow().
2893         * bits/fstream.tcc (seekoff): Call sync, not _M_really_overflow so
2894         as to get the _M_file->sync action, which forces the external
2895         buffer to update itself.
2896         (underflow): Same here.
2898 1999-12-21  Phil Edwards  <pedwards@jaj.com>
2900         * bits/c++config.h.in:  Uncomment _GLIBCPP_USE_NAMESPACES and move...
2901         * acconfig.h:  ...to here.
2902         * config.h.in:  Regenerate from aclocal.
2903         * acinclude.m4:  Add GLIBCPP_ENABLE_DEBUG, GLIBCPP_ENABLE_NAMESPACES.
2904         * aclocal.m4:  Regenerate from acinclude.
2905         * configure.in:  Use ENABLE macros here.
2906         * configure:  Regenerate.
2907         * src/Makefile.am:  Use results from ENABLE macros.
2908         * src/Makefile.in:  Regenerate.
2910 1999-12-20  Benjamin Kosnik  <bkoz@cygnus.com>
2911         
2912         * mkcheck (SRC_DIR): Now have to include config/* dir if "make
2913         check" and not "make check-install." Temporarily hack in linux
2914         support.
2915         
2916         * bits/std_streambuf.h: Tweaks.
2917         * bits/streambuf.tcc (xsgetn): Tweaks.
2918         * bits/std_fstream.h (sync): Make _M_really_overflow consistent.
2919         * bits/fstream.tcc (filebuf::underflow): Simplify.
2920         * bits/std_sstream.h (streambuf::underflow): Minor change to make
2921         checks for read position precisely implement the standard.
2922         * bits/basic_file.h (filepos_cur): Base this on _offset.
2923         * testsuite/21_strings/inserters_extractors.cc (test05): Tweaks.
2924         * testsuite/27_io/filebuf.cc: Tweak.
2926 1999-12-20  Benjamin Kosnik  <bkoz@cygnus.com>
2928         * docs/17_intro/RELEASE-NOTES: Fix typos.
2930         * bits/locale_facets.h (ctype): Modify, use __to_type to abstract
2931         out platform-specific bits.
2932         * config/default/ctype.cc: And here.
2933         * config/defaults/bits/ctype_base.h: And here.
2934         * config/linux/ctype.cc: And here.
2935         * config/linux/bits/ctype_base.h (ctype_base): And here.
2936         * config/solaris/bits/ctype_base.h (ctype_base): Add
2937         __to_type. Comment, as it looks like this is for solaris2.6 and
2938         above: solaris2.5.1 doesn't seem to have the same definitions.
2939         * config/solaris/ctype.cc: And here.
2941 1999-12-19  Benjamin Kosnik  <bkoz@cygnus.com>
2942             Ulrich Drepper  <drepper@cygnus.com>
2943         
2944         * acconfig.h: Remove _GLIBCPP_USE_CTYPE_ISBIT.
2946         * src/locale.cc: Take out platform-specific hacks.
2947         * config/linux/ctype.cc: Put here.
2948         * config/solaris/ctype.cc: Put here.
2949         * config/default/ctype.cc: Put here.    
2951         * bits/locale_facets.h: Take out platform-specific hacks.
2952         * config/linux/bits/ctype_base.h: Put here.
2953         * config/solaris/bits/ctype_base.h: Put here.
2954         * config/default/bits/ctype_base.h: Put here.   
2956         * configure.in: Bump version.
2957         Add tests for top-level config directory.
2958         * configure: Regenerated.
2959         * src/Makefile.am (INCLUDES): Add platform-specific dir.
2960         * src/Makefile: Regenerate.
2961         
2962 1999-12-19  Benjamin Kosnik  <bkoz@cygnus.com>
2963             Ulrich Drepper  <drepper@cygnus.com>
2965         * bits/locale_facets.h: Hack in solaris support.
2966         * src/locale.cc: Here too.
2968 1999-12-18  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2970         * docs/17_intro/TODO: Update
2971         * docs/17_intro/RELEASE-NOTES (New): Update.
2973 1999-12-17  Benjamin Kosnik  <bkoz@milou.cygnus.com>
2975         * bits/c++config.h.in (__GLIBCPP__): Bump.
2976         * docs/17_intro/RELEASE-NOTES: Update, Gaby please add your stuff.
2977         * docs/17_intro/TODO: Update.   
2979         * bits/locale_facets.h: Touch this too.
2980         * bits/localefwd.h: Add typedefs for loooooong vector names.
2981         * bits/locale_facets.tcc (locale::operator()): Need parens.
2982         (has_facet): Simplify.
2983         * src/locale-inst.cc: Add instantiations.
2984         * src/locale.cc: Tweaks.
2985         
2986         * bits/std_streambuf.h: Move indeterminates into. . 
2987         * bits/std_fstream.h: Here.     
2988         * bits/fstream.tcc (underflow): Rewind just for ios_base::out
2989         streams.
2990         * bits/sstream.tcc: Very minor formatting tweaks.
2991         * bits/std_streambuf.h (_M_set_determinate): If exclusively an
2992         input buffer, set _M_buf to offset.
2993         * bits/istream.tcc (std): Tweaks.
2994         * testsuite/27_io/istream_unformatted.cc (test05): More tweaks,
2995         include fstream.
2996         * testsuite/27_io/filebuf.cc: Tweaks.
2997         
2998 1999-12-17  Phil Edwards  <pedwards@jaj.com>
3000         * configure.in:  Add OPTLEVEL, -O2 for gcc 2.96+, nothing otherwise.
3001         * configure:  Regenerate.
3002         * src/Makefile.am:  Use OPTLEVEL in CXXFLAGS.
3003         * src/Makefile.in:  Regenerate.  Also picks up OTHER_CXXFLAGS rename
3004           to OPTIMIZE_CXXFLAGS from a previous revision (1.96) to Makefile.am.
3006 1999-12-17  Phil Edwards  <pedwards@jaj.com>
3008         * docs/21_strings/stringtok_std_h.txt:  New algorithm
3009           suggested by Chris King.
3010         * docs/21_strings/howto.html:  Link to new version.
3012 1999-12-16  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3014         * bits/valarray_array.h (__valarray_sum): Use operator+=, not
3015         operator+.
3016         * docs/17_intro/TODO: Update.
3018 1999-12-15  Phil Edwards  <pme@sourceware.cygnus.com>
3020         * docs/gentop/footchunk.html:  Updated, fixed CRLFs.
3021         * docs/gentop/gentop:  Ditto.
3022         * docs/gentop/headchunk.html:  Ditto.
3023         * docs/*.html:  Regenerated from gentop.
3024         * docs/*/howto.html:  Updated as test.
3025         * docs/faq/index.html:  Updated, fixed CRLFs.
3026         * docs/faq/index.txt:  Regenerated.
3028 1999-12-15  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3030         * mknumeric_limits (OUT_C): restart only if $OUT_C is present.
3032         * bits/std_complex.h 
3033         (complex<float>::complex(const complex<double>&),
3034         complex<float>::complex(const complex<long double>&)): Define.
3036         * docs/17_intro/TODO: Update.
3038 1999-12-13  Benjamin Kosnik  <bkoz@cygnus.com>
3040         * bits/istream.tcc (seekg): Don't set _M_gcount.
3041         (tellg): Same.
3042         * bits/fstream.tcc (filebuf::underflow): Re-sync
3043         external byte sequence's input buffer only. . .
3044         * testsuite/27_io/istream_unformatted.cc (test04): New tests for
3045         tellg, seekg and filebufs.
3046         (test05): Same for stringbufs.
3047         * testsuite/27_io/istream_unformatted-2.tst: New file.
3048         * testsuite/27_io/istream_unformatted-1.tst: New file.
3049         * testsuite/27_io/istream_unformatted-1.txt: New file.  
3050         * testsuite/21_strings/inserters_extractors.cc (test05): Change
3051         output file.
3053 1999-12-13  Phil Edwards  <pedwards@jaj.com>
3055         * docs/gentop/*:  New directory, containing bits for the homepages.
3056         * docs/*.html:  Regenerated from gentop.
3057         * docs/*/*.html:  Entries added and regenerated.
3059 1999-12-13  Benjamin Kosnik  <bkoz@gnu.org>
3061         Efforts to get -O2 to work with -Winline -Werrors.
3062         * bits/valarray_array.h (__valarray_fill(_Tp*, size_t, const
3063         _Tp&): Remove inline declaration, as cannot be inlined and
3064         -Winline -Werror complains. An interesting question is why this
3065         cannot be inlined, as I can see no real reason to disqualify it.
3066         (__valarray_product(const _Tp*, const _Tp*)): Same here.
3067         * bits/std_valarray.h (valarray::operator[](size_t)): Same here.
3068         
3069         * docs/17_intro/TODO: Update.
3071 1999-12-12  Benjamin Kosnik  <bkoz@gnu.org>
3073         * bits/std_fstream.h (seekpos): Tweaks, fixes. Move definition to
3074         fstream.tcc.
3075         * bits/basic_file.h (filepos_cur()): Make pointers themselves be
3076         the resultant position.
3077         * bits/fstream.tcc (seekoff): Explicitly set return value to
3078         resultant external byte sequence position, not value returned from
3079         _M_file->seekoff. Need to make 
3080         (seekpos): New definition.
3081         
3082         * bits/istream.tcc (seekg): As per Library Issues List 136, set to
3083         just istream. Necessary, or else tellg will give an invalid stream
3084         position, but seekg will return a valid stream position, which is
3085         not groovy: see testcase addition.
3086         * bits/ostream.tcc (seekp): Same.
3087         
3088         * bits/streambuf.tcc (_S_copy_streambufs): Simplify.
3089         * bits/sstream.tcc: Tweaks.
3090         * bits/locale_facets.tcc: Tweaks.
3091         (num_put::do_put(iter_type, ios_base, char_type, const void*)):
3092         Re-write in a way that is easier for the inliner to work with.
3093         * bits/ios_base.h: Use explicit static_cast<int>(...) notation.
3095 1999-12-10  Benjamin Kosnik  <bkoz@cygnus.com>
3097         * bits/locale_facets.tcc: Tweaks.
3098         * bits/locale_facets.h (use_facet): Can't inline, remove inline
3099         from declaration.
3100         * bits/localefwd.h: And here.
3101         * bits/std_ostream.h: Tweaks, sentry ctor can't be inlined.
3102         * bits/ostream.tcc: Put here.
3103         
3104         Frank Ch. Eigler  <fche@cygnus.com> 
3105         * src/Makefile.am: Adjust CXXFLAGS, add AM_CXXFLAGS. 
3107 1999-12-08  Benjamin Kosnik  <bkoz@cygnus.com>
3109         * bits/sstream.tcc (stringbuf::seekoff): Long overdue revamp. Make
3110         in and out buffers update independantly.
3112         * bits/basic_ios.h: Minor formatting.
3113         * bits/fstream.tcc (std): Fix indentation.
3115 1999-12-08  Chip Salzenberg  <chip@valinux.com>
3117         * bits/char_traits.h (char_traits<>): Move not_eof() functions
3118         after corresponding eof() functions, so they're easier for the
3119         compiler to inline.
3120         * bits/locale_facets.h (money_base::__default_pattern): Move
3121         static variable out of inline functions.
3122         (_Moneypunct<>::do_{pos,neg}_format): Use it.
3123         * src/locale-inst.cc (money_base::__default_pattern): Define it.
3125 1999-12-08  Benjamin Kosnik  <bkoz@cygnus.com>
3127         * bits/std_fstream.h (filebuf::open): Tweak.
3128         * bits/fstream.tcc (filebuf::seekoff): Simplify, fix.
3129         * bits/std_ios.h: Minor tweaks for headers.
3131 1999-12-06  Benjamin Kosnik  <bkoz@gnu.org>
3133         * bits/c++config.h.in (_GLIBCPP_FULLY_COMPLIANT_HEADERS): New macro.
3134         * src/string-inst.cc: Add guards . . .
3135         * src/misc-inst.cc: And here.
3136         * bits/std_sstream.h: And here.
3137         * bits/std_fstream.h: And here.
3138         * bits/std_streambuf.h: And here.
3139         * bits/std_istream.h: And here.
3140         * bits/std_ostream.h: And here.
3142 1999-12-06  Scott Snyder  <snyder@fnal.gov>
3144         * bits/istream.tcc (basic_istream::read): Try to handle __n == 0
3145         case.
3146         (basic_istream::readsome): And here as well.
3147         * testsuite/27_io/istream_unformatted.cc: Test a zero-length
3148         read().
3150 1999-12-06  Mumit Khan  <khan@xraylith.wisc.edu>
3152         * bits/istream.tcc (basic_istream::ignore): streamsize is not 
3153         necessarily an `int'.
3155 1999-12-06  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3157         * mknumeric_limits: Don't use $CXXFLAGS when building
3158         gen-num-limits. It's definitely wrong to use it since $CXXFLAGS
3159         generally instructs the compiler not to emit template
3160         instantiations and we end up with undefined symbols. Sigh.
3162 1999-12-05  Benjamin Kosnik  <bkoz@gnu.org>
3164         * bits/locale_facets.tcc: Tweak.
3165         (_S_format_long): Adjust showpos formatting for hex and oct.
3166         * bits/std_ostream.h (operator<<(short)): Correctly deal with hex
3167         and oct by formatting as unsigned.
3168         (operator<<(int)): Same here.
3169         * bits/ostream.tcc (operator<<(long)): Same.
3170         (operator<<(long long)): Same.
3171         (_S_pad_char): Actually treat ios_base::internal as something
3172         worth doing correctly. Remove const designation on ios argument.
3173         * testsuite/27_io/ios_manip_basefield.cc (test02): Add tests.
3174         * testsuite/27_io/ostream_inserter_arith.cc (test03): Add tests.
3175         
3176 1999-12-04  Benjamin Kosnik  <bkoz@gnu.org>
3178         * bits/std_sstream.h (streambuf::underflow): Check for mode == in.
3180 1999-12-03  Benjamin Kosnik  <bkoz@gnu.org>
3182         * bits/locale_facets.tcc (num_put::do_put(bool): Fix.
3184         * bits/sstream.tcc (streambuf::seekoff): Add parens.
3185         * bits/istream.tcc (istream::get(sb)): Handle exceptional events.
3186         (operator>>(istream, _CharT*)): Change streamsize to int_type.
3187         (operator>>(istream, _CharT&)): Fix typedef'd type to be _CharT.
3188         * bits/ostream.tcc (ostream::operator<<(const char*)): Stub out
3189         unused argument.
3190         (ostream::operator<<(_CharT)): Fix.
3191         
3192         * bits/std_sstream.h: Temporarily disable including sstream.tcc to
3193         see if this will increase compile speed.
3194         * bits/std_ostream.h: Likewise. . .
3195         * bits/std_istream.h: And here.
3196         * bits/std_fstream.h: And here.
3197         * src/misc-inst.cc: Add relevant header file includes for
3198         instantiation purposes.
3199         * src/string-inst.cc: And here.
3200         * testsuite/27_io/ostream_inserter_arith.cc: Add test case.
3201         
3202 1999-12-02  Benjamin Kosnik  <bkoz@gnu.org>
3204         * testsuite/27_io/istream_unformatted.cc (test03): Add tests.
3205         * bits/istream.tcc (get(streambuf)): More fixes. 
3206         (istream::ignore): Get specific about numeric_limits<int>::max()
3207         requirements.
3209         * bits/fstream.tcc (filebuf::open): Tweaks for _M_last_overflowed.
3210         (filebuf::close): Same.
3211         * testsuite/27_io/filebuf.cc: Add tests for ios_base::ate.
3212         
3213 1999-12-01  Phil Edwards  <pedwards@jaj.com>
3215         * mkcheck:  Support for compilation/execution timing.
3216         * testsuite/printnow.c: New file.
3217         
3218 1999-12-01  Phil Edwards  <pedwards@jaj.com>
3220         * bits/std_cwchar.h:  Test for _GLIBCPP_USE_WCHAR_T.
3221         * configure.in:  Test for presence of wchar.h before testing
3222           for any of its features.
3223         * configure:  Regenerate.
3225 1999-11-30  Benjamin Kosnik  <bkoz@gnu.org>
3227         Preliminary istream validations complete.
3228         * bits/istream.tcc (istream::getline): Fixes. Tweaks to make
3229         formatting more consistent. Removal of if-statements inside of for
3230         loops.
3231         (ignore): Fix.
3232         (get): Same.
3233         (putback): Same.
3234         * bits/std_istream.h: Same.
3235         * bits/sstream.tcc (stringbuf::pbackfail): Fix.
3236         * testsuite/27_io/stringbuf.cc: Tweak.
3237         * testsuite/27_io/istream_unformatted.cc (test02): Mo' tests.   
3239         * bits/ostream.tcc (ostream::operator<<(arith)): Set badbit, not
3240         failbit on failure, as per 27.6.2.5.2.
3242         * stl/bits/std_vector.h: Allow bool specializations. Should move
3243         ext/std_bvector to bits, not ext, maybe.
3245 1999-11-30  Mumit Khan  <khan@xraylith.wisc.edu>
3247         * configure.in: Fix checks for mbstate_t and WCHAR_MIN/MAX.
3248         * configure: Regenerate.
3249         
3250 999-11-29  Benjamin Kosnik  <bkoz@gnu.org>
3252         * bits/istream.tcc (get(streambuf, char)): Fix.
3253         * testsuite/27_io/istream_unformatted.cc (test03): Add tests.
3254         
3255 1999-11-29  Scott Snyder  <snyder@fnal.gov>
3257         * bits/basic_string.h (append(const _Char*, size_type)): The
3258         length of the appended string is given exactly by the second arg,
3259         regardless of the data in the character array.
3260         * bits/string.tcc (basic_string(const _CharT*, size_type, const
3261         _Alloc&)): Likewise.
3262         * testsuite/21_strings/append.cc (test01): Remove erroneous test
3263         of basic_string::append.
3265 1999-11-29  Chip Salzenberg  <chip@valinux.com>
3267         * Makefile.in: Tweaks for CXXFLAGS.
3268         * */Makefile.in: Same.
3270 1999-11-29  Mumit Khan  <khan@xraylith.wisc.edu>
3272         * conficd bgure.in: Check for wide character support.
3273         * bits/c++config.h.in (_GLIBC_USE_WCHAR_T): Move from here ...
3274         * acconfig.h (_GLIBC_USE_WCHAR_T): to here.
3275         * bits/string.tcc (wstring::_S_find): Guard wchar_t specialization.
3276         
3277 1999-11-29  Mumit Khan  <khan@xraylith.wisc.edu>
3279         * acinclude.m4: Fix typo.
3280         * src/complex.cc: Fix macro line continuation.
3281         
3282 1999-11-29  Petter Urkedal  <petter@matfys.lth.se>
3284         * src/Makefile.am (CXXFLAGS): Add -Wno-format to allow non-
3285         string literals in format, as used in locale-facets.tcc.
3287 1999-11-28  Benjamin Kosnik  <bkoz@gnu.org>
3289         * testsuite/27_io/istream_unformatted.cc (test03): Add tests.
3290         * bits/istream.tcc (istream::get): Extract to argument minus one.
3291         Various tweaks and fixes.
3292         
3293 1999-11-22  Mumit Khan  <khan@xraylith.wisc.edu>
3295         * bits/locale_facets.tcc: Workaround for compiler crash on
3296         ix86-*-mingw32.
3298 1999-11-21  Mumit Khan  <khan@xraylith.wisc.edu>
3300         * acinclude.m4: New file. New _GLIBCPP_CHECK_FLOAT_SUPPORT macro.
3301         * configure.in: Use.
3302         * acconfig.h: New _GLIBCPP_BUGGY_FLOAT_COMPLEX macro.
3303         * src/complexf.cc: New _GLIBCPP_FLOAT_SPECIALIZATION macro.
3304         * bits/std_complex.h: Use.
3305         * src/complex.cc: Use.
3307 1999-11-19  Mumit Khan  <khan@xraylith.wisc.edu>
3309         * testsuite/18_support/numeric_limits.cc: Add missing std:: prefix.
3310         * testsuite/21_strings/inserters_extractors.cc: Likewise.
3311         * testsuite/22_locale/ctype.cc: Likewise.
3312         * testsuite/23_containers/multiset.cc: Likewise.
3313         * testsuite/23_containers/vector_ctor.cc: Likewise.
3314         * testsuite/26_numerics/binary_closure.cc: Likewise.
3315         * testsuite/27_io/fpos.cc: Likewise.
3316         * testsuite/27_io/ios_base_callbacks.cc: Likewise.
3317         * testsuite/27_io/istream_extractor_arith.cc: Likewise.
3318         * testsuite/27_io/istream_extractor_char.cc: Likewise.
3319         * testsuite/27_io/istream_extractor_other.cc: Likewise.
3320         * testsuite/27_io/istream_sentry.cc: Likewise.
3321         * testsuite/27_io/ostream_inserter_char.cc: Likewise.
3322         * testsuite/27_io/ostream_inserter_other.cc: Likewise.
3323         * testsuite/27_io/streambuf.cc: Likewise.
3324         * testsuite/27_io/stringstream.cc: Likewise.
3326 1999-11-19 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3328         * bits/valarray_meta.h: Don't forget to define tanh
3330 1999-11-18  Philip Martin  <pm@corris.dircon.co.uk>
3332        * src/stl-inst.cc: Use typedef to refer to iterator
3333        * stl/bits/stl_algobase.h: Add traits based dispatch for
3334        __normal_iterator in the copy()algorithm
3335        * stl/bits/type_traits.h: Add _Is_normal_iterator trait support
3337 1999-11-18  Kevin Ediger  <kediger@licor.com>
3339         * src/locale.cc (locale::_Imp::_Imp): Use auto_ptr to make
3340         constructors for locale::_Impl exception safe.
3342 1999-11-18  Scott Snyder  <snyder@fnal.gov>
3344         * stl/bits/stl_queue.h: The C++ standard gives the default for the
3345         _Sequence template argument of priority_queue<> as vector<>, not
3346         deque<>.
3348 1999-11-18  Benjamin Kosnik  <bkoz@gnu.org>
3350         * bits/std_sstream.h (stringbuf::_M_really_sync): Add __iend as a
3351         parameter.
3352         * bits/sstream.tcc: Adjust here too.
3353         
3354 1999-11-17  Benjamin Kosnik  <bkoz@gnu.org>
3356         * bits/sbuf_iter.h (istreambuf_iter::equal): Tweak.
3357         * bits/istream.tcc (operator>>): Replace iostate(0) with
3358         iostate(ios_base::goodbit), which is the same thing, but hopefully
3359         a bit clearer.
3360         * bits/locale_facets.tcc (do_get(bool)): Streamline, deal with
3361         libraries issue list 17.
3362         (do_gets): Don't set goodbit explicitly, instead only set on
3363         failures as good bit is the default setting.
3364         * bits/ios_base.h (setf): Set correctly.
3365         * bits/fstream.tcc: Tweak.
3366         * bits/std_sstream.h (_M_really_sync): Fix ibuffer positioning for
3367         in|out bufs that are empty. . .
3368         * testsuite/27_io/istream_extractor_arith.cc (test03): Add.
3369         
3370 1999-11-16  Benjamin Kosnik  <bkoz@gnu.org>
3372         * testsuite/27_io/streambuf.cc (class testbuf): Don't set _M_buf_size.
3373         * bits/std_streambuf.h (setp): Set _M_buf_size, _M_mode.
3374         Add comments "all about _M_buf."
3375         (setg): Set _M_mode.
3377 1999-11-16  Kevin Ediger  <kediger@licor.com>
3379         * bits/locale_facets.tcc (_S_build_float_format): New function.
3380         (_S_output_float): New function.
3381         (num_put::do_put(double)): Use 'em.
3382         (num_put::do_put(long double)): Use 'em.
3383         * testsuite/27_io/ostream_inserter_arith.cc: New file.
3385 1999-11-15  Scott Snyder  <snyder@fnal.gov>
3387         * bits/basic_file.h: Type of __off parm should be __c_streampos, to
3388         match how libio is calling us.
3389         * src/basic_file.cc (sys_seek): Likewise.
3390         * bits/std_fstream.h (basic_filebuf::sync): Restore sync call.
3392 1999-11-15  Benjamin Kosnik  <bkoz@gnu.org>
3394         * docs/17_intro/contribute.html: Add link to assignment form.
3395         * docs/17_intro/libstdc++-assign.txt: New file.
3397         * mkcheck (TESTS_FILE): Move a copy of test files as well as
3398         output files.
3400         * bits/std_streambuf.h (_M_buf_bump): New function.
3401         * bits/streambuf.tcc: Mods to support _M_buf_bump.
3402         (xsputn): Here. Also add checks for output valid.
3403         (xsgetn): Add checks for input valid.
3404         (sputc): Here.
3405         (sgetc): Set _M_in_end to _M_buf + _M_buf_end.
3406         * bits/std_sstream.h (_M_really_sync): Set _M_buf.
3407         Set _M_out_end to variable-length-end.
3408         * bits/sstream.tcc (overflow): Use _M_buf_bump.
3409         (seekpos): Same.
3410         (seekoff): Same.
3411         * bits/fstream.tcc (std): Tweak formatting.
3412         (filebuf::overflow): Simplify.
3413         (filebuf::showmanyc): Same.
3414         (filebuf::underflow): Same.
3415         * testsuite/27_io/filebuf.cc: Fix.
3416         * testsuite/27_io/ostream_inserter_other.cc: Fix.
3417         * testsuite/27_io/ostream_inserter_other-2.tst: New file.
3418         * testsuite/27_io/stringbuf.cc: Tweak.  
3419         * testsuite/27_io/streambuf.cc: Tweak.  
3420         * testsuite/27_io/istream_extractor_other.cc: Fix.
3422 1999-11-11  Matthias Klose  <doko@cs.tu-berlin.de>
3424         * stl_deque.h: Use static_casts<size_type>(signed_type).
3426 1999-11-11  Benjamin Kosnik  <bkoz@gnu.org>
3428         Cleanups for callbacks, more regression hunting. Remaining
3429         failures (1) due to last unresolved stringstream issues, not
3430         regressions per se.
3431         * bits/std_fstream.h: Revert. Disable call to _M_file->sync as
3432         killing 27_io/filebuf.cc tests. . . need another solution.
3434         * bits/streambuf.tcc (_S_copy_streambufs): Fix.
3435         * testsuite/27_io/istream_extractor_other.cc: Tweak comments.
3437         * bits/basic_ios.h: Add cached facets here. UGH. The standard
3438         foils all attempts at a graceful, minimal implementation.
3439         * bits/basic_ios.tcc: Tweaks.
3440         * bits/istream.tcc: Fix.
3441         * bits/ostream.tcc: Fix.
3442         * bits/std_istream.h: Fix.
3443         * bits/std_ostream.h: Fix.
3444         * src/ios.cc (ios_base::imbue): Set _M_locale_ios before calling
3445         callbacks.
3446         * bits/locale_facets.tcc (std): Minor, minor formatting tweak.
3447         (_S_pad_numeric): Make comprehensible.
3449 1999-11-10  Benjamin Kosnik  <bkoz@cygnus.com>
3451         * bits/std_ostream.h: Add callbacks for _M_fnumput.
3452         (_S_ostream_fcache): New function.
3453         Move functions out-of-line.
3454         * bits/ostream.tcc: Put here.
3456         * bits/std_istream.h: Add callbacks for _M_fnumget.
3457         (_S_istream_fcache): New function.
3458         Move functions out-of-line.
3459         * bits/istream.tcc: Put here.
3460         
3461         * bits/basic_ios.tcc (basic_ios::imbue): Tweaks, remove call to
3462         _M_call_callbacks(), as ios_base::imbue does this already.
3463         * src/ios.cc (register_callback): Clean.
3464         (_M_call_callbacks): Same.
3465         * bits/ios_base.h: Callback work.
3466         * testsuite/27_io/ios_base_callbacks.cc (test01): New file.
3467         
3468 1999-11-10  Benjamin Kosnik  <bkoz@cygnus.com>  
3469             Matthias Klose  <doko@cs.tu-berlin.de>
3471         * stl/ext/stl_rope.h: Fix initialization order.
3473 1999-11-09  Scott Snyder  <snyder@fnal.gov>
3475         * bits/std_fstream.h (basic_filebuf::sync): Unconditionally call
3476         _M_file->sync() so that redirection works correctly.
3478 1999-11-09  Benjamin Kosnik  <bkoz@gnu.org>
3480         * bits/istream.tcc: Re-order.
3481         * bits/std_istream.h: Fix getline problems.
3482         * testsuite/27_io/istream_unformatted.cc: New tests.
3483         
3484         Clean up regressions.
3485         * bits/std_sstream.h: Set initial stringbufs correctly.
3487 1999-11-09  Scott Snyder <snyder@fnal.gov>
3489         * stl_vector.h (_M_range_insert): Fix mixing pointers and
3490         vector::iterator.
3491         * testsuite/23_containers/vector_modifiers.cc (test01): New file,
3492         tests.
3493         
3494 1999-11-09  Benjamin Kosnik  <bkoz@cygnus.com>
3496         * src/Makefile.am (CXXFLAGS): Add -Winline.
3497         * src/Makefile.in: Regenerate.
3499 1999-11-05  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3501         * bits/valarray_meta.h (_DEFINE_EXPR_UNARY_FUNCTION): When
3502         building meta-expressions don't forget to take the contained
3503         closures. 
3505 1999-11-02  Benjamin Kosnik  <benjamin@cygnus.com>
3507         * configure: Regenerate.
3508         
3509 1999-11-02  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3511         * bits/valarray_meta.h (_Expr<>::sum): Tweak. Use copy-initialization
3512         syntax.
3513         * bits/valarray_meta.h (min): Likewise.
3514         * bits/valarray_meta.h (max): Likewise.
3516 1999-11-01  Benjamin Kosnik  <bkoz@cygnus.com>
3518         * bits/std_sstream.h (_M_really_sync): Take into account in | out bufs.
3519         * bits/std_streambuf.h (_S_copy_streambufs): New function.
3520         * bits/streambuf.tcc: Define.
3521         * bits/istream.tcc (istream::operator>>(streambuf)): Rewrite.
3522         * bits/ostream.tcc (ostream::operator<<(streambuf)): Rewrite.
3523         * testsuite/27_io/ostream_inserter_other.cc: Add tests.
3524         * testsuite/27_io/ostream_inserter_other-1.tst: New file.
3526         * bits/basic_string.h: Explicitly cast npos to unsigned type,
3527         reported by Richard Atterer.
3528         * bits/char_traits.h: For consistency's sake, here too.
3529         
3530         * configure.in: Bump version to 2.90.7.
3531         
3532 1999-10-31  Benjamin Kosnik  <bkoz@cygnus.com>
3534         * testsuite/27_io/ostream_inserter_char-1.tst: Check file output.
3535         * testsuite/27_io/ostream_inserter_char.cc (test05, test01): Add tests.
3536         * bits/streambuf.tcc (xsputn): Treat--size const char for long loops.
3537         (xsgetn): Same.
3538         * bits/sstream.tcc (seekpos): Tricks, mostly: check _M_mode before
3539         writing into buffer.
3540         (seekoff): Same.
3541         
3542 1999-10-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3544         * bits/valarray_array.h (__valarray_sum): New function.
3545         * bits/valarray_array.h (__valarray_product): Same.
3547         * bits/std_valarray.h (valarray<T>::product): Comment out.
3548         * bits/std_valarray.h (valarray<T>::sum): Use __valarray_sum
3549         instead of accumulate. 
3551         * src/valarray-inst.cc: Remove explicit intantiation of
3552         class multiplies<size_t>, accumulate, valarray<size_t>::product. 
3553         * src/valarray-inst.cc (__valarray_product): Instantiate
3554         explicitly. 
3555         * src/valarray-inst.cc (__valarray_product(const
3556         valarray<size_t>&)): New function.   
3557         * src/valarray-inst.cc (gslice::_Indexer::_Indexer): Don't use
3558         valarray<size_t>::product. Use __valarray_product instead.
3559         
3561 1999-10-25  Benjamin Kosnik  <bkoz@cygnus.com>
3563         * bits/std_ostream.h (ostream.inserters.char): Correctly pad output.
3564         (_S_pad_char): New function. Not done: ios_base::internal.
3565         * bits/ostream.tcc: Clean for above.
3566         * bits/locale_facets.tcc (_S_fill): Remove ostreambufiterator
3567         specialization that was commented out, as ostreams now have to
3568         correctly deal with padding.
3569         * testsuite/27_io/ostream_inserter_char.cc (main): Add tests.
3570         
3571         * testsuite/21_strings/ctor_copy_dtor.cc(test02): Add test case
3572         from mailing list. This is a bug, and should be fixed.
3573         * testsuite/21_strings/inserters_extractors.cc (main): Tweak, fix typo.
3574         
3575 1999-10-22  Petter Urkedal  <petter@matfys.lth.se>
3577         * stl/bits/stl_numeric.h (__power): Replaced argument name `__opr'
3578         to avoid conflict with gcc name mangling.
3579         * stl/bits/stl_algo.h (__transform): Same.
3581 1999-10-21  Benjamin Kosnik  <bkoz@cygnus.com>
3583         * bits/ios_base.h: Change argument names.
3584         * docs/17_intro/BADNAMES: Add __opr.
3585         
3586 1999-10-20  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
3587         
3588         Work on compilation slowdowns from 10-5 to 10-12, which are
3589         related to the _Callback_list inlining/merge-ifcation, which is
3590         still a pending issue, but this stuff is necessary cleanup anyway.
3592         * src/ios.cc: Re-arrange.
3593         * bits/ios_base.h: Tweak.
3594         * bits/basic_ios.tcc: Move out of line definitions here, move
3595         small out-of-line definitions inline.
3596         * bits/basic_ios.h: From here.
3597         
3598         * bits/streambuf.tcc (pbackfail, overflow): Move back inline.
3599         * bits/std_streambuf.h: From here.
3601 1999-10-19  Benjamin Kosnik  <bkoz@cygnus.com>
3603         * testsuite/27_io/istream_extractor_char.cc: Add tests.
3604         * bits/std_istream.h: Tweaks--set eofbit on eof condition.
3605         * bits/istream.tcc (operator>>(istream&, string&): Remove
3606         vestigial issspace hacks and use ctype::is instead.
3607         (getline): Remove unnecessary loops, fortify and pasteurize.
3608         (ws): Same.
3609         
3610 1999-10-18  Benjamin Kosnik  <bkoz@cygnus.com>
3612         * bits/istream.tcc (operator>>): Tweak.
3613         * bits/std_istream.h: Fix according to library issues list 68.
3614         Add typedefs.
3616         * bits/locale_facets.h: Fix table_size to be non-zero.
3618 1999-10-18  Vadim Egorov  <egorovv@HotPOP.com>
3620         * src/basic_file.cc: ifdef instead of comment for binary mode
3622 1999-10-18  Russell Davidson  <russell@qed.econ.queensu.ca>
3624         * bits/std_sstream.h: Stringbuf initialization based on actual,
3625         not allocated, size.
3626         * testsuite/21_strings/inserters_extractors.cc (test06): Add test
3627         case.
3628         
3629 1999-10-17  Benjamin Kosnik  <bkoz@cygnus.com>
3631         * testsuite/26_numerics/c_math.cc (test03): Tweak.
3632         * testsuite/27_io/istream_manip.cc (test01): Corrections due to
3633         sentry change.
3634         * testsuite/21_strings/inserters_extractors.cc (test01): Same.
3636 1999-10-14  Benjamin Kosnik  <bkoz@cygnus.com>
3638         * bits/std_istream.h: Tweaks.
3639         * bits/istream.tcc (istream::sentry::sentry()): Simplify, correct
3640         as per issues list addition--set failbit, eof on empty buffers.
3641         * testsuite/27_io/istream_sentry.cc: New file.
3642         
3643 1999-10-12  Chris Prince <prince@wcug.wwu.edu> 
3645         * bits/std_cstdio.h: Remove Solaris hacks.
3647 1999-10-12  Phil Edwards  <philip.edwards@sn.wpafb.af.mil>
3649         * docs/index.html:  Fix minor typos and tweaks.
3650         * docs/17_intro/contribute.html:  Ditto.
3651         * docs/*/howto.html:  Ditto.  More "EGCS"->"GCC" conversion, notes on
3652         thread safety and binary I/O, links to external sites.
3653         * docs/faq/index.html: EGCS/GCC cleanup, new entries for Cygwin
3654         and MT.
3656 1999-10-12  Petter Urkedal  <petter@matfys.lth.se>
3658         * bits/std_cmath.h (abs(float)): When ::absf is not present, call
3659         ::fabs(double) rather than ::abs(int).
3661 1999-10-11  Benjamin Kosnik  <bkoz@milou.cygnus.com>
3663         * bits/std_streambuf.h: Fix minor blip--should explicitly return
3664         *gptr(), not the result of underflow.
3665         (pbackfail): Conform to default behavior.
3666         (overflow): Same.
3667         * bits/streambuf.tcc: Add out-of-line streambuf members.
3668         (xsputn): Tweak.
3669         (xsgetn): Tweak.
3670         * testsuite/27_io/streambuf.cc: New file.
3671         * testsuite/27_io/filebuf.cc: Correct test.
3673 1999-10-08  Benjamin Kosnik  <bkoz@haight.constant.com>
3675         * bits/std_cmath.h: Correctly cast int to double.
3676         * testsuite/26_numerics/c_math.cc: Add test.
3678         * mknumeric_limits (OUT_C): Tweaks.
3679         * src/gen-num-limits.cc: Checks for WCHAR_MIN, WCHAR_MAX before
3680         trying to instantiate type_traits<wchar_t>.
3681         * acconfig.h: Add _GLIBCPP_HAS_WCHAR_MIN_MAX.
3682         * configure.in (LIBS): Plus checks for WCHAR_MIN, WCHAR_MAX.
3683         * configure: Regenerate.
3684         
3685 1999-10-06  Benjamin Kosnik  <bkoz@milou.cygnus.com>
3687         * bits/streambuf.tcc (streambuf::xsgetn): Rewrite.
3688         (streambuf::xsputn): Put in break.
3689         Aiming for parity between these two (mostly) similar functions.
3690         Need to re-write tests.
3691         
3692         * bits/ios_base.h (ios_base::_M_copy_base): Remove declaration.
3693         Make data members protected, not private.
3694         * src/ios.cc (ios_base::_M_copy_base): Move _Callback_list into
3695         ios_base.h. As called only once, collapse into . . .
3696         * bits/basic_ios.h (basic_ios::copyfmt): Fix.
3697         (basic_ios::clear): Throw ios_base::failure on occasion.
3698         (basic_ios::exceptions): Fix.
3699         * testsuite/27_io/ios_members.cc (test02): Add tests.
3700         
3701         * bits/fpos.h: Default initialize.
3702         * testsuite/27_io/fpos.cc (test03): Add test.
3704 1999-10-04  Russell Davidson <russell@qed.econ.queensu.ca> 
3706         * src/basic_file.cc: Fix open modes.
3707         
3708 1999-10-04  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3710         * bits/locale_facets.tcc (num_get<>::do_get): Fix typo.
3712 1999-09-23  Benjamin Kosnik  <bkoz@milou.cygnus.com>
3714         * bits/streambuf.tcc: Yea. Fix this for real.
3715         * testsuite/27_io/ostream_inserter_other.cc: Add file.
3716         * src/Makefile.*: Regenerate.
3718 1999-09-22  Benjamin Kosnik  <bkoz@milou.cygnus.com>
3720         * bits/std_cstdlib.h: Add more linux-specif hacks to the header
3721         files so that stdtof and strtold will be declared. Some hacks
3722         already exits in bits/std_cctype.h -- these should all be removed
3723         at a later date.
3724         * bits/locale_facets.tcc: Add cstring.h include.
3725         _S_format_long: Use long, not int.
3726         Add std_limits.h include, for numeric_limits.
3727         * testsuite/27_io/istream.cc: Make instantiations work when using
3728         -fhonor-std.  
3729         * testsuite/27_io/ostream.cc: Same.
3730         
3731 1999-09-21  Benjamin Kosnik  <bkoz@milou.cygnus.com>
3733         * bits/fpos.h (fpos::operator streamoff): Make const, don't return
3734         a reference. Same for operators == and !=.
3735         * testsuite/27_io/fpos.cc: Add tests.
3737 1999-09-21  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3739         * bits/valarray_array.h: Fix typo.
3741         * mknumeric_limits: Make sure we are regenerating things from
3742         scratch.  Otherwise things get redefined.  Not good.
3744 1999-09-20  Benjamin Kosnik  <bkoz@milou.cygnus.com>
3746         * bits/std_ostream.h: Fix typo.
3747         * bits/std_istream.h: Same.
3748         * bits/std_iomanip.h: Same.
3750         * bits/istream.tcc (sentry::sentry()): Remove optional tie with
3751         ostream, as happens with underflow anyway.
3752         * testsuite/27_io/istream.cc (main): New file.
3753         * testsuite/27_io/ostream.cc (main): New file.
3754         * testsuite/27_io/istream_unformatted.cc: Add tests.
3756         * src/Makefile.am (headers): Add new file.
3757         * src/Makefile.in (headers): Regenerated.
3759         * bits/basic_ios.h: Remove local-related files.
3760         * bits/basic_ios.tcc: New file, add locale-related items.
3761         * src/misc-inst.cc: Add include of basic_ios.tcc, as a hack for now.
3762         * testsuite/27_io/ios_members_static.cc: Change to
3763         * testsuite/27_io/ios_base_members_static.cc: This.
3764         * testsuite/27_io/ios_members.cc: New file.
3765         * testsuite/27_io/stdios_basefield_manip: Change to
3766         * testsuite/27_io/ios_manip_basefield.cc: This.
3767         * testsuite/27_io/stdios_fmtflags_manip: Change to
3768         * testsuite/27_io/ios_manip_fmtflags.cc: This.
3769         
3770         * bits/fpos.h: Fix discarding qualifiers on this when
3771         using _M_position with a const fpos.
3772         * bits/std_iosfwd.h: Tweak.
3773         * testsuite/27_io/fpos.cc: New file.
3775 1999-09-17  Benjamin Kosnik  <bkoz@milou.cygnus.com>
3777         * bits/streambuf.tcc (streambuf::xsputn): Tweak.
3778         * bits/ostream.tcc: Tweak.
3779         * testsuite/21_strings/inserters_extractors.cc (test04, test05):
3780         Add new regressions.
3781         
3782 1999-09-16  Benjamin Kosnik  <bkoz@milou.cygnus.com>
3784         * bits/basic_ios.h: Inline, tweak.
3785         * bits/fstream.tcc (basic_filebuf::_M_really_overflow): Tweak,
3786         pass back accurate return value to basic_filebuf::overflow.
3787         * bits/streambuf.tcc (streambuf::xsputn): Fix overflow accounting.
3788         This fixes sstream problems reported in libstdc++/9, but screws up
3789         filebufs. That solution is pending.
3791 1999-09-15  Vadim Egorov  <egorovv@1c.ru>
3793         * bits/streambuf.tcc (basic_streambuf::xsputn): Add check for 
3794         zero count puts.
3795         * testsuite/21_strings/inserters_extractors.cc (test01): Add test.
3796         
3797 1999-09-08  Benjamin Kosnik  <bkoz@milou.cygnus.com>
3799         * bits/c++config.h.in: Add emacs hints.
3801         * stl/bits/stl_range_errors.h: Don't define here, for now define
3802         in stdexcept.cc along with string inlines __length_error, etc.
3803         * src/stdexcept.cc: Define here.
3804         * stl/bits/stl_config.h (__STL_CAN_THROW_RANGE_ERRORS): Enable, so
3805         at(size_t) will be declared/defined.
3806         (__STL_THREADS): Fix mess surrounding use of this, enable.
3808 1999-08-31  Benjamin Kosnik  <bkoz@milou.cygnus.com>
3810         * testsuite/27_io/istream_extractor_arith.cc: Fix.
3811         * src/localename.cc: Tweak formatting, fix assignment to
3812         const compiler errors.
3814 1999-08-25  Benjamin Kosnik  <bkoz@cygnus.com>
3816         * acconfig.h: Add absf, cosf.
3817         * configure.in (use_builtin_sinf): Same.
3818         * configure: Regenerate.
3819         * bits/std_cmath.h: Add mess of defines.
3820         * testsuite/26_numerics/modf_float.cc: Change to
3821         * testsuite/26_numerics/c_math.cc: This.
3822         
3823         * src/locale.cc: Change.
3824         * bits/locale_facets.h: Fix.
3825         * testsuite/22_locale/ctype.cc: Add temporary tests.
3826         
3827 1999-08-24  Benjamin Kosnik  <bkoz@cygnus.com>
3829         * bits/fpos.h: Test.
3831         * docs/index.html: Add powerpc-linux-gnu results with gcc-2.95.1.
3832         Fix database name for "libstdc++".
3834 1999-08-23  Benjamin Kosnik  <bkoz@cygnus.com>
3836         * mknumeric_limits (numeric_limits): Add default definitions to
3837         member functions.
3838         * testsuite/18_support/numeric_limits.cc: New file.
3840 1999-08-18  Benjamin Kosnik  <bkoz@cygnus.com>
3842         * bits/std_istream.h: Correct initialization.
3843         * bits/std_ostream.h: Likewise.
3844         * bits/std_sstream.h: Likewise.
3845         * bits/std_fstream.h: Likewise. 
3846         * testsuite/27_io/stringstream.cc: Add test case.
3847         
3848         * bits/std_sstream.h: Replace ____string_type with __string_type.
3849         * bits/basic_ios.h (basic_ios::rdbuf(sb*): Call clear(), as required.
3850         * bits/std_ostream.h: Tweak dtor.
3852 1999-08-17  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
3854         * src/Makefile.am (CXXFLAGS): Add -O2.
3855         * src/Makefile.in: Likewise.
3856         
3857         * src/gen-num-limits.cc: Conditionally allow wchar_t. See what
3858         this breaks. . .
3859         * mknumeric_limits (numeric_limits): Uglify.
3861         * bits/std_istream.h: Fix warnings.
3862         * bits/locale_facets.tcc: Collateral damage from
3863         char_traits<char>::int_type change.
3865         * testsuite/27_io/istream_extractor_char.cc: Terminate strings.
3867 1999-08-17  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
3869         * docs/index.html: Add mailing list form.
3870         * docs/27_io/howto.html: Add link to iostreams_hierarchy.pdf.
3872 1999-08-16  Benjamin Kosnik  <bkoz@cygnus.com>
3874         * bits/streambuf.tcc (streambuf::xsputn): Allow copies to continue
3875         if overflow successfully allocates more space.
3876         * bits/std_sstream.h: Adjust comments.
3877         * bits/sstream.tcc (stringbuf::overflow): Copy buffer into string
3878         before overflow forces a resize.
3879         * testsuite/27_io/ostream_inserter_char.cc: New file.
3880         
3881         * bits/std_fstream.h: Remove declaration.
3882         * bits/fstream.tcc: Move uflow.
3883         * bits/std_streambuf.h: To here.
3884         * bits/streambuf.tcc: Make consistent.
3885         
3886         * src/Makefile.am (WERROR): Enable.
3887         * src/Makefile.in: Regenerate.
3888         * bits/sbuf_iter.h: Tweak.
3889         * bits/char_traits.h: (char_traits<wchar_t>::eof): Use WEOF.
3890         Use unsigned int as char_traits<char>::int_type.
3892         * bits/ostream.tcc (ostream::putc(char)): Tweak.
3893         * testsuite/27_io/iostream_objects.cc: Terminate string.
3894         Move cin::operator>>(char*) test to extractor_char.cc.
3895         * testsuite/27_io/stringstream.cc: Add stringstream instantiation.
3896         * bits/std_istream.h (basic_iostream): Make explicit definition
3897         for default ctor.
3898         * bits/std_sstream.h: Fix typos.
3899         * bits/fstream.tcc (_M_init_filebuf): Set to indeterminate for
3900         basic_filebuf ctor with fileno open arguments. Thus, filebufs are
3901         initialized in a consistent manner, no matter if the underlying
3902         FILE/bit bucket is a tty or a text file or some other imaginary
3903         construct. This and setting _M_buf_size to 1 for cin allows
3904         istream::get(char) to work in a manner consistent with what others
3905         expect.
3907         * docs/index.html: Link Stroustrup's C++ page.
3908         
3909 1999-08-12  Michael Cook  <cook@sightpath.com>
3911         * bits/fstream.tcc: Fix signed/unsigned -Wall warning.
3912         * bits/istream.tcc: ditto.
3913         * bits/sbuf_iter.h: ditto.
3914         * bits/std_istream.h: ditto.
3915         * src/Makefile.am: Add -Wall to CXXFLAGS.
3916         * src/Makefile.in: ditto.
3918 1999-08-12  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
3919             Russell Davidson <russell@ehess.cnrs-mrs.fr> 
3921         * bits/locale_facets.tcc (_M_extract): Finish off patch from yesterday.
3922         * src/Makefile.am (myinstallheaders): Tweak, remove PHONY.
3923         
3924 1999-08-11  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
3926         * testsuite/27_io/istream_unformatted.cc: New file.
3928         * testsuite/27_io/istream_extractor_arith.cc (test02): Add more
3929         elaborate tests for int types with noskipws.
3931         * testsuite/27_io/istream_extractor_other-1.txt: New file.
3932         * testsuite/27_io/istream_extractor_other-1.tst: New file.
3933         * testsuite/27_io/istream_extractor_other-2.tst: New file.      
3934         * testsuite/27_io/istream_extractor_other.cc: Add tests.
3935         * bits/istream.tcc: Fix operator>>(streambuf*).
3937         * testsuite/23_containers/vector_ctor.cc (test01): Add.
3939         * docs/index.html: Remove references to egcs.
3940         * docs/17_intro/DESIGN: Same.
3941         * docs/17_intro/contribute.html: Same.
3942         * docs/17_intro/RELEASE-NOTES: Ditto.
3943         * docs/17_intro/howto.html: Same here.
3945         Russell Davidson <russell@ehess.cnrs-mrs.fr>
3946         * stl/bits/stl_vector.h (_M_insert_aux): 
3947         * bits/locale_facets.tcc (_M_extract): Tweaks for preliminary
3948         decimal/floating point support.
3949         * bits/locale_facets.h: Change _M_extract prototype.
3950         * bits/char_traits.h (char_traits::to_int_type): Cast to unsigned.
3951         * bits/std_istream.h (istream::read(char_type, streamsize)): Fix.
3952         
3953 1999-08-10  Michael Cook  <cook@sightpath.com>
3955         * bits/fstream.tcc: Fix for unused variable warning (-Wall).
3956         * bits/ios_base.h: ditto.
3957         * bits/istream.tcc: ditto.
3958         * bits/locale_facets.h: ditto.
3959         * bits/locale_facets.tcc: ditto.
3960         * bits/std_streambuf.h: ditto.
3961         * src/basic_file.cc: ditto.
3962         * src/locale.cc: ditto.
3963         * src/localename.cc: ditto.
3965 1999-08-10  Kirat Singh  <singhki@jany.gs.com> 
3967         * bits/std_iomanip.h: Inline.
3968         
3969 1999-08-10  Alfred Minarik <a8601248@unet.univie.ac.at>
3970         
3971         * bits/std_streambuf.h: Correct member initialization order.
3972         * src/ios.cc: Add definitions for ios_base data members.
3973         
3974 1999-08-06  Phil Edwards  <pedwards@ball.com>
3975         
3976         * docs/index.html:  Seventh snapshot updates.  Minor tweaks.
3977         * docs/faq/index.html: Ditto.  Removed bugs sections that have
3978         been fixed for a long time...  Lots of "egcs" references still
3979         exist.
3980         * docs/faq/index.txt:  Regenerated.
3982 1999-08-05  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3983             Andreas Amann <amann@physik.tu-berlin.de>
3985         * testsuite/26_numerics/binary_closure.cc (main): new test.
3987 1999-07-29  Andreas Amann <amann@physik.tu-berlin.de>
3989         * bits/valarray_meta.h: (_BinClos<>::_Binclos): fix typo causing
3990         segmentation fault.
3992 1999-08-04  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
3994         * docs/index.html (host): Put in testing status.
3996 1999-08-03  Benjamin Kosnik  <bkoz@cygnus.com>
3998         * docs/index.html: Update for libstdc++-2.90.6 release.
3999         * docs/17_intro/RELEASE-NOTES (New): Update.
4000         * docs/17_intro/BUGS: Update.
4001         * bits/c++config.h.in (__GLIBCPP__): Bump version number.
4002         * README (file): Update.
4004 1999-08-03  Benjamin Kosnik  <bkoz@cygnus.com>
4006         * src/Makefile.am (generated_headers): Remove bits/c++config.h as
4007         a target.
4008         ($(generated_headers)): Same.
4009         * src/gen-c++config.cc: Remove, rename to
4010         * bits/c++config.h.in: New file. Bump version number.
4011         * configure.in: Generate bits/c++config.h at configure time. 
4012         * math/mathconf.h: include bits/c++config.h, not config.h.
4013         
4014         * bits/std_cmath.h: Fix remaining link error for solaris shared
4015         builds.  _GLIBCPP_HAS_BUILTIN_SINF has to be disabled for the time
4016         being, as on Solaris this silently calls sinf, which does not
4017         exist.
4018         
4019         * src/complex.cc: More tweaks.
4021 1999-08-03  Benjamin Kosnik  <bkoz@cygnus.com>
4023         * src/complex.cc: Same.
4024         * math/complex-stub.h: Change.
4025         * math/c_log10*.c: Change back to clog10*.c.
4027         * configure.in (NEED_C_LOG10): Delete.
4028         * configure: Regenerate.
4029         * math/Makefile.am: Change.
4030         
4031 1999-07-30  Benjamin Kosnik  <bkoz@cygnus.com>
4033         * math/Makefile.am: Fix, for real.
4034         * configure.in (use_builtin_sinf): Ok, make autoconf solution.
4035         * math/clog.c: Move to c_log.c.
4036         * math/clog*: Ditto.
4037         * math/c_log10l.c (c_log10l): Change function name.
4038         * math/c_log10f.c (c_log10f): Change function name.
4039         * math/c_log10.c (c_log10): Change function name.
4040         
4041         * math/complex-stub.h: Change to c_log* variants.
4042         * src/complex.cc: And here. 
4043         
4044 1999-07-29  Benjamin Kosnik  <bkoz@cygnus.com>
4046         * testsuite/27_io/istream_extractor_other.cc: Correct last test.
4047         * bits/sstream.tcc (stringbuf::overflow): Don't update the input
4048         sequence, just the output sequence.
4049         * bits/std_sstream.h (stringbuf::str()): Only in stringbufs return
4050         the original string, all others use complicated heuristic.
4052         * src/complex.cc: Assume c_log10.
4053         * math/Makefile.am (EXTRA_yes): Fix c_log/c_logf unresolved
4054         symbols in shared libraries by making c_log/c_log10 part of the
4055         "must cmpile" sources. This may not work on solaris, must check.
4057 1999-07-29  Benjamin Kosnik <bkoz@cygnus.com>
4059         * bits/istream.tcc (operator>>(streambuf*)): Re-do.
4060         * bits/std_istream.h: Fix char extractors.
4061         * testsuite/27_io/istream_extractor_char.cc: Change.
4062         * testsuite/27_io/istream_extractor_other.cc: Add tests.
4063         
4064 1999-07-28  Benjamin Kosnik <bkoz@cygnus.com>
4066         * bits/std_cctype.h: Fix for solaris2.6 builds. 
4068         * bits/istream.tcc: Fix, thanks Alfred.
4069         * bits/std_istream.h: Formatting changes.
4071         * libio/Makefile.am (libio_la_SOURCES): Remove cleanup.c, so that
4072         _IO_cleanup will not be undefined.
4073         * libio/*: Regenerate.
4074         
4075         * bits/basic_string.h: More namespace-safety stuff.
4076         * testsuite/27_io/istream_extractor_char.cc: Fix.
4077         * testsuite/27_io/istream_extractor_arith.cc: Fix.
4078         * testsuite/27_io/iostream_objects.cc: Fix.
4079         * testsuite/27_io/ios_ctor.cc: Fix.
4080         * testsuite/27_io/istream_manip.cc: Make namespace safe.
4081         * testsuite/27_io/istream_extractor_other.cc: New file.
4083         * mkcheck (TESTS_FILE): Tweaks.
4085 1999-07-27  Benjamin Kosnik  <bkoz@cygnus.com>
4087         * src/gen-c++config.cc: Note here, change version.
4088         * acconfig.h( _GLIBCPP_USE_CTYPE_ISBIT): New macro.
4089         * src/locale.cc: Used here.
4090         * configure.in (use_builtin_sinf): Check for _ISBit using autoconf.
4092         * aclocal.m4: Regenerate by running `aclocal -I m4.`
4093         
4094         * bits/istream.tcc: Fix.
4095         * bits/std_istream.h: More changes to extractors.
4097         * testsuite/27_io/istream_extractor_char.cc: More.
4098         * testsuite/21_strings/inserters_extractors.cc (test01): Fix logic
4099         error in testsuite construction.
4101         * bits/std_istream.h: Partially revert.
4102         * bits/std_ostream.h: Same.
4103         * bits/std_sstream.h: Revert. 
4105 1999-07-26  Benjamin Kosnik  <bkoz@cygnus.com>
4107         * bits/std_sstream.h: Change initialization.
4108         * bits/std_ostream.h: Make default ctor/assign/operator= private.
4109         * bits/std_istream.h: Same, also correct sentry args.
4110         * bits/istream.tcc: Add correct sentry args.
4111         
4112         * testsuite/27_io/istream_extractor_char.cc: New file.
4113         * testsuite/27_io/istream_extractor_arith.cc: New file, old file,
4114         name changes making me dizzy.
4116 1999-07-26  Ulrich Drepper  <drepper@happy.cygnus.com>
4117             Benjamin Kosnik  <bkoz@cygnus.com>
4119         * aclocal.m4, config.guess, config.sub, ltconfig ltmain.sh: Update
4120         to libtool 1.3.3.
4122 1999-07-26 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4124         * bits/std_complex.h: Tweak. Make the primary template class
4125         complex work with user-defined numerical types.  Provide member
4126         definitions.  Restructure.
4127         (class complex<float>): Uglify.  Remove  __value().  Rename __val
4128         to _M_value.  Rename __complex_value_type to _ComplexT. Make it
4129         private.  Remove dependency on __value().  Fix various explicit
4130         specialization syntax.  Declare a some functions friend.  Now the
4131         implementation is nearly comforming.
4132         (class complex<double>): Likewise.
4133         (class complex<long double>): Likewise.
4135         * src/complex.cc: Tweak.  Remove dependency on complex::__value().
4136         (sin, sinh, tan, than): Fix call to corresponding C9x function
4137         syntax. 
4139 1999-07-24  Benjamin Kosnik  <bkoz@fidel.cygnus.com>
4141         * bits/istream.tcc (ws): Fix error with failbit being set.
4143         Disabled due to egcs/gcc-2_95 internal compiler errors.
4144         * src/Makefile.am (CXXFLAGS): Add -fsquangle -fhonor-std
4145         -fnew-exceptions. Compiling with namespaces enabled will now be
4146         the default.
4147         * mkcheck (CXX_FLAG): Same.
4148         * src/gen-c++config.cc (_GLIBCPP_USE_NAMESPACES): Yup. New macro.
4149         * bits/std_cctype.h: Not enough to just define in namespace std if
4150         ctype-isms are macros. Need to also define in namespace std:: if
4151         the C functions are just plain functions.
4153         * src/gen-num-limits.cc: Fix spelling inconsistencies.
4154         
4155 1999-07-24  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4157         * docs/18_support/howto.html: Start documentation.  Need to keep
4158         track of the ongoing discussion in th LWG reflector.
4160         * src/gen-num-limits.cc: Tweak.
4161         (class predicate): New class.
4162         (class value): Likewise.
4163         Make the whole machinery more flexible. Add comments.
4165 1999-07-23  Benjamin Kosnik  <bkoz@fidel.cygnus.com>
4167         * bits/ios_base.h: Move state/exception functions into basic_ios. 
4168         * bits/basic_ios.h: Same.
4169         * src/ios.cc: And here. Callbacks don't attempt to reset
4170         state now.  
4172         * bits/std_streambuf.h: Separate ios and streambuf locale data
4173         members and cached facets. Using this convention: _M_locale_buf for
4174         the streambuf-related classes, and _M_locale_ios for the ios
4175         hierarchy.
4176         * bits/fstream.tcc: And here.
4177         * bits/basic_ios.h: And here. Also, add cached ctype.
4178         * src/ios.cc: Ditto.
4179         * bits/ios_base.h: Ditto.
4180         * bits/std_istream.h: Use cached ctype facet.
4181         * docs/27_io/iostreams_hierarchy.pdf: Update for new data member
4182         arraignment.
4184         * testsuite/27_io/ios_ctor.cc: New file.
4185         * src/ios.cc: Move _M_state init to basic_ios::init().
4186         * bits/basic_ios.h: To here.
4187         
4188         Attempt for some consistency in naming for testsuite/27_io/*.cc.
4189         * testsuite/27_io/boolfmt.cc: Rename to stdios_fmtflags_manip.cc
4190         * testsuite/27_io/octfmt.cc: Rename to stdios_basefield_manip.cc
4191         * testsuite/27_io/istream_manip.cc: Rename to istringstream_manip.cc.
4192         * testsuite/27_io/ostream_manip.cc: Rename to ostringstream_manip.cc.
4193         
4194 1999-07-22  Benjamin Kosnik  <bkoz@fidel.cygnus.com>
4195         
4196         * src/ios.cc: Tweak initializations of standard iostream
4197         objects to closely match the standard. Tie cin/wcin, set flags on
4198         cerr/wcerr
4199         * bits/char_traits.h: Change from size_t to int_type, as per
4200         standard. As per wide streams.
4201         * bits/basic_ios.h: Infect with __ctype_type, as a preparation
4202         for caching a bunch of ctype info. For instance, ctype_base::space
4203         info needs to be stored somewhere, somehow.
4204         * bits/std_istream.h: Also here.
4205         * bits/std_ostream.h: Ditto.
4206         * bits/std_istream.h (operator>>(istream, char): Aggh. Fixup.
4207         * testsuite/27_io/iostream_objects.cacc (test01): Oh yeah. Fix
4208         stream states.
4210         * bits/istream.tcc (ws): Fix.
4211         * testsuite/27_io/istream_manip.cc: New file, test ws.
4212         * testsuite/27_io/ostream_manip.cc: New file, test endl, ends, flush.
4214         * bits/basic_string.h: Provide a specialized member function for
4215         _S_find<char> using strchr.
4216         * src/string-inst.cc: Put specializations here.
4217         * bits/string.tcc: Small fix for find, remove typo.
4218         * testsuite/21_strings/find.cc (test01): Add tests to catch this
4219         find bug. . .
4221 1999-07-20  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>       
4223         * bits/basic_ios.h: Put into basic_ios namespace.
4224         Tweak widen/narrow.
4226 1999-07-19  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>       
4228         * bits/std_sstream.h (stringbuf::sync): Change to _M_really_sync,
4229         adjust _M_*_cur pointers inside the function, so callee doesn't
4230         have to adjust.
4231         * bits/sstream.tcc (stringbuf::overflow): Tweak.
4233         * mkcheck: Tweak. Add execution time field, even though it is not
4234         implemented yet. Simplify pass/fail status notation.
4236 1999-07-18  Mumit Khan  <khan@xraylith.wisc.edu>
4238         * configure.in: Check for float.h and underscored version of 
4239         math functions.
4240         * acconfig.h: Add @BOTTOM@ section for handling underscored
4241         math functions.
4242         * configure: Regenerate.
4243         * config.h.in: Regenerate. 
4244         * math/mathconf.h (float.h): Include conditionally.
4245         (M_PI): Define conditionally.
4246         (INFINITE_P): Define for Mingw.
4247         * bits/locale_facets.tcc: Workaround for compiler crash on
4248         ix86-*-mingw32.
4249         * bits/std_cwchar.h (bits/std_cstddef.h): Include.
4250         * src/locale.cc (bits/std_istream.h): Include.
4251         (bits/std_ostream.h): Likewise.
4253 1999-07-18  Phil Edwards  <pedwards@ball.com>
4255         * docs/faq/index.html:  Updated __black_count notes, fixed typos.
4256         * docs/faq/index.txt:  Regenerated.
4258 1999-07-15  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
4260         * testsuite/27_io/stringbuf.cc: Cccchanges, latent bugs.
4262         * bits/sstream.tcc (stringbuf::overflow): Modify accounting of
4263         newly-allocated buffer.
4264         * bits/streambuf.tcc (streambuf::xsgetn): Aaaaaah. Fix final
4265         overflow condition bits.
4267 1999-07-14  Benjamin Kosnik  <bkoz@cygnus.com>
4269         * bits/std_sstream.h (stringbuf::_M_init_stringbuf): Set
4270         _M_buf_size to initial _M_string.size(), even though for
4271         ostringstreams it is pretty pointless. It's necessary for
4272         istringstreams.
4273         (stringbuf::str()): Adjust. 
4274         (stringbuf::str()): Adjust, call _M_init_stringbuf.
4275         * bits/streambuf.tcc (streambuf::xsgetn): Adjust return value for
4276         overflow's possible success.
4277         (streambuf::xsputn): Adjust.
4278         
4279         * testsuite/27_io/filebuf.cc: Adjust for the xsgetn re-write from
4280         yesterday.
4281         * testsuite/27_io/stringbuf.cc: Tweak.
4282         * testsuite/21_strings/inserters_extractors.cc (test01): Remove
4283         notes to myself.
4284         * testsuite/23_containers/vector_cons.cc: Rename to be consistent
4285         with other constructor tests to. . .
4286         * testsuite/23_containers/vector_ctor.cc: New file.
4287         
4288 1999-07-14  Alfred Minarik <a8601248@unet.univie.ac.at>
4290         * testsuite/*: Changes to make the testsuit compilable with
4291         -fhonor-std. Contains direct qualification of library names with
4292         std::.
4294 1999-07-13  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
4296         * bits/streambuf.tcc: Tweaks.
4297         (streambuf::xsputn): Optimize, fix for sstreams.
4298         (streambuf::xsgetn): Same.
4299         * bits/sstream.tcc (stringbuf::overflow): Adjust _M_buf_size
4300         correctly, handle overflow/reallocate conditions correctly.
4301         * bits/std_sstream.h: Fix typo.
4302         _M_init_stringbuf(): Fix _M_buf_size initialization.
4303         (stringbuf::str()): Construct return string if output has occurred.
4305         * bits/basic_string.h: Fix typo from yesterday's patch.
4307 1999-07-12  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
4309         * bits/string.tcc: _M_mutate - clear _M_state again.
4310         * bits/basic_string.h: In the three functions that return
4311         an iterator set _M_state to -1 before return.
4312         Also optimized two cases of operator+.
4313         
4314 1999-07-12  Phil Edwards  <pedwards@ball.com>
4316         * docs/index.html:  Expand egcs-1.1.2 notes/links.
4317         * docs/faq/index.html:  And here.  Add links to LWG issues-list.
4318         * docs/faq/index.txt:  Regenerate.  (lynx rocks)
4319         * docs/21_strings/howto.html:  Fix notes on case conversion.
4320         * docs/21_strings/stringtok_h.txt:  Goodly spelling...
4321         * docs/23_containers/howto.html:  Stub for bitmasks.
4322         * docs/27_io/howto.html: Add section on buffering, stub binary.
4323         
4324 1999-07-12  Nathan Myers <ncm@cantrip.org>
4326         * stl/bits/stl_tree.h (__black_count): Optimize.
4328 1999-07-09  Vadim Egorov  <egorovv@1c.ru>
4330         * src/basic_file.cc: Cleanup in __basic_file destructor.
4332 1999-07-08  Benjamin Kosnik  <bkoz@cygnus.com>
4334         * bits/std_streambuf.h: Changes. . .
4335         * bits/streambuf.tcc: Merge xsputn from filebuf into xsputn in
4336         basic_streambuf, to be used for both filebufs and streambufs.
4337         * bits/std_fstream.h (_M_init_filebuf): New function.
4338         Take out specialized xsputn, put into basic_streambuf.
4339         * bits/fstream.tcc: Define, call from both ctors.
4340         * bits/std_sstream.h (_M_init_stringbuf): New function.
4341         * bits/sstream.tcc: Tweak.
4342         
4343         * docs/27_io/iostreams_heirarchy.pdf: New file.
4344         
4345         * docs/17_intro/CHECKLIST (basic_string<char>): Validation and
4346         acceptance. Wooo-hoo!
4348         * bits/char_traits.h: Change int_type for char_traits general
4349         template, so that 21_strings/capacity.cc will compile.
4350         * testsuite/21_strings/capacity.cc: Add operators.
4351         
4352         * bits/string.tcc (string::compare): Clean up, re-implement.
4353         * testsuite/21_strings/compare.cc: Tweak.
4354         
4355         * bits/string.tcc (string:_M_mutate): Keep leaked value in
4356         _M_state, which means that whenever begin() or end() has been
4357         called, the string is unshareable, period. By doing this, insert
4358         and erase member functions that return iterators can remain
4359         footloose and fancy free. 
4360         * testsuite/21_strings/invariants.cc: Update.
4362         * bits/basic_string.h (string::append): Fix self-referential
4363         problems, ie when "this" is also an argument to a member function.
4364         * bits/string.tcc: Tweak, same.
4365         * testsuite/21_strings/append.cc: New file.
4367 1999-07-07  Benjamin Kosnik  <bkoz@cygnus.com>
4369         * bits/char_traits.h: Tweaks.
4370         * bits/basic_string.h: Tweak.
4371         * bits/fstream.tcc: Remove warning for _M_buf_size assignment.
4373 1999-07-06  Benjamin Kosnik  <bkoz@cygnus.com>
4375         * bits/std_streambuf.h: Absorb/acquire data members previously
4376         working in basic_filebuf.
4377         * bits/streambuf.tcc: Tweaks.
4378         * bits/fstream.tcc: Adjust.
4379         * bits/std_fstream.h: Move and rename the following functions:
4380         _M_set_ideterminate, _M_is_indeterminate, _M_set_determinate are
4381         now declared and defined in the base class, basic_streambuf.  Oh
4382         fuck it, move data members _M_buf, and _M_buf_size into
4383         basic_streambuf as well.
4385         * bits/ostream.tcc: Tweak.
4386         * bits/locale_facets.tcc: Fix typo in comments.
4388         * testsuite/21_strings/inserters_extractors.cc (test01): Change
4389         state from good to not good, as eof() is set.
4391 1999-07-05  Benjamin Kosnik  <bkoz@cygnus.com>
4393         * bits/char_traits.h (char_traits::compare). Fix.
4395         * config.guess, config.sub: Update.
4397 1999-07-02  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
4399         * bits/string.tcc: Check the __res_arg for a length error.
4401 1999-07-01  Benjamin Kosnik  <bkoz@nabi.net>
4403         * bits/std_streambuf.h: Tweaks. Need to move _M_is_indeterminate
4404         and related functions into basic_streambuf, from basic_filebuf to
4405         take care of ostringstreams and empty strings. So that's groovy,
4406         or will be groovy.
4407         * bits/std_istream.h: Tweaks.
4408         * bits/istream.tcc: Implement ws, getline, operator>> for string.
4409         * bits/std_ostream.h: And here.
4410         * bits/ostream.tcc: Same.
4411         * src/misc-inst.cc: Add instantiations for ws.
4412         
4413         * src/string-inst.cc: Add instantiations for inserters and
4414         extractors (operators << and >>, getline).
4416         * testsuite/21_strings/inserters_extractors.cc: Amazingly enough,
4417         a testcase for getline and operators << and >>. Ostream tests are
4418         failing right now, but istream tests should work. . .
4420         * bits/string.tcc: Change _S_max_size, as GNU malloc won't budge.
4421         * bits/std_sstream.h: Revert.
4423         * testsuite/17_intro: header_[iosfwd, ios, iostream, iomanip,
4424         istream, ostream, streambuf, fstream, sstream].cc: New files.
4425         
4426 1999-06-30  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
4428         * bits/std_sstream.h (stringbuf::sync): Don't use string::begin()
4429         and string::end().
4430         
4431         * bits/basic_string.h (basic_string<>::_S_copy_chars): Add
4432         specializations for _CharT*, iterator and const_iterator.
4433         * src/string-inst.cc: Remove explicit instantiation, as
4434         now explicitly specialized.
4436         * bits/basic_string.h: Add a size_type parameter to _M_clone with
4437         a default value set to 0.
4438         * bits/string.tcc: In _M_clone by the call of _S_create add the
4439         value of the new parameter to _M_length.  In reserve check
4440         _M_state and use _M_clone instead of _M_mutate.
4442 1999-06-30  Benjamin Kosnik  <bkoz@happy.cygnus.com>    
4444         * bits/basic_string.h: Fix _S_max_size.
4445         * bits/string.tcc: Add def here.
4446         * testsuite/21_strings/insert.cc: Fix.
4447         
4448         * bits/sbuf_iter.h: Remove detritus.
4449         * testsuite/24_iterators/istreambuf_iterator.cc: Add tests.
4451         * src/locale-inst.cc: Elaborate iterator/locale instantiations
4452         to resolve alpha-osf4 build problems.
4454 1999-06-29  Benjamin Kosnik  <bkoz@happy.cygnus.com>    
4456         * bits/string.tcc: Fix signed/unsigned issues in compares.
4457         * stl/bits/stl_deque.h: And here.
4458         * stl/bits/stl_string_fwd.h: Remove __get_c_string.
4460 1999-06-29  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
4462          * bits/string.tcc: New implementation and interface of _M_mutate.
4463            Adapt the change in all functions that call _M_mutate.
4464          * bits/basic_string.h: And here.
4466 1999-06-29  Benjamin Kosnik  <bkoz@happy.cygnus.com>
4468         * testsuite/21_strings/capacity.cc (test01): Fix.
4470 1999-06-29  Phil Edwards  <pedwards@ball.com>
4472         * mknumeric_limits:  Exit script if gen-num-limits isn't built.
4473         
4474 1999-06-29  Andreas Gruenbacher  <agruenba@pent224.infosys.tuwien.ac.at> 
4476         * stl/bits/stl_vector.h: Fix.
4477         * testsuite/23_containers/vector_cons.cc: Add.
4478         
4479 1999-06-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4481         * mknumeric_limits (LDFLAGS): fix.
4483 1999-06-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4485         * mknumeric_limits (LDFLAGS): set it according to the system.
4487         * math/mathconf.h (NAN): Check whether host is running under
4488         Cygwin and make the appropriate definition.
4489         * math/complex-stub.h (nan): protect declaration.
4491 1999-06-28  Benjamin Kosnik  <bkoz@haight.constant.com>
4493         * bits/sbuf_iter.h: Rename internal data structure to prevent
4494         confusion between basic_ios and istreambuf_iterators internal
4495         basic_streambuf data member.
4496         * testsuite/24_iterators/istreambuf_iterator.cc: New file.
4498         * bits/basic_string.h: Remove conditionals, add input_iterator
4499         version of S_construct again.
4500         * bits/string.tcc: Same.
4501         * src/string-inst.cc: And add explicit instantiation here.
4502         
4503         * src/gen-c++config.cc (_GNU_SOURCE): Take out both _GNU_SOURCE
4504         and __USE_GNU macro defines, as single __USE_GNU use leading to
4505         confusion on glibc2.1 systems (ie, RedHat 6.0).
4506         
4507         * src/Makefile.am (headers): Add std_utility to installed headers.
4509 1999-06-25  John Potter  <jpotter@eagle.lhup.edu>
4511         * stl/bits/stl_tree.h (insert_unique): Revert, just fix insert_equal.
4513 1999-06-25  Gilles Zunino  <Gilles.Zunino@hei.fr>
4515         * mknumeric_limits (LDFLAGS): Swap -lc and -lgcc.
4517 1999-06-24  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
4519         * src/gen-c++config.cc (_GLIBCPP_*): Change all
4520         macros to include _GLIBCPP as a distinct namespace.
4521         * bits/*: And here.
4522         * src/*: And here.
4523         
4524         * stl/bits/std_stdexcept.h: Forward-declare __Named_exception ctor.
4525         * bits/basic_string.h: Remove __get_c_string.
4526         * src/stdexcept.cc: Define ctor here.
4527         * bits/ios_base.h: And fix ios_base::failure as well.
4528         * src/ios.cc: Define here. 
4529         
4530         * bits/std_streambuf.h: Add a private copy ctor and assignment
4531         operator wrapped in _G_RESOLVE_LIB_DEFECTS.
4532         * bits/ios_base.h: And here too.
4533         
4534         * bits/basic_string.h: Tweak.
4535         * testsuite/21_strings/nonmember.cc: Add operator+ tests.
4537         * src/valarray.cc: Rename to. . .
4538         * src/valarray-inst.cc: This.
4539         * src/Makefile.am (sources): Change here.
4540         * src/Makefile.in: Regenerated.
4541         
4542 1999-06-24  Vadim Egorov  <egorovv@1c.ru>
4544         * bits/string.tcc(basic_string<>::_Rep::_S_create): Fixed
4545         allocated size
4547 1999-06-24  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
4548             Tom Tromey  <tromey@cygnus.com>
4549         
4550         * configure.in (use_glibc2): Eek, correct for non-glibc systems.
4551         Use AM_CONDITIONAL to get us out of this jam. . 
4552         * libio/Makefile.am: Same.
4553         * */Makefile: Regenerated.
4555 1999-06-24  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
4556             John Potter  <jpotter@eagle.lhup.edu>
4558         * stl/bits/stl_tree.h (insert_equal): Fix.
4559         * testsuite/23_containers/multiset.cc: New file.
4560         
4561 1999-06-23  Benjamin Kosnik  <bkoz@cygnus.com>
4563         * configure.in (test for glibc2): Correct AC_TRY_COMPILE so that
4564         this works correctly on glibc-2 systems. This should allow
4565         simplified linking on these systems, and successful linking on Red
4566         Hat 6.0 systems.
4567         * configure, Makefile: Regenerate.
4568         
4569         * bits/std_cwctype.h: Add missing 'w' to _S_iswpunct_helper name. 
4570         
4571         * testsuite/ext: New directory.
4572         * testsuite/ext/headers.cc: New file.
4574 1999-06-23  Vadim Egorov  <egorovv@1c.ru>
4576         * stl/ext/hash_set: include missing headers
4577         * stl/ext/hash_map: Same
4578         * stl/ext/slist: Same
4580 1999-06-17  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4582         * bits/std_cmath.h: comment out modf. Kills build on hpux10.20
4584 1999-06-15  Benjamin Kosnik  <bkoz@cygnus.com>
4586         * src/Makefile.am (sources): Regenerate.
4587         * mkcheck: Add TESTS_FILE as a way of controlling what testcases
4588         are run.
4590 1999-06-14  Benjamin Kosnik  <bkoz@cygnus.com>
4592         * src/string-inst.cc: Change _S_construct signature, to
4593         track requested allocation size versus valid input iterator range.
4594         * bits/basic_string.h: Here too.
4595         * bits/string.tcc: And here.
4597 1999-06-12  Benjamin Kosnik  <bkoz@cygnus.com>
4599         * mkcheck (LOG_FILE): Correctly append errors. 
4601         * stl/bits/stl_iterator.h: Revert previous, delirious, change.
4603         * bits/basic_string.h: Change _Rep::_M_data to _Rep::_M_refdata,
4604         to clarify differences between basic_string::_M_data() calls and
4605         _Rep::_M_data() calls.
4606         * bits/std_string.h: Fix.
4607         Put in check for out_of_range in substr.
4608         * bits/string.tcc:  Fix for _S_find.
4610         * testsuite/21_strings/compare.cc: Add tests.
4611         * testsuite/21_strings/find.cc: New file.
4612         * testsuite/21_strings/substr: New file.
4613         * testsuite/21_strings/replace.cc: New file.
4614         
4615 1999-06-11  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4617         * bits/valarray_array.h: __restrict__ify pointers.
4619         * bits/std_valarray.h: Tweak.
4620         (valarray<T>::cshift, valarray<T>::shift): use __builtin_alloca.
4622         * bits/gslice_array.h: Tweak. Reflect changes in bits/gslice.h
4624         * bits/gslice.h: Tweak.
4625         (class gslice::_Indexer): new class.
4626         (gslice::gslice(const gslice&)): implement copy-ctor to support
4627         ref-counted index. 
4628         (gslice::operator=(const gslice&)): support ref-counted index.
4629         (gslice::_M_convert_to_index): delete.
4631         * src/valarray.cc: New file.
4632         (__gslice_to_index): turn a gslice into a valarray<size_t>
4633         (ctor gslice::_Indexer::_Indexer): implement.
4635         * src/Makefile.am (sources): add valarray.cc
4636         * src/Makefile.in: regenerate.
4638 1999-06-08  Benjamin Kosnik  <bkoz@cygnus.com>
4640         * stl/bits/stl_iterator.h (__normal_iterator::const_iterator
4641         ctor): Put in a const_cast.
4643         * testsuite/21_strings/invariants.cc: New file.
4645         * testsuite/21_strings/insert.cc: Add exception handling bits.
4646         * testsuite/21_strings/ctor_copy_dtor.cc: Same.
4648         * src/wstring-inst.cc: Add c++config.h include.
4650         * bits/basic_string.h: Fix const operator[] for size == pos.
4651         Add _M_leak for rbegin, non-const.
4652         Add _M_leak for rend, non-const.
4653         Make member function at standards conformant.
4654         Add _S_terminal to _Rep for operator[] const, add this into
4655         c_str() as well.
4656         * bits/string.tcc: Add static member definition here,
4657         temporarily.
4658         
4659         * testsuite/21_strings/element_access.cc: Add tests.
4661 1999-06-08  Vadim Egorov  <egorovv@1c.ru>
4663          * bits/fstream.tcc (_M_really_overflow): Fixed size of
4664          conversion buffer.
4666 1999-06-08  Phil Edwards  <pedwards@ball.com>
4668         * bits/fstream.tcc (basic_filebuf::xsputn):  Fix off-by-one count
4669           caused when __testinit is true.
4670         * bits/ostream.tcc (basic_ostream::op<<(streambuf*)):  Write buffer
4671           using rdbuf()->sputn rather than _M_fnumput->put.
4673 1999-06-08  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
4675         * testsuite/23_containers/bitset_ctor.cc: New file.
4676         * stl/bits/std_bitset.h (__BITSET_WORDS): Fix integration bug.
4678 1999-06-08  Phil Edwards  <pedwards@ball.com>
4680         * bits/fstream.tcc (basic_filebuf::underflow):  Fix, rename local vars.
4682 1999-06-07  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
4684         * testsuite/21_strings/element_access.cc: Finish off these tests.
4685         * testsuite/21_strings/insert.cc (test01): Uncomment.
4686         * testsuite/21_strings/ctor_copy_dtor.cc (test01): Finish off ctors.
4687         * bits/basic_string.h: Tweak, okay, fix for real this time.
4688         * bits/string.tcc: Same.
4689         * bits/char_traits.h: Tweak.
4691 1999-06-07  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
4693         * bits/std_cmath.h: Example of how to use the generated macro.
4694         * acconfig.h: Add macro for sinf here.
4695         * configure.in (LIBS): Add test for builtin math function sinf.
4696         * configure: Regenerated.
4697         
4698         * bits/basic_string.h: Fix _S_max_size.
4700 1999-06-06  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
4702         * bits/basic_string.h: Fixes for out-of-memory segv for large strings.
4703         Remove _S_construct signature for forward_iterator_tag and
4704         input_iterator_tag.
4705         Clean _M_fold.
4706         * src/string-inst.cc: Same, tweaks. 
4707         * bits/string.tcc: Same, tweaks.
4709         * testsuite/21_strings/ctor_copy_dtor.cc: Add/clarify tests.
4710         * mkcheck (LOG_FILE): Fix filebuf-[2,3].tst checks.
4711         * mknumeric_limits (LD_FLAGS): Add -nodefaultlibs -lc -lgcc as per
4712         Gaby.
4714         * src/locale.cc: Final separation for char/wchar_t bits.
4716 1999-06-05  Phil Edwards  <pedwards@ball.com>
4718         * docs/index.html:  Added link to book upon request'n'agreement.
4719         * docs/23_containers/wrappers_h.txt:  Added.
4720         * docs/{23_containers,27_io}/howto.html:  Added sections.
4722         * bits/std_fstream.h: Tweak.
4723         
4724 1999-06-05  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
4726         * src/ios.cc: Same here.
4727         * bits/std_iosfwd.h: More wchar_t defines.
4729         * bits/basic_string.h: Tweaks. 
4730         * bits/string.tcc: Tweak. Fix _S_construct to check for max_size
4731         when doing error checking, as per LWG defect #83.
4732         
4733         * src/gen-c++config.cc: Fix comment.
4734         
4735         * testsuite/21_strings/ctor_copy_dtor.cc: New file, checks ctors,
4736         assignments, dtors.
4737         * testsuite/21_strings/element_access.cc: New file, checks for
4738         operator[], at(...).
4739         * testsuite/21_strings/insert.cc: New file, tests string::insert.
4740         * testsuite/21_strings/char_traits.cc: New file, tests
4741         for char_traits<char>.
4742         
4743         * bits/utility.h: Remove, again.
4744         * src/Makefile.am (std_headers): Remove utility.h.
4745         * src/Makefile.in (std_headers): Regenerate.
4747         Alfred Minarik <a8601248@unet.univie.ac.at>
4748         * bits/basic_string.h: Move __out_of_range and __length_error into
4749         namespace std.
4751 1999-06-05  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4753         * testsuite/26_numerics/modf_float.cc: New file.
4755         * bits/std_cmath.h (modf(float, float*)): Fix signature. Correct
4756         typo: use ::modff, not ::modf.
4758 1999-06-03  Vadim Egorov  <egorovv@1c.ru>
4760         * bits/string.tcc (basic_string::_M_mutate): Fixed memory
4761         allocation error
4762         * testsuite/21_strings/capacity.cc (test01): Test.
4763         
4764 1999-06-03  Phil Edwards  <pedwards@ball.com>
4766         * bits/fstream.tcc:  Re-order inits to stop warnings.  Comment/move
4767           unused variables to within #if 0 blocks to do the same.
4768         * bits/std_fstream.h:  Fix typos (one prevents compilation).
4770 1999-06-03  Benjamin Kosnik <bkoz@pacifica.cygnus.com>
4772         * src/wstring-inst.cc: Fix.
4774 1999-06-02  Benjamin Kosnik <bkoz@madcow.cygnus.com>
4776         * bits/char_traits.h: Add _G_USE_WCHAR_T macro guards.
4777         * stl/bits/stl_string_fwd.h: Same.
4778         * bits/locale_facets.h: Same.
4779         * bits/locale_facets.tcc: Same.
4780         * src/wstring-inst.cc: And here.
4781         
4782         * src/gen-c++config.cc: Comment _G_USE_WCHAR_T. Leading to
4783         problems on HPUX 10.20.  
4784         * your-build-directory-here/bits/c++config.h: Just kidding, do it
4785         here as a temporary hack till the compiler/host problems get
4786         worked out.
4788         * bits/locale_facets.tcc (num_get::do_get): Change from ifdef
4789         HAVE_STRTOLD to HAVE_STRTOLD && !(__hpux). Apparently, problems
4790         converting "long double" to struct long_double. Probably should be
4791         done with one macro (HAVE_STRTOLD) at configure time.
4793         * bits/std_cmath.h: Comment out pow(double, int) defintion as
4794         gives re-declaration under hpux10.20. Revert previous change, as
4795         kills linux/x86, solaris 2.7, hpux builds. These should be done
4796         using autoconf, see std_cctype.h and the solutions started in
4797         configure.in (see config.h for the generated file.)
4799         * mknumeric_limits (LDFLAGS): Remove '-nodefaultlibs -lc', as
4800         -nodefaultlibs prevents linking under HPUX 10.20 as __main is not
4801         defined.
4803         * docs/index.html: Add some useful links.
4804         * docs/17_intro/contribute.html: Fix broken links.
4806 1999-06-02  Benjamin Kosnik <bkoz@rhino.cygnus.com>
4808         * mkcheck (LOG_FILE): Add !/bin/bash instead of cygnus-style
4809         paths. The rest of the world should be able to run this script
4810         now.
4812         * src/Makefile.am ($(generated_headers)): Remove comment.
4813         * Makefile*: Regenerate.
4814         
4815         * bits/std_locale.h: Remove detritus.
4816         * bits/localefwd.h: Add <cctype> include to undefine the isspace
4817         macro.
4819 1999-06-01  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
4821         * src/gen-c++config.cc: New file. Making c++config.h at configure
4822         time by catting this file (nee bits/config.h) with the build
4823         directories config.h. This is not a complete or perfect solution
4824         but is better than what was in place previously. 
4825         * bits/c++config.h: Rename/move to above.
4826         * src/Makefile.am (headers): Remove c++config.h.
4827         (myinstallheaders). Add.
4828         * Makefile*: Regenerated.
4830         * bits/std_cwchar.h: Add include of c++config.h for HAVE_*
4831         definitions, so that wmemcmp, wcslen, wmemchr, etc are properly
4832         declared only if not present in the host's wchar.h.
4834         * bits/locale_facets.tcc (std): Change _G_USE_STRTO* to HAVE_STRTO*.
4835         
4836         * bits/std_cmath.h: Define out, for the moment. Linux has no
4837         __buitin_fsqrtl? Probably need some kind of configure trickery
4838         here as well.
4840         * src/Makefile.*: Regenerate.
4841         * bits/c++config.h: Add config.h include.
4843         * bits/std_cwchar.h: Remove remaining #error guard.
4844         
4845         * acconfig.h: Add bits for HAVE_LC_MESSAGES.
4847         * configure.in (LIBS): Replace previous effort for mbstate_t and
4848         strtold/strtof with this implementation.
4850 1999 06-01  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4852         * bits/std_cmath.h: Tweak. Add more functions. Use __builtin_xxx
4853         whenever possible.
4855 1999-05-28  Benjamin Kosnik  <bkoz@cygnus.com>
4857         * bits/locale_facets.tcc (std): Eek: this left in. Autoconf bits
4858         for determining mbstate_t differences across various hosts not
4859         finished. 
4861 1999-05-26  Benjamin Kosnik  <bkoz@nabi.net>
4863         * bits/locale_facets.tcc: Change to ifdef.
4865         * bits/std_sstream.h (stringbuf::setbuf): Remove dynamic_cast.
4866         * bits/std_fstream.h (filebuf::setbuf): Same.
4868         * bits/std_istream.h: Add ws declaration.
4869         * bits/istream.tcc: Stub out definition.
4870         
4871         * docs/index.html: Fix broken link for design.txt.
4873         * configure.in: Test for mbstate_t. If wchar.h doesn't have it,
4874         then set _G_NEED_MBSTATE_T.
4875         * configure: Regenerate.
4876         * bits/c++config.h: Move mbstate_t define.
4877         * bits/std_cwchar.h: To here.
4879 1999-05-25  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
4881         * bits/std_sstream.h:
4882           basic_stringbuf<>::basic_stringbuf: fix.
4883           basic_stringbuf<>::setbuf: 
4884           remove the temporary __string_type object,
4885           remove the unnecessary dynymic_cast in the return value,
4886           change the type of the returned value from __streambuf_type*
4887           to basic_stringbuf<_CharT, _Traits, _Alloc>*.
4889 1999-05-25  Phil Edwards  <pedwards@ball.com>
4891         * bits/std_streambuf.h (streambuf::setbuf): Always return streambuf*. 
4893 1999-04-25  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4895         * bits/std_cmath.h: Tweak. Add float versions of the math functions
4896         in <math.h>.  <cmath> still incomplete and incorrekt.
4898 1999-05-24  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4900         * mknumeric_limits (LDFLAGS): set appropriate link flags.
4901         
4902 1999-05-23  Phil Edwards  <pedwards@ball.com>
4904         * docs/17_intro/howto.html:  Added links to text docs,
4905         e.g., BUGS. 
4906         * docs/21_strings/howto.html:  Updated sections and links.
4907         * docs/21_strings/{gotw29a.txt,stringtok_h.txt}:  Added.
4908         * docs/faq/index.html:  Updated what-works for sixth
4909         snapshot. Also a number of "internal" links have been
4910         fixed, now that the web pages are the docs directory...
4911         * docs/faq/index.txt: Regenerated.
4912         
4913 1999-05-21   Benjamin Kosnik  <bkoz@tintin.cygnus.com>
4915         * bits/basic_string.h: Add Nathan's documentation on the string class.
4917         * testsuite/27_io/ios_members_static.cc: New file, for testing
4918         ios_base::sync_with_stdio.
4920 1999-05-21   Benjamin Kosnik  <bkoz@tintin.cygnus.com>
4922         * bits/std_locale.h: Simplify includes.
4923         * bits/loccore.h: Delete.
4924         * bits/localefwd.h: Renamed, trimmed.
4925         * bits/locfacets.h: Delete.
4926         * bits/locale_facets.h: Rename, expanded.
4927         * bits/loccore.tcc: Deleted.
4928         * bits/locfacets.tcc: Deleted.
4929         * bits/locale_facets.tcc: Resultant merge.
4930         * bits/std_fstream.h: Modify include.
4931         * bits/ostream.tcc: Same.
4932         * bits/istream.tcc: Same.
4934         * src/locale-inst.cc: And here.
4935         * src/locale.cc: Ditto. 
4936         * src/Makefile.am: Updated.
4937         * src/Makefile.in: Rengenerated.
4939         * bits/std_istream.h: Move istream::sentry ctor definition.
4940         * bits/istream.tcc: Move istream::sentry ctor here.
4941         Add more detailed locale include here for ctype member functions.
4942         * bits/ostream.tcc (std): And here.
4944         * bits/sbuf_iter.h: Include std_streambuf.h
4946         * bits/locfacets.h: Start separating this into a localeimp.h file.
4947         * bits/loccore.h: Start separating this into a localefwd.h file.
4948         Add std_climits for CHAR_BIT.
4949         
4950         * bits/ios_base.h (ios_base::sync_with_stdio): Stub in.
4952         * bits/char_traits.h: Tweak.
4954         * bits/ios_base.h: Remove INT_MAX, use 1<<16.
4956         * bits/std_ostream.h: Remove c++config.h include.
4957         * bits/std_istream.h: Same.
4958         * bits/std_streambuf.h: Same.
4959         * bits/std_fstream.h: Same.
4960         * bits/std_sstream.h: And here.
4961         
4962         * bits/std_iosfwd.h: Add _G_RESOLVE_LIB_DEFECTS here for streampos.
4963         * bits/char_traits.h: Add include of std_cwchar.h for mbstate_t.
4964         * bits/fpos.h: Tweak, format.
4966         * std/ciso646: New file.
4967         * bits/std_ciso646.h: New file.
4968         * src/Makefile.am (std_headers): Add ciso646.
4969         (headers): Add bits/std_ciso646.h.
4970         * src/Makefile.in: Regenerate.
4971         * testsuite/17_intro/header_ciso646.cc: New file, disable
4972         equivalance tests.
4973         
4974         * bits/fpos.h: Remove libio.h include.
4975         * bits/basic_file.h: And here.
4976         * bits/std_ios.h: Put here.
4978         * src/ios.cc: Simplify includes, tweak.
4979         * bits/std_ios.h: Simplify include order. 
4980         * bits/ios_base.h: Modify ios_base::failure.
4982         * stl/bits/std_numeric.h: Change include from stl_iterator to
4983         std_iterator.
4984         
4985 1999-05-19  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
4987         * std/iostream: Remove static member __ioint.
4988         * bits/std_iostream.h: Put here.
4990         * stl/bits/std_numeric.h: Remove unneccessary std_iostream.h include.
4991         * stl/bits/stl_algobase.h: Same.
4992         * testsuite/27_io/iostream_objects.cc: Regression tests.
4993         * testsuite/27_io/hello.cc: Remove, subset of above.
4994         
4995 1999-05-19  Phil Edwards  <pedwards@ball.com>
4996         
4997         * docs/index.html: Tweak, update.
4999 1999-05-18  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
5001         * docs/17_intro/RELEASE-NOTES: remove outdated
5002         documentation about numeric_limits. Correct CXXINCLUDE setting
5003         documentation.
5005 1999-05-18  Phil Edwards  <pedwards@ball.com>
5007         * docs/{17_intro,18_support,19_diagnostics,20_util,21_strings,
5008           22_locale,23_containers,24_iterators,25_algorithms,26_numerics,
5009           27_io}/howto.html:  Created, with some initial entries.
5010         * docs/faq/index.html:  Fixed some links.
5011         * docs/faq/index.txt:  Regenerated.
5013 1999-05-18  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
5015         * bits/c++config.h (__GLIBCPP__): Set version to 19990518.
5017         * docs/17_intro/RELEASE-NOTES: Update.
5018         * docs/index.html: Correct link to mailing list help page, update News.
5019         * docs/faq/index.html: Change fifth to sixth for snapshot.
5020         
5021         * src/Makefile.am (myinstallheaders): Bring over Gaby's changes to
5022         install $(top_builddir)/bits/std_limits.h into
5023         $(myincludepfx)/bits. This was mistakenly omitted from yesterday's
5024         Makefile.am changes.
5025         * *Makefile*: Regenerate using automake.
5027         * mkcheck (LOG_FILE): Fix filebuf directory oddness.
5028         * testsuite/27_io/filebuf.cc: Same.
5030 1999-05-18  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
5032         * docs/17_intro/CHECKLIST: update.
5033         * docs/17_intro/TODO: update.
5035 1999-05-17  Phil Edwards  <pedwards@ball.com>
5037         * docs/{17_intro,18_support,19_diagnostics,20_util,21_strings,
5038           22_locale,23_containers,24_iterators,25_algorithms,26_numerics,
5039           27_io}/howto.html:  Created, with some initial entries.
5040         * docs/faq/index.html:  Fixed some links.
5041         * docs/faq/index.txt:  Regenerated.
5042         
5043 1999-05-17  Benjamin Kosnik  <bkoz@unhappy.cygnus.com>
5045         * src/Makefile.am (myinstallheaders): Missed removing missing.h. 
5046         * Makefile.in*: Regenerate.
5048 1999-05-17  Benjamin Kosnik  <bkoz@happy.cygnus.com>
5050         * bits/std_streambuf.h: Same.
5052         * bits/loccore.h (_Bad_use_facet): Remove bits warned about.
5053         * bits/locfacets.h (std): Same.
5054         * bits/sstream.tcc: Same.
5055         * testsuite/27_io/stringstream.cc: Tweak.
5057         * testsuite/27_io/filebuf.cc: Adjust.
5058         * testsuite/21_strings/capacity.cc (test01): Add more
5059         string::reserve tests.
5061         * bits/c++config.h: Remove broken CCTYPE.
5062         * bits/std_cctype.h: Tweak, remove de-macroization, enable
5063         sequestered topper implementation.      
5064         * bits/std_cwctype.h: Same.
5065         
5066         * bits/missing.h: Remove.
5067         * bits/std_locale.h: Remove missing.h include.
5068         
5069         * stl/bits/std_bitset.h (bitset::bitset(string): Tweak to compile.
5070         
5071         * src/Makefile.am (headers): Add bits/std_cwctype.h.
5072         INCLUDES: Add top_builddir. 
5073         * src/Makefile.in: Regenerate.
5075         * Makefile.am: Add check and check-install as new targets.
5076         * testsuite/make_check_libfree++: Move to. . .
5077         * mkcheck: Here.
5078         * configure.in: Tweak versions.
5079         * mknumeric_limits: Set paths correctly.
5080         
5081 1999-05-17  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
5082         
5083         * src/Makefile.in (myinstallheaders): add rule to install
5084         std_limits.h. 
5085         
5086         * bits/slice.h (class slice): don't const-qualify data members
5087         since the copy and assignment operator is implicitly used. The
5088         valarray specification is definitively a bad one.
5089         
5090         * Makefile.in (generate-limits-sources): fix typo.
5091         
5092         * docs/text/TODO: update.
5093         * docs/text/CHECKLIST: update.
5095         * bits/gslice.h (gslice): fix bugglet.
5096         (gslice::gslice): set _M_index_size to 0 whenever given lengths
5097         (lj) of size zero.
5099         * src/Makefile.am (libstdc___la_SOURCES): add gen-num-limits.
5100         * src/Makefile.in (libstdc___la_SOURCES): keep in sync.
5101         [Note: **/Makefile.in should be generated from the corresponding
5102         Makefile.am.  The current situation is a litte chaotic.  ]
5104 1999-05-16 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
5106         * mknumeric_limits: tweak.
5108         * Makefile.in (all): add target generate-limits-sources.
5109         (generate-limits-sources): make a directory bits/ in top_builddir
5110         where the generated std_limits.h is put; generate limitsMEMBERs.cc
5111         directly under $(top_builddir)/src. Remains to put the appropriate
5112         rule for installing std_limits.h.
5113         
5114         * src/Makefile.in (headers): remove bits/std_limits.h to this list.
5115         (INCLUDES): add -I$(top_builddir) for bits/std_limits.h which is
5116         now generated at build-time in the build directory
5117         (libstdc___la_SOURCES): remove limitsMEMBERS.cc form this list
5118         * src/Makefile.am: reflect changes in src/Makefile.in
5120 1999-05-12  Phil Edwards  <pedwards@ball.com>
5122         * docs/faq/index.html: Add more entries (5.4,5.5), finish
5123         all but one empty entry.  Add links for HOWTOs, but no files yet.
5124         (Corrected HOWTO links are for bkoz's new scheme.)
5125         * docs/faq/index.txt: Regenerated.
5126         
5127 1999-05-12  Benjamin Kosnik  <bkoz@happy.cygnus.com>
5129         * testsuite/17_intro/headers.cc: New file.
5130         * stl/bits/std_queue.h: Change stl_bvector.h include path.
5131         * bits/std_cwctype.h: New file.
5132         
5133         * testsuite/27_io/filebuf.cc: Need to tweak directory structure.
5135 1999-05-11  Benjamin Kosnik  <bkoz@loony.cygnus.com>
5137         * stl/bits/stl_config.h (__USE_MALLOC): Change underlying allocator.
5138         Check __USE_MALLOC before defining specializations containing
5139         __default_alloc_template.
5140         * src/stl-inst.cc: Here too.
5142         * bits/basic_string.h: Change.
5144         * testsuite/make_check_libfree++: More tweaks.
5145         * testsuite/21/capacity.cc: New file.
5146         
5147         * src/string.cc: Rename to be consistent with other inst files. 
5148         Rename to string-inst.cc.
5149         * src/string*.cc: Change include.
5150         * src/wstring.cc: Rename to wstring-inst.cc.
5151         * src/wstring*.cc: Ditto.
5152         * src/Makefile.in: Also here.
5153         * src/Makefile.am: Ditto.
5155         * src/traits.cc: Remove.
5156         * src/wtraits.cc: Same.
5158         Try a new way of organizing documentation, one with synchronicity
5159         between testsuites and docs subdirectories, and see who yelps.
5160         * docs/html: Remove, use chapter and subject specific directories
5161         instead of forcing things immediately into format of
5162         documentation.
5163         * docs/text: Same.
5164         * docs/image: Same.
5165         * docs/faq/text, docs/faq/html: Remove, put in the docs/faq
5166         directory and sort by filename and extension.
5167         * docs/17_intro, 18_support, 19_diagnostics, 20_util, 21_strings,
5168         22_locale, 23_containers, 24_iterators, 25_algorithms,
5169         26_numerics, 27_io: Add.
5170         * docs/17_intro/*: Populate with all the text files. . .
5171         * docs/index.html: Construct.
5172         
5173         * testsuite/*: Update with same names as the docs subdir.
5174         * testsuite/results: Where to stash conformance results for the
5175         different snapshots, so that progress/size/speed issues can be
5176         tracked over time.
5177         
5178 1999-05-10  Benjamin Kosnik  <bkoz@loony.cygnus.com>
5179         
5180         * src/string.cc: Add _S_copy_chars instantiation, as well as
5181         string::binary operators !=, ==, etc.
5183         * src/Makefile.am (CXXFLAGS): Remove -fvtable-thunks.
5184         * src/Makefile.in (CXXFLAGS): Same here.
5185         * testsuite/make_check_libfree++ (CXX_FLAG): And here.
5186         
5187 1999-05-07  Benjamin Kosnik  <bkoz@cygnus.com>
5189         * src/string.cc:  Add missing member functions to instantiation list.
5191 1999-05-07  Benjamin Kosnik  <bkoz@cygnus.com>
5193         * src/misc-inst.cc: Remove unused string instantiations.
5195         * bits/string.tcc: Tweak, fix.
5196         * bits/basic_string.h: Format. Fix reported error with c_str().
5198         * testsuite/make_check_libfree++: Tweak for shared builds.
5199         * testsuite/21/operations.cc: New file for testing c_str() etc.
5201 1999-05-06  Benjamin Kosnik  <bkoz@cygnus.com>
5202             Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
5204         * stl/bits/stl_vector.h: Fix the code of vector<> for usage with
5205         an iterator class.  Delineate pointer versus iterator differences
5206         in implementation.
5207         * 23/vector_capacity.cc: New file, tests for above.
5208         
5209 1999-05-06 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
5211         * mknumeric_limits: Fix typo. 'unsigned lont' should read
5212         'unsigned long'.
5213         * src/Makefile.am (libstdc___la_SOURCES): add limitsMEMBERS.cc,
5214         generated by mknumeric_limits to the list. Now std_limits.h is
5215         basically working. 
5216         * src/Makefile.in (generate-numeric-limits): new target to handle
5217         automatic generation of bits/std_limits.h and src/limitsMEMBERS.cc.
5218         (all): add target generate-numeric-limits.
5219         (libstdc___la_OBJECTS): add limitsMEMBERS.lo
5220         (libstdc___la_SOURCES): add limitsMEMBERS.cc
5222 1999-05-05  Benjamin Kosnik  <bkoz@cygnus.com>
5224         Irix build issues.
5225         * bits/c++config.h (_G_USE_CTYPE_ISBIT): Defines new macro for
5226         mask values in ctype_base. Move hacks for _ISBit to locfacets.h.
5227         * bits/locfacts.h: Here.
5229 1999-05-05  Benjamin Kosnik  <bkoz@cygnus.com>
5230             Ulrich Drepper <drepper@cygnus.com> 
5232         Solaris build issues.
5233         * bits/c++config.h: Define new macros, _G_USE_STRTOF and
5234         _G_USE_STRTOLD.
5235         
5236         * bits/locfacets.tcc (num_get::do_get): Tweak long double and
5237         float overloads to use the above macros. Account for the lack of
5238         strtold on some systems, and revert back to using sscanf.
5240 1999-05-04  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
5242         * bits/locfacets.tcc (num_get::do_get): Check the errno variable.
5243         Use strtoul/strtoull for unsigned types.  Check the ranges for
5244         short/unsigned short and if necessary for int/unsigned int.
5246 1999-05-04  Benjamin Kosnik  <bkoz@cygnus.com>
5248         * src/gen-num-limits.cc (round_style): Need to use mknumericlimits
5249         to generate bits/std_limits.h now, as the SGI std_limits.h is
5250         being depricated. Not done, but should be done immediately: need
5251         to make sure this script is run as part of the configuration
5252         process, because without it "make" in a configured build directory
5253         will fail. Also tweaked: added a space for float_round_style, and
5254         used static_cast of zero to default-initialize, which should be ok
5255         according to the standard. (see 8.5 p5 and 20.1.3).
5256         * mknumeric_limits (OUT_C): Need this for x86 long
5257         double extensions.
5258         
5259         * bits/basic_file.h: Include libio.h, not libioP.h.
5260         * src/basic_file.cc: And add libioP.h include here, so that
5261         _IO_init, et. al are well-declared.
5263         * testsuite/make_check_libfree++ (LIB_PATH): Test installed
5264         headers, not source directory headers.
5266         * src/Makefile.am (headers): Add stl_range_errors.h, also adjust
5267         for ext/*.  Also add basic_file.h.
5268         * src/Makefile.in (headers): Same.
5269         
5270         * bits/std_string.h: Reduce dependencies for faster
5271         pre-processing. Move istream and ostream specific defines into
5272         istream.tcc and ostream.tcc respectively.
5273         * bits/string.tcc: And here.
5274         * bits/basic_string.h: Move getline inline out-of-line, and to
5275         istream.tcc.
5276         * bits/istream.tcc: Move string::getline and operator>> here.
5277         * bits/ostream.tcc: And here too.
5279         * bits/utility.h: Remove, as clashes with a standard header. Put
5280         __OUTOFRANGE and __LENGTHERROR macros into string.tcc for the time
5281         being, until this can be combined with SGI's approach.
5282         * bits/string.tcc: Add macros, as above.
5283         * bits/loccore.h: Add _Count_ones defines.
5284         * bits/std_string.h: And here too.
5285         * bits/std_locale.h: And here.
5286         * bits/std_ios.h: Take out include here.
5287         * src/Makefile.am (headers): Remove utility.h
5288         * src/Makefile.in (headers): Remove utility.h
5290         * stl/bits/*: Update to SGI STL 3.20.
5291         * stl/ext/pthread_alloc: Delete this file.
5292         
5293 1999-05-04 Phil Edwards <pedwards@ball.com>
5295         * docs/faq/html/index.html: Add more entries
5296         * docs/faq/html/index.txt: regenerated.
5298 1999-05-04 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
5300         * src/gen-num-limits.cc (DO_DEFINE_MIN_MAX): fix typo.
5302 1999-04-29  Benjamin Kosnik  <bkoz@haight.cygnus.com>
5304         * bits/locfacets.tcc (num_get::do_get): Re-implement, with input
5305         from Ulrich and Nathan. Remove extraneous string class usage,
5306         tweak, clean, simplify and consolidate with a eye towards removing
5307         duplcate code. Use strto[l, ll, f, d, ld] instead of sscanf.
5308         Not done: dealing with leading zeros, wchar_t work.
5309         * bits/locfacets.h: And here too.
5311         * doc: Remove.
5312         
5313 1999-04-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
5315         * docs/: add a FAQ.
5316         * docs/faq/: New directory.
5317         * docs/faq/html/: Likewise.
5318         * docs/faq/text/: Likewise.
5319         * docs/faq/html/index.html: New file.
5320         * docs/faq/html/index.txt: Likewise. Generated from 
5321         docs/faq/html/index.html by lynx.
5323 1999-04-28  Benjamin Kosnik  <bkoz@happy.cygnus.com>
5324             Ryszard Kabatek and Branko Cibej 
5326         * bits/locfacets.tcc: Modify.
5328 1999-04-27  Benjamin Kosnik  <bkoz@happy.cygnus.com>
5330         * bits/sbuf_iter.h: Clean, fix istreambuf_iterator, make
5331         conformant to 14882, wrap non-standard extensions with
5332         _G_RESOLVE_LIB_DEFECTS, remove detritus and cruft, rennovate.
5333         * bits/locfacets.tcc (num_get::do_get(bool)): Return correct iterator.
5334         
5335         * testsuite/27/istringstream_formatted.cc: Add tests.
5336         
5337         * bits/locfacets.h: Remove cruft from _Format_cache, continue
5338         commenting, simplify.
5339         * bits/locfacets.tcc: Same.
5341         1999-04-27  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
5342         * bits/locfacets.tcc (num_get::do_get):
5343         Fix the sscanf format parameter 
5344         for long long 'll' (as in C9X) instead of 'l'.
5345         Fix the order of sscanf format parameters: "%dl" --> "%ld".
5346         Change the type of the local variable '__conv' from 'string'
5347         to 'const char*' and adapt the change.
5348         
5349 1999-04-26  Benjamin Kosnik  <bkoz@happy.cygnus.com>
5351         * bits/locfacets.h: Document _Format_cache, and name data members
5352         after the corresponding functions in numpunct. For instance:
5353         _M_grsep -> _M_thousands_sep, and _M_decsep -> _M_decimal_point.
5354         Break apart _M_boolnames{2] into _M_truename and _M_falsename.
5355         * bits/locfacets.tcc: Same.
5357         * bits/locfacets.h (num_get::_M_extract): Don't allow groupings to
5358         stop parsing--store for later analysis.
5359         * testsuite/27/istringstream_formatted.cc: Add cases.
5360         
5361 1999-04-25  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
5363         * bits/valarray_meta.h: tweak.
5364         (_UnFunBase, _BinFunBase, _BinFunBase1, _BinFunBase2, _BinBase1,
5365         _BinFunBase2): rename typedef-name _Tp to _Vt to keep the compiler
5366         happy -- boggus warning.
5367         * bits/std_valarray.h: Fix.
5368         (valarray<T>::shift): Fix. Update comment.
5369         (valarray<T>::cshift): Fix. 
5371 1999-04-23  Benjamin Kosnik  <bkoz@cygnus.com>
5372         
5373         * testsuite/27filebuf-2.txt: Delete.
5374         * testsuite/27/filebuf.cc: Put output files directly into the
5375         correct subdirectory (27).
5377         Alexandre Petit-Bianco <apbianco@cygnus.com>
5378         * testsuite/make_check_libfree++: Check generated (*.txt) file
5379         against stored results file (*.tst).
5381 1999-04-22  Benjamin Kosnik  <bkoz@nabi.net>
5383         * bits/locfacets.tcc: Fix.
5385         * bits/fstream.tcc (filebuf::seekoff): Output current out pointer.
5386         (filebuf::overflow): Simplify.
5387         (filebuf::xsputn): Correctly handle indeterminate state.
5389         * testsuite/27/istringstream_formatted.cc: Tweak.
5390         * testsuite/27/filebuf.cc: Tweak.
5391         * testsuite/27/filebuf-3.tst: Correct: this is the canonical
5392         results file, please use this in the future to guarantee filebuf
5393         positioning accuracy.
5394         * testsuite/27/filebuf-2.tst: Same.
5395         
5396 1999-04-21  Benjamin Kosnik  <bkoz@cygnus.com>
5398         * bits/fstream.tcc (filebuf::xsputn): Add.
5399         * bits/std_fstream.h: Declare.
5400         
5401         * src/basic_file.cc (__basic_file::open): Add O_CREAT to open
5402         calls using ios_base::trunc.
5404         * bits/sstream.tcc (streambuf::overflow): Fix crasher.
5405         
5406         * testsuite/make_check_libfree++ (LOG_FILE): Ugh. Another fix.
5407         * testsuite/27/27stringstream.cc: Same.
5408         * testsuite/27/27stringbuf.cc: More tweaks.
5409         * testsuite/27/27filebuf-2.txt: Remove.
5411         * testsuite/27/27filebuf-1.tst: Append, to force byte size over
5412         BUFSIZE so that overflows/underflow can be tested with default
5413         buffer setting.  
5414         * testsuite/27/27filebuf-1.tst: Add.
5416         * testsuite/*/*: Remove pre-pended chapter names, as they
5417         duplicate the chapter info contained in the enclosing directory
5418         anyway.
5419         
5420 1999-04-20  Benjamin Kosnik  <bkoz@cygnus.com>
5422         * bits/streambuf.tcc (streambuf::xsputn): Re-implement to conform
5423         to sputc conditions.
5425         * bits/ios_base.h: Define here.
5426         * src/ios.cc (ios_base::_M_clear): Remove hack.
5427         * bits/basic_ios.h: Fix rdstate().
5429         * bits/sstream.tcc (streambuf::seekoff): Fix.
5430         * bits/fstream.tcc (filebuf::seekoff): Tweak comments.
5432         * testsuite/make_check_libfree++ (LOG_FILE): More c-c-c-changes.
5433         * testsuite/24/24iterator.cc: Add/Fixes for DEBUG_ASSERT.
5434         * testsuite/27/27stringstream.cc: Same. 
5435         * testsuite/27/27stringbuf.cc: Same.
5436         * testsuite/27/27istringstream_formatted.cc: Same.
5437         * testsuite/27/27filebuf.cc: Same.
5438         
5439         * bits/locfacets.h: Remove specializations for messages<char> and
5440         messages<wchar_t> ctors. Same for moneypunct. Not required, not used.
5441         * src/locale.cc: Remove definitions for above.
5442         * src/misc-inst.cc: Revert, take out iomanip.h include. 
5443         * bits/std_iomanip.h: Tweak, format.
5444         
5445 1999-04-19  Benjamin Kosnik  <bkoz@cygnus.com>
5447         * bits/loccore.h: Format, move inline.
5448         * bits/locfacets.tcc: Same.
5449         * bits/locfacets.h: Same.
5451         Ulrich Drepper  <drepper@cygnus.com>
5452         * aclocal.m4: Re-generate.
5453         * configure, configure.in: Same.
5454         * m4/lc_messages.m4: New file.
5456 1999-04-18  Benjamin Kosnik  <bkoz@cygnus.com>
5458         * bits/std_ostream.h: Fix typedef for wchar_t instantiations.
5459         * bits/sstream.tcc: Tweak.
5461         * std/iostream: Put __ioinit inside macro guards.
5462         
5463         * src/stlinst.cc: Delete and move to . . .
5464         * src/stl-inst.cc: New file, plus wrapping in namespace std.
5465         * src/Makefile.in: Change.
5466         * src/Makefile.am: Same.
5467         * src/misc-inst.cc: Add istringstream/ostringstream instantiations.
5469         * testsuite/make_check_libfree++: Efficiently format for minimal
5470         space. Enforce stricter execution tests by enabling
5471         -DDEBUG_ASSERT.
5472         
5473 1999-04-16  Benjamin Kosnik  <bkoz@cygnus.com>
5475         * docs/text/RELEASE-NOTES: Fix include typo.
5477         * src/Makefile.am (headers): Add istream.tcc. 
5478         * src/Makefile.in (headers): Add istream.tcc. 
5480         * ltconfig, ltmain.sh, libtool: Update to libtool-1.2g.
5481         
5482 1999-04-16  Benjamin Kosnik  <bkoz@cygnus.com>
5484         * bits/locfacets.tcc (num_get::do_get(long)): Finish roughing in.
5485         * bits/locfacets.h (num_get::_M_extract): New functin:
5486         consolidate logic for do_get(...) members.
5488         * bits/sbuf_iter.h (istreambuf_iterator::operator++()): Fix.
5489         * testsuite/27/27istringstream_formatted.cc: Add.
5491 1999-04-16  Martin v. Loewis  <martin@mira.isdn.cs.tu-berlin.de>
5493         * src/basic_file.cc (__basic_file::open): Fix thinko in
5494         _G_HAVE_IO_FILE_OPEN bits.
5495         * bits/std_istream.h (sentry::sentry(istream, bool)): Fix isspace bug.
5496         * bits/std_cmath.h: Add stdlib.h include for ldiv_t.
5497         * src/complex.cc (FCT): Qualify all functions with global namespace.
5498         * src/locale.cc: Don't qualify memcpy and setlocale.
5499         * src/stdexcept.cc (__out_of_range): Qualify out_of_range with std::.
5500         (__length_error): Likewise, for length_error.
5501         * src/stlinst.cc: Qualify instantiations with std::.
5503 1999-04-15   Benjamin Kosnik  <bkoz@cygnus.com>
5505         * C++STYLE: Add ChangeLog guidelines for member functions.
5507         * doc/* : Delete.  
5508         * BADNAMES, BUGS, C++STYLE, CHECKLIST, COPYING,
5509         DESIGN, HEADER_POLICY, PROBLEMS, RELEASE-NOTES, TODO: Moved into
5510         docs/text and made less strident.
5511         
5512         * bits/fstream.tcc: Change non-standard ctor to match Sun's sematics.
5513         * bits/std_fstream.h: Same.
5514         * src/ios.cc: Same.
5516         * bits/locfacets.h: Touch. 
5517         
5518 1999-04-15  Ulrich Drepper  <drepper@cygnus.com>
5520         * math/cexp.c (cexp): Use NAN instead of nan("").
5521         Reported by joel reed <joelreed@yahoo.com>.
5523         * libio/libioP.h: Define _IO_seek_fpos_t and _IO_seek_off_t based on
5524         _G_IO_IO_FILE_VERSION.  Use these types in the prototypes.
5525         * libio/fileops.c: Use _IO_seek_fpos_t and _IO_seek_off_t types
5526         instead of #if cascades.
5527         * libio/genops.c: Likewise.
5528         * libio/ioseekoff.c: Likewise.
5529         * libio/ioseekpos.c: Likewise.
5530         * libio/strops.c: Likewise.
5531         Patch by Chip Salzenberg <chip@perlsupport.com>.
5533 1999-04-15  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
5535         * docs: New directory.
5536         * docs/html: Likewise.
5537         * docs/text: Likewise.
5538         * docs/image: Likewise.
5540         * bits/std_cmath.h: Add new functions.
5541         (abs): overload for long and double.
5542         (div): overload for long.
5544         * bits/valarray_array.h: Fix.
5545         * bits/gslice.h: Adjust friend.
5546         * bits/slice_array.h: likewise.
5547         * bits/valarray_meta.h: likewise.
5549 1999-04-13   Benjamin Kosnik  <bkoz@tintin.cygnus.com>
5551         * bits/locfacets.h: More changes, for num_get for insertion
5552         operators for integral types. Comment fields in _Format_cache.
5553         * bits/locfacets.tcc: And here too: add preliminary long version.
5554         * testsuite/27/27istringstream_formatted.cc: Add cases.
5556 1999-04-13   Mark Elbrecht  <snowball3@usa.net>
5558         * configure.in: Add locale.h to AC_CHECK_HEADERS argument. Call
5559         AC_LC_MESSAGES macro.
5560         * aclocal.m4 (AC_LC_MESSAGES): New. Determines if a target
5561         supports LC_MESSAGES.
5562         * config.h.in: Add entry for HAVE_LC_MESSAGES.
5563         * src/locale.cc (locale::_S_normalize_category): Use the
5564         HAVE_LC_MESSAGES macro to check for LC_MESSAGES support instead of
5565         _G_NO_CLOCALE_HAS_MESSAGES.
5566         * aclocal.m4 (AM_PROG_LD): For DOS style paths, simplify test to
5567         '?:' from '?:\\' so any path beginning with a drive name matches.
5569 1999-04-12   Mark Elbrecht  <snowball3@usa.net>
5571         * src/basic_file.cc(sys_open) [O_BINARY]: Declare __testb.
5573 1999-04-12   Benjamin Kosnik  <bkoz@tintin.cygnus.com>
5575         * bits/locfacets.h: Tweak.
5576         * bits/locfacets.tcc(do_get): Clean/fix bool method.
5578         * testsuite/21/21nonmember.cc: Same.
5579         * testsuite/21/21compare.cc: Fix license.
5580         * testsuite/27/27istringstream_formatted.cc: New file.
5582 1999-04-12  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
5584         * bits/valarray_meta.h: _BinFunBase1, _BinFunBase2, _BinBase1,
5585         _BinBase2: new template classes; put in there to work around a
5586         compiler limitation. The whole valarray architecture is now
5587         working.
5589 1999-04-08  Benjamin Kosnik  <bkoz@haight.constant.com>
5591         * bits/locfacets.tcc: Fix, format.
5592         * bits/locfacets.h: Fix.
5593         * src/locale.cc: Same, plus format.
5595         * bits/basic_string.h: Re-add definition here.
5596         * src/string.cc: Take out.
5598 1999-04-08  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
5600         * bits/std_valarray.h: tweak.
5601         * bits/valarray_array.h tweak. use _Expr.
5602         * bits/slice_array.h: likewise.
5603         * bits/gslice_array.h: likewise.
5604         * bits/mask_array.h: likewise.
5605         * bits/indirect_array.h: likewise.
5606         * bits/valarray_meta.h: tweak.
5607         _UnFunBase, _UnFunClos, _BinFunBase, _FunBase, _ValFunClos,
5608         _RefFunClos, _UnBase, _UnClos, _BinBase, _BinClos, _SClos, _GClos,
5609         _IClos: new template classes.
5610         _Meta: renamed to _Expr. Made template with args.
5611         _Constant: made template with two args.
5613 1999-04-05  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
5615         * bits/valarray_array.h: tweak.
5617 1999-04-06  Benjamin Kosnik  <bkoz@cygnus.com>
5619         * bits/basic_string.h: Whoops--fix blip.
5621 1999-04-06  Benjamin Kosnik  <bkoz@cygnus.com>
5623         Update to SGI STL 3.13
5624         * bits/basic_string.h: Add __get_c_string definition.
5625         * stl/bits/stl_range_errors.h: New file.
5626         * stl/bits/std_bvector.h: Same.
5627         * stl/bits/*: Update.
5629 1999-04-04 1999  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
5631         * bits/slice_array.h: tweak.
5632         * bits/gslice_array.h: tweak.
5633         * bits/mask_array.h: tweak.
5634         * bits/indirect_array.h: tweak.
5635         * bits/valarray_array.h: tweak.
5636         (__valarray_copy): replace copy with memcpy.
5637         * bits/std_valarray.h: use __valarray_copy whenever possible.
5638         use __valarray_fill instead of fill.
5640 1999-04-02  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
5642         * src/gen-num-limits.cc: new file
5643         * mknumeric_limits: Ditto.
5645 1999-03-30  Benjamin Kosnik  <bkoz@cygnus.com>
5647         * bits/locfacets.tcc: Do a stub version of num_get for short, int,
5648         and long types.
5649         * bits/locfacets.h: Add num_get::get methods overloaded for int
5650         and short, to resolve ambiguous overloads in istream insertion
5651         operators.
5653 1999-03-30  Benjamin Kosnik  <bkoz@cygnus.com>
5655         * bits/std_istream.h: Fix.
5656         * bits/istream.tcc: Fix.
5658 1999-03-30  Philip Martin  <pm@corris.dircon.co.uk>
5660         * testsuite/24/24iterator.cc: fix ++/-- tests
5662 1999-03-29  Benjamin Kosnik  <bkoz@cygnus.com>
5664         * bits/std_ostream.h: Looks like this, actually: Fix up eh-isms.
5665         * bits/ostream.tcc: Same.
5667         * bits/std_istream.h: Bring over ostream changes, implement member
5668         functions. Baseline.
5669         * bits/istream.tcc: New file.
5671 1999-03-26  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
5673         * bits/gslice.h (class gslice): fix friends template.
5675 1999-03-23  Benjamin Kosnik  <bkoz@cygnus.com>
5677         * bits/std_ostream.h: Fix sentry objects, implement seekp, tellp,
5678         delete cruft, etc.
5679         * bits/ostream.tcc: Same.
5681         * bits/std_istream.h: Minor tweaks.
5683 1999-03-18  Benjamin Kosnik  <bkoz@cygnus.com>
5685         * src/locale-inst.cc: Remove duplicate instantiations.
5686         * bits/locfacets.tcc: Tweak definitions of static member.
5688 1999-03-18  Benjamin Kosnik  <bkoz@cygnus.com>
5690         * bits/std_fstream.h: Format: prepend "__" in front of
5691         non-standard typedefs.
5692         * bits/fstream.tcc: Match.
5693         * bits/std_streambuf.h: Format: prepend "__" in front of
5694         non-standard typedefs.
5696         * bits/sstream.tcc: Match.
5697         * bits/std_istream.h: Format.
5698         * src/locale-inst.cc: Add num_get instantiations.
5700         * bits/std_sstream.h: Fix crash in stringstreams. Remove member
5701         _M_sb, a basic_stringbuf object, and use the basic_ios pointer
5702         _M_streambuf instead. Make initializations sane. Fix
5703         allocation/deallocation of _M_streambuf.
5704         * bits/std_ostream.h: Fix initialization code.
5705         (ctor): Eliminate redundant this->init(), let base class initialize.
5706         (default ctor): New. Assume base classes already initialzed.
5707         * bits/std_istream.h: Parallel work to ostream.
5708         (ctor): Eliminate redundant this->init(), let base class initialize.
5709         (default ctor): New. Assume base classes already initialzed.
5710         Fix initialization of basic_iostream.
5712         * bits/std_fstream.h: While we're at it, make initializations sane
5713         here too. Now matches sstream.h.
5715         * bits/string.tcc: Fix crash in basic_string::compare.
5716         * bits/basic_string.h: And here.
5717         * bits/c++config.h: Add comment about _G_USE_EXCEPTIONS.
5719         * testsuite/make_check_libfree++: Check shared as well.
5720         * testsuite/27/27stringstream.cc: Add bits.
5721         * testsuite/27/27boolfmt.cc: Add bits.
5722         * testsuite/27/27octfmt.cc: Add bits.
5724 1999-03-17  Benjamin Kosnik  <bkoz@happy.cygnus.com>
5726         * configure.in (USE_LONG_DOUBLE): signbitl link error.
5728         * bits/locfacets.h: Fix errors that cause build problems
5729         with current egcs (template parameters have class scope).
5730         * bits/locfacets.tcc: Same.
5731         * src/locale-inst.cc: Same, clean.
5732         * src/misc-inst.cc: Same, clean.
5734 1999-03-17  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
5736         * stl/bits/std_memory.h:  Modify auto_ptr::reset to reflect the
5737         standard. Re-apply this previous patch.
5739 1999-03-17  Philip Martin  <pm@corris.dircon.co.uk>
5741         * bits/basic_string.h: Use __normal_iterator<> for iterators.
5742         * bits/std_sstream.h: Support __normal_iterator<> iterators.
5743         * bits/string.tcc: Ditto.
5744         * src/misc-inst.cc: Ditto.
5745         * src/locale-inst.cc: Ditto.
5746         * stl/bits/stl_iterator.h: Add __normal_iterator<>.
5747         * stl/bits/stl_vector.h: Use __normal_iterator<> for iterators.
5748         * testsuite/24/24iterator.cc: Add test cases for basic_string and
5749         vector iterators.
5751 1999-03-16  Benjamin Kosnik  <bkoz@cygnus.com>
5753         * bits/locfacets.tcc: Remove macro hack.
5754         * bits/locfacets.h: Tweaks.
5755         * src/misc-inst.cc: Weed out locale-related instantiations.
5756         * src/locale-inst.cc: Same.
5758         * RELEASE-NOTES: Make more changes.
5759         * bits/c++config.h: Bump version number.
5761         * testsuite/make_check_libfree++: Collect diagnostics.
5763         * bits/std_ostream.h: Fix ostream initialization/destruction
5764         problem, related to dtor cleanup and new cached facets, agggggggh.
5765         * bits/ostream.tcc: Tweak.
5766         * bits/locfacets.h: Remove all friends of iostream classes.
5767         * bits/ios_base.h: Same.
5768         * bits/streambuf.tcc: Tweak.
5769         * bits/std_streambuf.h: Tweak.
5770         * bits/std_fstream.h: Tweak.
5771         * bits/fstream.tcc: Tweak.
5772         * src/stdstreams.cc: Tweak.
5773         * src/ios.cc: Close streams.
5775         * math/Makefile.in: Add missing files for shared link errors.
5776         * math/Makefile.am: Same.
5778 1999-03-15  Benjamin Kosnik  <bkoz@cygnus.com>
5780         * src/locale-inst.cc: More wchar_t instantiations.
5781         * src/misc-inst.cc: Missed a few bits.
5782         * testsuite/make_check_libfree++: Add static and shared runs.
5783         * src/ios.cc: Add clarity to ios_base::Init::~Init().
5785 1999-03-15  Benjamin Kosnik  <bkoz@cygnus.com>
5787         * bits/std_ostream.h: Format, expunge, simplify. Add cached
5788         facets. Resolve link errors.
5789         * bits/ostream.tcc: Same.
5790         * src/misc-inst.cc: Add ostream, wostream instantiations.
5791         * src/Makefile.am: Add missing bits for stdstreams.cc.
5792         * src/Makefile.in: Same.
5793         * bits/std_iosfwd.h: Format.
5794         * bits/locfacets.h (num_put): Add basic_ostream as a friend to
5795         num_put so that cached _M_fnumput pointer can be deleted in
5796         basic_ostream's dtor. Now everybody plays nice.
5798 1999-03-12  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
5800         * bits/gslice.h (class gslice): Make friends valarray,
5801         gslice_array and _GliceExpression.
5803 1999-03-11  Benjamin Kosnik  <bkoz@cygnus.com>
5805         * RELEASE-NOTES: Update.
5806         * src/ios.cc: Use do proper init.
5807         * bits/std_streambuf.h: Tweak.
5808         * bits/std_iostream.h: Take out static member.
5809         * std/iostream: Put here.
5810         * bits/std_ostream.h: Non-default ctor shouldn't smash _M_streambuf.
5811         * bits/std_istream.h: Ditto.
5812         * bits/basic_ios.h: Format.
5813         * bits/ostream.tcc(write): Fix.
5814         * bits/fstream.tcc: Fix stdstreams ctor to do a proper
5815         initialization of the fstream class.
5816         * src/stdstreams.cc: I'm baaaaaaaack.
5818 1999-03-10  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
5820         * bits/ios_base.h: Correct comments. Add ios_base::init()
5821         functionality. Format, tweak, expunge, clean, bathe, and hang to dry.
5822         * src/misc-inst.cc: Add instantiations here.
5823         * src/ios.cc: Clean.
5824         * bits/std_iostream.h: Add wrappers, global ios_base::Init object.
5825         * src/stdstreams.cc: Delete this file, as now unnecessary.
5826         * bits/fstream.tcc: Add missing initialization bits for ctor.
5827         * src/Makefile.am (libstdc___la_SOURCES): Delete here as well.
5828         * src/Makefile.in (libstdc___la_OBJECTS): And here.
5830         * bits/streambuf.tcc: Tweak.
5831         * bits/sstream.tcc: Here too.
5833         * bits/fstream.tcc: And change definition as well.
5834         * bits/std_fstream.h: Change ctor.
5835         * src/basic_file.cc (sys_open): Add call that opens a specific fileno.
5836         * bits/basic_file.h: Add declarations.
5838         * testsuite/27/27hello.cc: New file.
5840         * bits/std_ostream.h: Move flush() inline.
5841         * bits/ostream.tcc: From here.
5843         * bits/char_traits.h: Add include of fpos.h for streamoff/streampos.
5844         * bits/std_ios.h: Change include libio to only when necessary.
5845         * bits/fpos.h: Like here.
5846         * ios_base.h: And here.
5848         * bits/locfacets.h: Change _Iostate to _Ios_Iostate.
5849         * bits/locfacets.tcc: Same.
5850         * bits/std_locale.h: Include std_ios.h not std_iosfwd.h.
5851         * bits/std_iosfwd.h: Move _Ios_Iostate to ios_base.h
5853 1999-03-09  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
5855         * bits/basic_ios.h: Change _M_ctype to _M_fctype.
5857         * bits/std_streambuf.h: Clean, tweak.
5858         * bits/std_fstream.h: Same.
5859         * bits/std_sstream.h: Same.
5860         * bits/streambuf.tcc: Move most member functions out-of-line.
5861         * bits/fstream.tcc: Same.
5862         * bits/streambuf.tcc: Same.
5864         * bits/basic_file.h(filepos_cur): Set correctly.
5865         (filepos_beg): Same.
5866         (seekpos): Change to __c_streampos.
5867         * src/basic_file.cc (std): Change to __c_streampos.
5869         * testsuite/27/27filebuf.cc: Round one is finished.
5870         * testsuite/27/27filebuf-2.tst: New file, final output should match.
5871         * testsuite/27/27filebuf-3.tst: Same.
5873 1999-03-08  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
5875         * bits/basic_file.h: Fix typo, add comments about what to expect
5876         from the various member functions in __basic_file.
5878         * bits/std_fstream.h: Re-do sync/underflow to work
5879         together. Change from sys_read to xsgetn and from sys_write to
5880         xsputn. As it should have been from the beginning. . .
5882 1999-03-06  Benjamin Kosnik  <bkoz@haight.constant.com>
5884         * bits/c++config.h (__GLIBCPP__): Add versioning macro.
5886         * bits/basic_file.h(file_beg): New function.
5887         (file_cur): Ditto.
5889         * testsuite/27/27filebuf.cc: Test in, out, in | out.
5890         * bits/std_fstream.h: More _M_mode refinements.
5891         (synch): Add bits for out mode only.
5892         * bits/std_streambuf.h(xsputn): Correct for filebufs.
5893         * bits/std_sstream.h: Ditto.
5895 1999-03-03  Benjamin Kosnik  <bkoz@cygnus.com>
5897         * bits/std_fstream.h: Fix _M_mode AND with ios_base::openmode.
5898         * testsuite/27/27filebuf.cc: Modify.
5899         * bits/c++config.h: Fix.
5901 1999-03-02  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
5903         * bits/c++config.h: New macro, _G_RESOLVE_LIB_DEFECTS, used to put
5904         code in place that diverges from the final standard, but has been
5905         brought up on the library mailing list.
5907         * bits/std_fstream.h(underflow): Position all three internal
5908         buffer pointers at the same initial position. Re-implement with
5909         basic_filebuf abstraction.
5910         (overflow): Ditto.
5911         (seekoff): Ditto.
5912         (seekpos): Ditto.
5913         * bits/std_sstream.h: Move _M_mode down into base class
5914         basic_streambuf.
5915         * bits/sstream.tcc: Ditto.
5916         * bits/std_streambuf.h: Ditto.
5918         * testsuite/27/27filebuf.cc: Tweak.
5920 1999-02-27  Benjamin Kosnik  <bkoz@slap-happy.cygnus.com>
5922         * bits/std_sstream.h: Ditto.
5923         * bits/std_fstream.h: Fix blip.
5925 1999-02-26  Benjamin Kosnik  <bkoz@happy.cygnus.com>
5927         * C++STYLE: Add cases.
5928         * bits/std_fstream.h: Format.
5929         * bits/std_streambuf.h: Ditto.
5930         * bits/std_sstream.h: Ditto.
5932         * src/basic_file.cc(sys_seek): Fix stack delirium, by keeping
5933         return type for _IO_file_seek and __basic_file::seek the same size.
5934         * bits/basic_file.h: Ditto.
5936 1999-02-26  Benjamin Kosnik  <bkoz@happy.cygnus.com>
5938         * bits/fstream.tcc: Add include guards.
5939         * src/misc-inst.cc: Add instantiations for shared libes.
5940         * src/locale-inst.cc: Add instantiaions for use_facet.
5941         * bits/loccore.h: Remove specialization foward decls for
5942         use_facet<ctype>: perhaps add the whole lot of them later on.
5943         * bits/std_fstream.h: Fix.
5944         * bits/locfacets.h: Ditto.
5945         * src/stdstreams.cc: Disable wide streams for now.
5947         * src/Makefile.am (CXXFLAGS): Change up.
5948         * src/Makefile.in (CXXFLAGS): Ditto.
5950 1999-02-25  Benjamin Kosnik  <bkoz@happy.cygnus.com>
5952         * src/basic_file.cc: Change to ios_base::seekdir from int.
5953         * bits/basic_file.h: Ditto.
5954         * bits/locfacets.h : Fix blip with new guard macros.
5956 1999-02-25  Benjamin Kosnik  <bkoz@cygnus.com>
5958         * stl/bits/stl_config.h (__STL_USE_STD_ALLOCATORS): Minor tweaking.
5959         * bits/c++config.h: Clean. Remove _G_NO_STREAMBUF_ITERATORS and
5960         _G_USE_NAMESPACE.
5961         * amm1/locale: Remove unused defines.
5962         * generic/locale: Ditto.
5963         * src/ios.cc: Ditto.
5964         * src/locale.cc: Ditto.
5965         * src/locale-inst.cc: Ditto.
5966         * src/localename.cc: Ditto.
5967         * src/stdstreams.cc: And here.
5969         * bits/c++config.h (_G_USE_WCHAR_T): Fix.
5970         * bits/loccore.h: Simplify, clean, add wchar_t guards.
5971         * bits/loccore.tcc: Ditto.
5972         * bits/locfacets.h: Ditto.
5973         * src/locale-inst.cc: Ditto.
5974         * bits/locfacets.tcc: Add do_put long long here.
5976 1999-02-24  Benjamin Kosnik  <bkoz@cygnus.com>
5978         * bits/std_streambuf.h: Add cached ctype facet, _M_ctype.
5979         * bits/basic_ios.h: Clean. Replace _M_strbuf with
5980         _M_streambuf. Use cached _M_cvt in basic_streambuf.
5981         * bits/std_istream.h: Replace _M_strbuf with _M_streambuf.
5982         * bits/std_fstream.h: Tweak.
5984         * bits/char_traits.h: Remove fpos definitions from here. . .
5985         * bits/fpos.h: New file, put them here. Eventually, this may allow
5986         the severing of char_traits and fpos dependancies.
5987         * src/Makefile.in: Add fpos.h.
5988         * src/Makefile.am: Ditto.
5989         * bits/std_string.h: Add fpos.h include here.
5990         * bits/std_ios.h: And here.
5992         * bits/std_streambuf.h: Change _M_init to _M_initialized.
5993         * bits/ios_base.h: Remove cstdio include.
5994         * bits/std_ios.h: ... Place here.
5996 1999-02-23  Benjamin Kosnik  <bkoz@loony.cygnus.com>
5998         * src/Makefile.in (CXXFLAGS): Re-add -fvtable-thunks.
5999         * src/Makefile.am (CXXFLAGS): Re-add -fvtable-thunks.
6001         * bits/basic_file.h: Comment, adjust arguments.
6002         * src/basic_file.cc: Ditto.
6004         * bits/std_fstream.h(seekoff): Error is of fpos type, not integral
6005         type: check and convert accordingly. Re-interpet "resultant stream
6006         position" to indicate external byte sequence location, not internal
6007         buffer info.
6009 1999-02-22  Benjamin Kosnik  <bkoz@loony.cygnus.com>
6011         * mkcshadow: And change copyright here.
6012         * src/Makefile.am (CXXFLAGS): Add -g -O2. Add new header
6013         dependencies for stl_pthread_alloc.h, pthread_allocimpl.h,
6014         stl_thread.h, and stl_iterator_base.h.
6015         * src/Makefile.in (CXXFLAGS): Ditto.
6016         * stl/backward/pthread_alloc.h: Remove.
6018 1999-02-19  Benjamin Kosnik  <bkoz@loony.cygnus.com>
6020         * bits/std_streambuf.h (sungetc): Use standard defs for putback
6021         position.
6022         * bits/std_fstream.h (pbackfail): Correct.
6023         (sungetc): Test.
6024         (seekoff): Implement.
6025         (seekpos): Re-do.
6026         * testsuite/27/27filebuf.cc: Add test cases.
6028 1999-02-18  Benjamin Kosnik  <bkoz@loony.cygnus.com>
6030         * bits/std_fstream.h: Go with basic_file's interfaces for dealing
6031         with the external buffers, and stop mucking around with setting
6032         and re-setting the external buf's pointers. Aka, clarity and
6033         simplicity rule the day.
6034         * src/locale.cc: Use memcpy in codecvt::do_in and codecvt::do_out.
6035         Remove partial result and support code.
6037 1999-02-18  Ulrich Drepper  <drepper@cygnus.com>
6039         * configure.in: Add hypot, hypotf, atan2f, expf, and copysignf to
6040         list of function which have to be replaced.
6041         Remove expf from list of functions to test for.
6042         Define USE_LONG_DOUBLE in case the libm has partial support for long
6043         doubles.
6044         * Makefile.in: Regenerated.
6045         * config.h.in: Likewise.
6046         * configure: Likewise.
6047         * libio/Makefile.am (LIBIO_SRCS): Add missing backslash.
6048         * libio/Makefile.in: Regenerated.
6049         * src/Makefile.in: Regenerated.
6050         * string/Makefile.in: Regenerated.
6051         * math/Makefile.am (EXTRA_DIST): Add hypot.c, hypotf.c, hypotl.c,
6052         atan2f.c, expf.c, and $(EXTRA_yes).
6053         (EXTRA_yes): Add signbitl.c mycabsl.c.
6054         (libmath_la_LIBADD): Add $(EXTRA_$(USE_LONG_DOUBLE)).
6055         (libmath_la_SOURCES): remove long double versions.
6056         * math/Makefile.in: Regnerated.
6057         * math/atan2f.c: New file.
6058         * math/copysignf.c: New file.
6059         * math/expf.c: New file.
6060         * math/hypot.c: New file.
6061         * math/hypotf.c: New file.
6062         * math/hypotl.c: New file.
6063         * math/cargf.c: Use correct function and macro names.
6064         * math/ccos.c: Likewise.
6065         * math/ccosh.c: Likewise.
6066         * math/ccoshf.c: Likewise.
6067         * math/ccoshl.c: Likewise.
6068         * math/cexp.c: Likewise.
6069         * math/cexpf.c: Likewise.
6070         * math/cexpl.c: Likewise.
6071         * math/clog.c: Likewise.
6072         * math/clog10.c: Likewise.
6073         * math/clog10f.c: Likewise.
6074         * math/clog10l.c: Likewise.
6075         * math/clogf.c: Likewise.
6076         * math/clogl.c: Likewise.
6077         * math/copysignf.c: Likewise.
6078         * math/csin.c: Likewise.
6079         * math/csinf.c: Likewise.
6080         * math/csinh.c: Likewise.
6081         * math/csinhf.c: Likewise.
6082         * math/csinhl.c: Likewise.
6083         * math/csinl.c: Likewise.
6084         * math/csqrt.c: Likewise.
6085         * math/csqrtf.c: Likewise.
6086         * math/csqrtl.c: Likewise.
6087         * math/ctan.c: Likewise.
6088         * math/ctanf.c: Likewise.
6089         * math/ctanh.c: Likewise.
6090         * math/ctanhf.c: Likewise.
6091         * math/ctanhl.c: Likewise.
6092         * math/ctanl.c: Likewise.
6094 1999-02-17  Benjamin Kosnik  <bkoz@cygnus.com>
6096         * testsuite/27/27filebuf.cc: Add cases.
6097         * testsuite/27/27filebuf-1.txt: Remove inadvertent garbage.
6098         * bits/std_streambuf.h: Simplify, always have one return statement.
6099         * bits/std_fstream.h: Tweak comments in underflow.
6101 1999-02-17  Ulrich Drepper  <drepper@cygnus.com>
6103         * ltmain.sh: Update from libtool 1.2d and fix Solaris problems.
6104         * ltconfig: Likewise.
6106 1999-02-16  Christophe Pierret  <cpierret@businessobjects.com>
6108         * src/locale.cc: Fix assert.
6110 1999-02-16  Benjamin Kosnik  <bkoz@cygnus.com>
6112         FIXME: Still need some kind of solution for undefined math symbols.
6113         * src/Makefile.in (locale-inst.lo): Compile with
6114         -fimplicit-templates to fix Solaris link problem.
6115         * src/Makefile.am: Ditto.
6116         * libio/Makefile.in: Add stdfiles.c so that _IO_list_all is defined.
6117         * libio/Makefile.am: Ditto.
6118         * src/locale.cc: Provide some kind of def for _S_tolower.
6119         * bits/locfacets.h: Fix declarations of ctype<wchar_t> to
6120         match ctype<char> for _S_tolower, _S_toupper, _S_table.
6122 1999-02-10  Benjamin Kosnik  <bkoz@cygnus.com>
6124         * bits/loccore.tcc: Move member-template ctor inline...
6125         * bits/loccore.h: ...here.
6126         * src/locale-inst.cc: Add instantiation here.
6128         * testsuite/27/27stringstream.cc: Tweak.
6130         * bits/ostream.tcc: Include sbuf_iter.h.
6132         * bits/ostream.tcc: Convert *this to ostreambuf_iterator before
6133         passing to num_put, as num_put's first argument is an interator,
6134         not basic_ostream.
6136         * testsuite/make_check_libfree++: New file, runs through the
6137         existing test files in the testsuite directory and makes sure
6138         they link.
6140 1999-02-10  Brendan Kehoe  <brendan@cygnus.com>
6142         * testsuite/21/21compare.cc: Fix typo.
6143         * src/locale.cc (ctype<wchar_t>::_S_{toupper,tolower,table}):
6144         Don't try to provide non-linux versions, since it's impossible to
6145         initialize their const references with the integer 0, no matter
6146         how we try to cast it.
6148 1999-02-10  Benjamin Kosnik  <bkoz@cygnus.com>
6150         * bits/std_locale.h: Move std_vector.h dependency.
6151         * bits/std_ios.h: ...from here.
6152         * bits/std_string.h: ...and here.
6153         * src/locale.cc: ..to here.
6154         * bits/loccore.h: Ditto, add vector forward declaration,
6155         make locale::_Impl data members pointers not containers.
6156         * bits/loccore.tcc: Move out-of-line for now.
6157         * bits/locfacets.h: Move vector dependency from here...
6158         * bits/locfacets.tcc: ...to here.
6159         * src/localename.cc: ..and here.
6160         * src/locale-inst.cc: Add include of locfacets.tcc here.
6162         * stl/bits/stl_string_fwd.h: Make __get_c_string non-static.
6163         * bits/basic_string.h: Can't use sizeof on an incomplete type.
6164         * bits/string.tcc: Tweak.
6165         * src/string.cc: And add __get_c_string def here.
6167         * bits/std_fstream.h: Yeah, comment the fill_n idea out as impractical.
6169         * src/stlinst.cc: Add include of stl_config.h.
6171 1999-02-09  Benjamin Kosnik  <bkoz@cygnus.com>
6173         * stl/bits/std_bitset.h: Update to SGI STL 3.12.
6174         * stl/bits/stl_config.h: Tweak, update.
6175         * stl/bits/std_stdexcept.h: Ditto, change stl_exception to
6176         std_exception.
6177         * stl/bits/std_memory.h: Reconstructed auto_ptr, Ditto.
6178         * stl/bits/std_functional.h: Ditto.
6180         * stl/bits/stl_string.h: New file, SGI's string
6181         implementation. For reference only, corresponding to string in
6182         3.12 source.
6183         * stl/bits/stl_char_traits.h: As above.
6185         * stl/bits/pthread_allocimpl.h: New file corresponding to
6186         pthread_alloc.
6187         * stl/bits/stl_pthread_alloc.h: New file corresponding to
6188         pthread_alloc.h
6189         * stl/bits/stl_threads.h: New file.
6191         Note that SGI STL 3.12's file iterator.h is not used.
6192         * stl/bits/std_iterator.h: Ditto.
6193         * stl/bits/stl_iterator.h: Drop in replace.
6194         * stl/bits/stl_iterator_base.h: New file, drop in replace.
6196         * stl/bits/stl_queue.h, stl_rope.h, stl_set.h, stl_stack.h,
6197         stl_string_fwd.h, stl_tempbuf.h, stl_tree.h, stl_vector.h,
6198         stl_pair.h, stl_multimap.h, stl_multiset.h, stl_list.h,
6199         stl_hashtable.h, stl_hash_set.h, stl_hash_map.h, stl_function.h,
6200         stl_deque.h, stl_alloc.h, stl_algo.h, stl_algobase.h, ropeimpl.h:
6201         Drop-in replace (ie, stop changing __SGI_STL_* to _CPP_BITS_* for
6202         preprocessor guards, but fixup include paths and names according
6203         to new directory layout).
6205 1999-02-05  Benjamin Kosnik  <bkoz@cygnus.com>
6207         * bits/std_fstream.h: Remove _M_open data member.
6208         * bits/fstream.tcc: Ditto.
6210         * src/locale.cc: Tweak.
6212         * bits/std_sstream.h: Simplify.
6214         * bits/std_streambuf.h: Simplify.
6215         (sputc): Use correct definition of "write area."
6217         * bits/std_fstream.h: Fix uflow.
6218         * src/basic_file.cc: Tweak.
6219         * testsuite/27/27filebuf.cc: Add tests.
6220         * testsuite/27/27filebuf-3.txt: Rename to *-2.txt.
6222 1999-02-02  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
6224         * bits/ios_base.h: Make protected.
6226 1999-02-01  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
6228         * bits/ios_base.h: Changes in the class ios_base:
6229         Rename _M_exceptions member to _M_exceptions_data.
6230         Make the member functions rdstate(), clear(), exceptions()
6231         and exceptions(iostate) protected and add the "_M_" prefix.
6232         * src/ios.cc: Ditto.
6233         * bits/basic_ios.h: Adapt the changes from ios_base.
6235 1999-01-29  Benjamin Kosnik  <bkoz@cygnus.com>
6237         * bits/std_fstream.h: Remove _M_flags, _M_equilibrate  as unnecessary.
6238         * bits/fstream.tcc: Ditto.
6240         * bits/std_fstream.h (underflow): Resize deallocates memory and
6241         resets pointers in the internal cache according to new _M_buf. . dooh!
6242         * src/locale.cc: Mas changes with codecvt::do_in, do_out.
6244 1999-01-29  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
6246         * stl/bits/std_memory.h:  Modify auto_ptr::reset to reflect the
6247         standard.
6249 1999-01-28  Benjamin Kosnik  <bkoz@cygnus.com>
6251         * src/locale.cc (codecvt::do_in): Finer-grained tuning to take
6252         into account partial returns.
6253         (codecvt::do_out): Likewise.
6255         * bits/char_traits.h: Change streamsize to be a signed type, as
6256         required by 27.4.1 Types p 2. (Changing to _IO_ssize_t.)
6257         * bits/std_streambuf.h: Make
6258         in_avail() and showmanyc() have streamsize as return types, so
6259         that showmanyc()'s return of eof won't underflow in_avail's return
6260         value and give a bogus result.
6261         * src/misc-inst.cc: And more changes. . .
6263         * bits/std_streambuf.h (basic_streambuf): Add _M_buf_unified to keep
6264         track of joint in/out pointers into the internal buffer.
6265         (sbumpc): Add check for _M_buf_unified.
6266         (sputbackc): Ditto.
6267         (sungetc): Ditto.
6269         * testsuite/27/27filebuf.cc: Add cases.
6270         * testsuite/27/27stringbuf.cc: Add showmanyc case.
6272         * bits/std_fstream.h (close): Fix logic error.
6273         (open): Initialize internal pointers based on _M_buf and _M_buf_size.
6274         (showmanyc): Add underflow component, to match the standard.
6276         * bits/fstream.tcc: Ditto.
6278 1999-01-27  Benjamin Kosnik  <bkoz@cygnus.com>
6280         * bits/basic_file.h: Match vtables w/ _IO_FILE_plus.
6281         * src/basic_file.cc: Ditto.
6282         * src/Makefile.in: Add -fvtable-thunks to CXXFLAGS: preferred
6283         format for dealing with _IO_file in libio.
6285 1999-01-27  Ulrich Drepper  <drepper@cygnus.com>
6287         * src/basic_file.cc: Include fcntl.h.
6289 1999-01-27  Benjamin Kosnik  <bkoz@cygnus.com>
6291         * libio/Makefile.in: Add fileops.lo, genops.lo to objects to debug
6292         libio calls.
6293         * bits/std_streambuf.h: Redefine read posion.
6295         * bits/std_fstream.h: Temporary hack to get vtables working again.
6296         * bits/basic_file.h: Revert.
6297         * src/basic_file.cc: Ditto.
6298         * testsuite/27/27filebuf.cc: Tweak.
6300 1999-01-26  Benjamin Kosnik  <bkoz@cygnus.com>
6302         * bits/basic_file.h: Add showmanyc, underflow. .
6303         * src/basic_file.cc: Ditto.
6305         * bits/std_fstream.h (showmanyc): Add bits to ping libio to see if more
6306         chars can be read.
6308         * testsuite/27/27filebuf.cc: Add testcases.
6309         * src/basic_file.cc: Add O_CREAT to open calls with
6310         ios_base::trunc as part of the open mode.
6312 1999-01-26  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
6314         * bits/basic_ios.h: fix basic_ios::exceptions(iostate)
6316 1999-01-25  Benjamin Kosnik  <bkoz@nabi.net>
6318         * src/ios.cc (clear): Correct typo.
6319         * bits/ios_base.h: Tweak spacing.
6321 1999-01-25  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
6323         * bits/basic_ios.h: fix basic_ios::fail()
6325 1999-01-25  Benjamin Kosnik  <bkoz@loony.cygnus.com>
6327         * bits/basic_file.h: Include libioP.h from libio instead of here.
6328         * bits/iolibio.h: Remove.
6329         * bits/libio.h: Remove.
6331 1999-01-22  Benjamin Kosnik  <bkoz@lunatic.cygnus.com>
6333         * bits/std_fstream.h: Tweak cvt-> in call for newer egcs compilers.
6335 1999-01-22  Ulrich Drepper  <drepper@cygnus.com>
6337         * Makefile.am (SUBDIRS): Add libio.
6338         * configure.in: Add rule to test for glibc2.
6340         * src/Makefile.am (INCLUDES): Add -I to libio subdir.
6341         (libstdc___la_LIBADD): Add libio.la.
6343 1999-01-21  Benjamin Kosnik  <bkoz@cygnus.com>
6345         * bits/basic_file.h: Make new abstraction for underlying C library
6346         FILE, named __basic_file.
6347         * src/basic_file.cc: New file.
6348         * bits/os_raw.h: Delete.
6349         * src/os_raw.cc: Delete.
6350         * src/Makefile.in: Tweak.
6351         * src/Makefile.am: Tweak.
6352         * bits/iolibio.h: Add this here, for the time being.
6353         * bits/libioP.h: Ditto.
6355         * bits/ios_base.h: Delete unused defines.
6356         * src/locale.cc (codecvt<char, char, mbstate_t>::do_in): Use
6357         strcpy to copy between the two buffers.
6359         * testsuite/27/27stringbuf.cc: Change license, fix in_avail tests.
6360         * testsuite/27/27filebuf.cc: New file.
6361         * testsuite/27/27filebuf-1.txt: Data file for above test.
6362         * testsuite/27/27filebuf-2.txt: Ditto.
6364         * bits/std_streambuf.h (uflow): Re-implement default.
6365         * bits/std_fstream.h: Set _M_buf_size based on cstdio's BUFSIZ.
6366         Re-implement virtual functions.
6367         * bits/fstream.tcc: Delete unused mf's.
6369 1998-12-31  Benjamin Kosnik  <bkoz@lunatic.cygnus.com>
6371         * bits/fstream.tcc: Add fstream ctor for cin/cout/etc.
6372         * bits/std_fstream.h: Ditto.
6373         * src/stdstreams.cc: Ditto.
6375         * math/cpowl.c: Fix header typo with last change.
6377 1998-12-31  Benjamin Kosnik  <bkoz@loony.cygnus.com>
6379         * COPYING: New file (GPL v 2).
6380         * LICENSE.STD: Remove.
6381         * ./*: Change license.
6383 1998-12-30  Benjamin Kosnik  <bkoz@haight.constant.com>
6385         * bits/std_streambuf.h (std): Remove static on _M_init.
6386         * bits/streambuf.tcc (std): Ditto.
6388         * bits/std_fstream.h: Add changes as discussed with Nathan, including
6389         state_type and codecvt_type members, the allocation of an internal
6390         buffer, the streamlined codecvt calls, etc.
6392 1998-12-21  Benjamin Kosnik  <bkoz@haight.constant.com>
6394         * bits/std_sstream.h: Tweak.
6395         * bits/fstream.tcc: Remove unused stubs.
6396         * bits/std_fstream.h: Tweak.
6398 1998-12-17  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
6400         * bits/std_streambuf.h: Move _IO_file_flags into basic_filebuf.
6401         Remove unused _IO_* members, possibly put into filebuf, which may
6402         need them.
6403         * bits/std_fstream.h: Add _M_flag.
6404         * bits/sbuf_iter.h: Tweak.
6406         * bits/std_cstdio.h: Add SEEK_SET, SEEK_END, SEEK_CUR.
6407         * bits/ios_base.h: Use.
6409         * src/stdstreams.cc: Modify to reflect standard ctors for
6410         filebuf.
6411         * src/misc-inst.cc: Ditto.
6413         * bits/os_raw.h: Wrap in std namespace. Model parameters on
6414         underlying C library calls instead of the underlying unix
6415         filesystem.
6416         * src/os_raw.cc (_S_os_open): Use fopen, and compute a mode
6417         string as per p.659.
6418         (_S_os_close): Model on fopen.
6419         (_S_os_read): Model on fread.
6420         (_S_os_write): Model on fwrite.
6421         (_S_os_seek): Model on fseek.
6423         * bits/ios_base.h: Tweak.
6424         * bits/std_iosfwd.h: Wrap libio.h include with extern "C".
6425         * bits/std_sstream.h: Tweak.
6426         * bits/sstream.tcc: Remove old, uncalled code.
6427         * bits/std_fstream.h: Major reconstruction.
6428         * bits/fstream.tcc: Disable for the time being.
6430 1998-12-11  Benjamin Kosnik  <bkoz@haight.constant.com>
6432         * bits/basic_string.h: Fix insert method.
6433         * stl/bits/stl_iterator.h: Remove previous hack.
6434         * bits/std_streambuf.h (sbumpc): Correct increment/return oddness.
6435         * bits/std_sstream.h: Fix more regressions.
6436         * testsuite/27/27stringbuf.C: Add (almost) complete tests.
6438 1998-12-09 Benjamin Kosnik  <bkoz@loony.cygnus.com>
6440         * bits/basic_string.h: Tweak.
6442         * stl/bits/stl_iterator.h: Specialize iterator_traits for int so
6443         that string::append can be instantiated. HACK--checkin
6444         basic_string::iterator class.
6446 1998-12-07  Benjamin Kosnik  <bkoz@haight.constant.com>
6448         * bits/std_sstream.h: Tweak.
6449         * bits/sstream.tcc: Tweak ctors.
6451         FIXME invalid friend defs. . WHERE ARE THEY??
6453         * bits/sbuf_iter.h (istreambuf_iterator::equal): Change to new
6454         names for basic_streambuf data members.
6456         * bits/std_streambuf.h: Add getloc() initialization bits.
6457         basic_streambuf(): Initialize with global locale data.
6458         imbue(): Set _M_init.
6460         * bits/std_streambuf.h(seekoff, seekpos): Complete with invalid
6461         stream pos == pos_type(off_type(-1)).
6462         in_avail(): Complete default implementation.
6463         snextc, sbumpc, sputbackc, sungetc, sputc, setg, xsputn,
6464         underflow, uflow, xsgetn, showmany, sync: Ditto.
6466         * bits/std_streambuf.h: _M_snextc_helper(): Remove.
6468         * bits/streambuf.tcc (sputbackc): Temporarily remove, need to
6469         re-populate with in-line member functions that are too big.  Add
6470         initialization for _M_init.
6472 1998-12-03  Benjamin Kosnik  <bkoz@cygnus.com>
6474         * bits/sstream.tcc: Convert _Allocator to _Alloc.  Add typedefs
6475         for basic_string and basic_streambuf. Scope _IO_buf_* pointers to
6476         streambuf_type.
6478         * src/stdstreams.cc (std): Disable wchar_t instantiations.
6480         * bits/c++config.h (_G_DEPRICATED): Add.
6481         (_G_USE_WCHAR_T): Add.
6482         * bits/std_streambuf.h: Radical reconstruction of basic_streambuf.
6483         Take out _Streambuf_base. Put _IO_FILE data member in basic_filebuf.
6484         * bits/streambuf.tcc (sputbackc): Remove ctor anti-def, Tweak.
6485         * bits/std_fstream.h: Add comment for implementation.
6486         * src/streambuf.cc: Remove.
6487         * src/Makefile.in: Remove streambuf.lo.
6488         * src/misc-inst.cc: Tweak.
6490 1998-12-02  Benjamin Kosnik  <bkoz@cygnus.com>
6492         * bits/std_sstream.h: Add const_cast to rdbuf returns.
6493         * testsuite/27stringstream.C: Modify.
6495 1998-11-25  Benjamin Kosnik  <bkoz@haight.constant.com>
6497         * src/Makefile.in (libstdc___la_OBJECTS): Add streambuf.lo.
6498         (libstdc___la_SOURCES): Ditto.
6500         * bits/streambuf.tcc: Tweak.
6502         * src/streambuf.cc: New file, add out-of-line definitions for
6503         _Streambuf_base.
6505         * src/misc-inst.cc: Remove _Streambuf_base instantiations.
6506         Comment out wchar_t versions of the buffer instantiations, for now.
6508         * bits/std_streambuf.h: Wrap libio.h include with extern "C".
6509         Remove template wrapper around _Streambuf_base.
6510         Move IO_* data members into _Streambuf_base.
6511         Move _Streambuf_base members into streambuf.tcc.
6513         * bits/c++config.h (_G_USE_LIBIO): Enable.
6515 1998-11-02  Nathan Myers <ncm@cantrip.org>
6517         * CHECKLIST: downgrade iterator implementations
6518         * DESIGN: fill out notes about unimplemented features
6520 1998-10-31  Nathan Myers <ncm@cantrip.org>
6522         * CHECKLIST: itemized list of all interfaces, and status of each.
6524 1998-10-30  Nathan Myers  <ncm@cantrip.org>
6526         * RELEASE-NOTES: add notes about optional includes, linking, running
6527         * src/Makefile.am: handle header installs properly
6528         * src/Makefile.in: regenerate from new src/Makefile.am
6530 1998-10-30  Benjamin Kosnik  <bkoz@loony.cygnus.com>
6532         * bits/basic_string.h: Revert npos pending ciso646.
6533         * src/Makefile.am: Revert CXX flags for now.
6534         * src/Makefile.in: Ditto.
6536 1998-10-30  Brendan Kehoe  <brendan@cygnus.com>
6538         * bits/std_sstream.h: Re-order ctors to put base before member
6539         inits.
6541 1998-10-30  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
6543         * stl/bits/std_memory.h: Fix typo.
6545 1998-10-30  Nathan Myers <ncm@cantrip.org>
6547         * src/string[A-Z]+.cc: change back to include "string.cc".
6548         * src/Makefile.am: revert filename changes.  We need a different
6549         way to keep filenames in std/ from confusing Make.
6550         * bits/basic_string.h: define _S_max_size right, return it from
6551         string::max_size(); churn definition of npos again.
6552         * bits/string.tcc: fix _S_frob_size to avoid uint overflow.
6553         * bits/ios.cc: remove #ifdef on ios_base locale member initialization
6554         * BUGS: clear cruft.
6555         * C++STYLE: Touchup for release.
6556         * CHECKLIST: Touchup for release.
6557         * DESIGN: New file.
6558         * LICENSE.STD: Add requirement to retain copyrights and to provide
6559         the license with any copies.
6560         * README: Update for release.
6561         * TODO: Minor touchup for release.
6562         * RELEASE-NOTES: prepare for release
6564 1998-10-29  Ulrich Drepper  <drepper@cygnus.com>
6566         * src/string[A-Z]+.cc: Include stdstring.cc, not string.cc.
6568         * src/Makefile.am (CXXFLAGS): Define _GNU_SOURCE.
6570         * src/Makefile.am (CXXLINK): New variable.  Make sure we don't use
6571         CXX to generate the shared object.
6573         * src/Makefile.am (headers): Remove duplicated char_traits.h.
6575 1998-10-29  Brendan Kehoe  <brendan@cygnus.com>
6577         * bits/basic_string.h (basic_string<>::max_size): Subtract 1, not
6578         2, from npos, solving infinite loop problems.
6580 1998-10-29 18:41  Ulrich Drepper  <drepper@cygnus.com>
6582         * src/Makefile.am: Add rules to install headers.
6584 1998-10-29  Nathan Myers <ncm@cantrip.org>
6586         * bits/std_ostream.h: Remove #ifdef on operator<< for long double
6587         * bits/ostream.tcc:   Remove #ifdef on operator<< for long double
6588         * shadow/libio.h:
6589         * shadow/unistd.h:
6590         * shadow/bits/wrap_libio.h:
6591         * shadow/bits/wrap_unistd.h: New files.
6593 1998-10-29  Brendan Kehoe  <brendan@cygnus.com>
6595         * bits/ostream.tcc (operator<<): Wrap with #ifdef
6596         _G_HAVE_LONG_DOUBLE_IO, to match bits/std_ostream.h.
6598 1998-10-29  Ulrich Drepper  <drepper@cygnus.com>
6600         * src/Makefile.am: Add temporarily rules to make sure misc-inst.cc
6601         is not compiled with -fno-implicit-templates in effect.
6603         * src/Makefile.am (EXTRA_SOURCES): Add string.cc and wstring.cc here.
6604         (libstdc___la_SOURCES): Add all the string*.cc and wstring*.cc files.
6605         * src/stringADDCS.cc: Wrapper around string.cc to define individual
6606         function.
6607         * src/stringADDPS.cc: Likewise.
6608         * src/stringADDSC.cc: Likewise.
6609         * src/stringADDSP.cc: Likewise.
6610         * src/stringADDSS.cc: Likewise.
6611         * src/stringBIST.cc: Likewise.
6612         * src/stringBOST.cc: Likewise.
6613         * src/stringCHTR.cc: Likewise.
6614         * src/stringEQPS.cc: Likewise.
6615         * src/stringEQSP.cc: Likewise.
6616         * src/stringEQSS.cc: Likewise.
6617         * src/stringEXTRA.cc: Likewise.
6618         * src/stringGEPS.cc: Likewise.
6619         * src/stringGESP.cc: Likewise.
6620         * src/stringGESS.cc: Likewise.
6621         * src/stringGETLI.cc: Likewise.
6622         * src/stringGTPS.cc: Likewise.
6623         * src/stringGTSP.cc: Likewise.
6624         * src/stringGTSS.cc: Likewise.
6625         * src/stringINSER.cc: Likewise.
6626         * src/stringLEPS.cc: Likewise.
6627         * src/stringLESP.cc: Likewise.
6628         * src/stringLESS.cc: Likewise.
6629         * src/stringLTPS.cc: Likewise.
6630         * src/stringLTSP.cc: Likewise.
6631         * src/stringLTSS.cc: Likewise.
6632         * src/stringMAIN.cc: Likewise.
6633         * src/stringNEPS.cc: Likewise.
6634         * src/stringNESP.cc: Likewise.
6635         * src/stringNESS.cc: Likewise.
6636         * src/stringSCOPY.cc: Likewise.
6637         * src/wstringADDCS.cc: Wrapper around wstring.cc to define individual
6638         functions.
6639         * src/wstringADDPS.cc: Likewise.
6640         * src/wstringADDSC.cc: Likewise.
6641         * src/wstringADDSP.cc: Likewise.
6642         * src/wstringADDSS.cc: Likewise.
6643         * src/wstringBIST.cc: Likewise.
6644         * src/wstringBOST.cc: Likewise.
6645         * src/wstringCHTR.cc: Likewise.
6646         * src/wstringEQPS.cc: Likewise.
6647         * src/wstringEQSP.cc: Likewise.
6648         * src/wstringEQSS.cc: Likewise.
6649         * src/wstringEXTRA.cc: Likewise.
6650         * src/wstringGEPS.cc: Likewise.
6651         * src/wstringGESP.cc: Likewise.
6652         * src/wstringGESS.cc: Likewise.
6653         * src/wstringGETLI.cc: Likewise.
6654         * src/wstringGTPS.cc: Likewise.
6655         * src/wstringGTSP.cc: Likewise.
6656         * src/wstringGTSS.cc: Likewise.
6657         * src/wstringINSER.cc: Likewise.
6658         * src/wstringLEPS.cc: Likewise.
6659         * src/wstringLESP.cc: Likewise.
6660         * src/wstringLESS.cc: Likewise.
6661         * src/wstringLTPS.cc: Likewise.
6662         * src/wstringLTSP.cc: Likewise.
6663         * src/wstringLTSS.cc: Likewise.
6664         * src/wstringMAIN.cc: Likewise.
6665         * src/wstringNEPS.cc: Likewise.
6666         * src/wstringNESP.cc: Likewise.
6667         * src/wstringNESS.cc: Likewise.
6668         * src/wstringSCOPY.cc: Likewise.
6669         * src/string.cc: Remove now unneeded #defines now.
6671 1998-10-29 Nathan Myers <ncm@cantrip.org>
6673         * bits/locfacets.tcc: Define num_put::put(... const void*), improve
6674         integer formatting.
6675         * bits/ostream.tcc: Delete cruft, rewrite various op<< as members,
6676         add definitions for double, long double, const void*.
6677         * bits/std_ostream.h: Move op<<'s back into class ostream,
6678         define some in-line.
6679         * bits/string.tcc: fix unnecessary-copying bug in op[], typos in
6680         string construction from input iterators that Brendan reported.
6683 1998-10-28  Brendan Kehoe  <brendan@cygnus.com>
6685         * stl/bits/stl_pair.h (op!=, op>, p<=, op>=): Add missing definitions.
6687         * bits/valarray_meta.h (class _Constant): Move declaration to the
6688         top, so the rest of the file can grok it.
6689         (_ApplyBinaryFunction::operator[]): Add missing parenthesis.
6691         * bits/std_sstream.h (basic_ostringstream::str): Fix typo of extra
6692         semicolon.
6693         (basic_stringstream::str, both instances): Likewise.
6695 1998-10-28 Nathan Myers <ncm@cantrip.org>
6697         * bits/locfacets.h: fix num_put<>::falsename()
6698         * bits/locfacets.tcc: fix _Format_cache<>::_M_populate bool name init
6699         * testsuite/27/27octfmt.C, testsuite/27/27octfmt.C: new tests
6700         * bits/locfacets.tcc: touch up _S_group_digits.
6701         * src/misc-inst.cc: adjust _S_group_digits insts to match.
6703 1998-10-27 Nathan Myers <ncm@cantrip.org>
6705         * stl/bits/stl_config.h: Turn off long long support, for now.
6706         * src/locale-inst.cc: Instantiate num_put<> only for
6707         ostreambuf_iterator, num_get only for istreambuf_iterator.
6708         * src/misc-inst.cc: Delete duplicate locale-related instantiations,
6709         add lots of new instantiations for num_put support function templates;
6710         remove junk about __match_parallel for ostreambuf_iterator.
6712 1998-10-27 Nathan Myers <ncm@cantrip.org>
6714         * bits/locfacets.tcc: Make num_put's digit grouping work.
6715         * bits/string.tcc: More uglification.
6716         * src/ios.cc: initialize format cache right
6718 1998-10-26 Nathan Myers <ncm@cantrip.org>
6720         * bits/basic_string.h: Uglify more names.
6721         * bits/fstream.tcc: Rewrite some filebut output handling.
6722         * bits/ios_base.h: Cosmetic.
6723         * bits/locfacets.h: Changes to _Format_cache for support of num_put.
6724         Also, specialize its default ctor for optimal default case.
6725         #ifdef out "long long" prototypes for now.
6726         * bits/locfacets.tcc: Do complete, optimized num_put<>::do_put
6727         implementation for integer types.  (Still needs optimized
6728         std::copy() applied to ostreambuf_iterator to be optimal.)
6729         * bits/ostream.tcc: Write operator<< for long, bool types.
6730         Make other operators<< non-members, per spec.  (Many still
6731         not implemented.)  Identify those that fail to create a sentry.
6732         * bits/sbuf_iter: Cosmetic.
6733         * bits/std_fstream.h: Add some filebuf members.
6734         * bits/std_locale.h: Include <limits> for use in bits/locfacets.h
6735         * bits/std_ostream.h: Make member operators<< global, per spec.
6736         (Should do the same in std_istream.h.)
6737         * bits/std_string.h: Include <limits> for use in bits/locfacets.h
6738         * bits/string.tcc: Uglify names
6739         * shadow/bits/std_cstdlib.h: Optimize std::div and std::ldiv.
6740         * src/ios.cc: Specialize _Format_cache<> for char and wchar_t,
6741         for optimal default behavior.
6743 1998-10-26  Benjamin Kosnik  <bkoz@loony.cygnus.com>
6745         * src/Makefile.in (libstdc___la_SOURCES): Add misc-inst.cc again.
6747 1998-10-21 Nathan Myers <ncm@cantrip.org>
6749         * src/locale.cc: make ctype operations actually work for glibc
6750         * CHECKLIST: add a comprehensive (i.e. huge) implementation
6751         checklist of stdlib facilities.  Not filled in yet.
6753 1998-10-20 Nathan Myers <ncm@cantrip.org>
6755         * bits/string.tcc: fix patching NULs on string ends.
6757 1998-10-19 Nathan Myers <ncm@cantrip.org>
6759         * bits/std_iosfwd.h: eliminate "basic_" prefix on streambuf
6760         iterator forward declarations
6761         * bits/sbuf_iter.h: eliminate default template argument definitions
6762         on streambuf iterators (rely on <iosfwd> decls).
6763         * TODO: add note about lazy facet construction
6764         * bits/basic_ios.h: hit operator void* again.  This should be the
6765         last time we need to touch it.
6766         * bits/basic_ios.h: copyfmt now returns *this.
6767         * bits/basic_string.h: fix npos again.  npos cannot be defined as zero.
6768         * bits/basic_string.h: put back overloaded constructors; adjust
6769         behavior for default allocator on copy constructor.
6770         * bits/char_traits.h: make not_eof return correct type.
6771         * bits/loccore.h: remove call to bits/std_stdexcept.h; subincludes
6772         cannot be in non-standard headers or we get include loops (bad)
6773         * bits/loccore.h: delete ifdef'd out workarounds for old compiler bugs.
6774         * bits/loccore.h: add apparatus to support lazy construction of
6775         facets.
6776         * bits/locfacets.tcc: Uglify names in __match_parallel decl.
6777         * bits/std_ios.h: add include of <typeinfo> to get bad_cast for
6778         locale use_facet<> failure.
6779         * bits/std_locale.h: same.
6780         * bits/std_string.h: same.
6781         * bits/std_stdexcept.h: change exception member __msg from a
6782         reference to a regular object.
6783         * bits/string.tcc: add pasting a NUL on the end of strings after
6784         each operation. We had already left room for it, but previously
6785         plugged it only on a call to c_str(), but the WG changed the
6786         requirement when I wasn't looking.  (Can't leave them alone for
6787         a second without they break something else.)
6788         * bits/valarray_meta.h: add Gaby's changes from 981018.
6789         * src/locale.cc: add new type _Bad_use_facet to be thrown on
6790         failure of use_facet<>().
6791         * src/stdexcept.cc: remove pragma, remove bkoz's #if 0,
6792         comment out leftover member definitions
6794 1998-10-16  Ulrich Drepper  <drepper@cygnus.com>
6796         * string/Makefile.am: Revert last change.
6797         * math/Makefile.am: Likewise.
6799 1998-10-15  Benjamin Kosnik  <bkoz@haight.constant.com>
6801         * bits/std_sstream.h: Fix typo.
6803 1998-10-15  Benjamin Kosnik  <bkoz@haight.constant.com>
6805         * src/Makefile.am (libstdc___la_SOURCES): Add misc-inst.cc.
6807         * bits/std_sstream.h: Add typedefs, member definitions. Clean.
6808         * bits/std_stdexcept.h: Remove.
6810 1998-10-15  Benjamin Kosnik  <bkoz@haight.constant.com>
6812         * src/misc-inst.cc: Tweak again.
6814         * bits/std_sstream.h: Move out-of-line definitions to sstream.tcc.
6815         * bits/sstream.tcc: New file.
6817 1998-10-15  Ulrich Drepper  <drepper@cygnus.com>
6819         * configure.in: Test for machine/param.h, sys/machine.h and fp.h.
6820         Don't run AC_C_BIGENDIAN if machine/param.h or sys/machine.h are
6821         available.
6823         * math/mathconf.h: Include sys/machine.h, machine/param.h and fp.h
6824         if available.
6825         (INFINITE_P): Use IS_INF macro if available.
6827 1998-10-15  Ulrich Drepper  <drepper@cygnus.com>
6829         * math/Makefile.am (EXTRA_LTLIBRARIES): Renamed from
6830         noinst_LTLIBRARIES.
6831         * string/Makefile.am: Likewise.
6833 1998-10-15  Ulrich Drepper  <drepper@cygnus.com>
6835         * configure.in (AC_CHECK_FUNCS): Add finite, qfinite, fpclass, and
6836         qfpclass.
6837         (AC_CHECK_HEADERS): Add machine/endian.h.  If no header specifying
6838         endianess is available run AC_C_BIGENDIAN.
6840         * math/clog10l.c: Add ugly hack around bug in Irix 6.2 header until
6841         fixincludes is fixed.
6842         * math/clogl.c: Likewise.
6843         * math/csqrtl.c: Likewise.
6844         * math/mycabsl.c: Likewise.
6846         * math/mathconf.h: Include machine/endian.h if possible.  If no
6847         header describing endianess is available rely on WORDS_BIGENDIAN
6848         macro.
6849         (FINITE_P, FINITEF_P, FINITEL_P): Use finite functino if available.
6850         (INFINITE_P, INFINITEF_P, INFINITEL_P): Use fpclass function if
6851         available.
6853         * src/complex.cc (polar): Don't use sincos on OSF machines.
6855 1998-10-09  Benjamin Kosnik  <bkoz@loony.cygnus.com>
6857         * src/locale-inst.cc: Don't instantiate time_get for
6858         ostreambuf_iterators as time_get::do_get_weekday and
6859         time_get::do_get_monthname use __match_parallel, which is illegal
6860         for ostreambuf_iterators to use, as they don't have operator== or
6861         operator!=.
6862         * bits/std_stdexcept.h: Add dtor definitions.
6863         Use stl/bits/std_stdexcept.h instead of this file?
6864         * bits/sbuf_iter.h : Tweak.
6865         * src/misc-inst.cc: Tweak.
6867 1998-10-09  Benjamin Kosnik  <bkoz@haight.constant.com>
6869         * bits/std_stdexcept.h: New file.
6870         * src/stdexcept.cc: Define the following:
6871         logic_error::what()
6872         runtime_error::what()
6874         * src/misc-inst.cc: New file.
6875         * src/Makefile.in (libstdc___la_SOURCES): Add misc-inst.cc.
6876         (libstdc___la_OBJECTS): Add misc-inst.lo.
6878         * bits/basic_string.h: Disable non-standard ctor declarations.
6879         * bits/string.tcc: Disable definitions as well.
6880         * src/string.cc: Disable <ios> dependancies.
6881         * bits/sbuf_iter.h (std): Add default to template parameter for
6882         ostreambuf_iterator and istreambuf_iterator.
6883         * bits/std_iosfwd.h: Change istreambuf_iterator to
6884         basic_istreambuf_iterator. Likewise for ostreambuf.
6885         * bits/locfacets.tcc (__match_parallel): Fix typo.
6886         * src/ios.cc (imbue): Remove the _G_HAVE_LOCALE guards around
6887         ios_base::imbue.
6888         * bits/std_streambuf.h: Define _Streambuf_base::getloc().
6889         * bits/std_istream.h: Define the following:
6890         get (basic_streambuf<char_type,_Traits>& __sb, char_type __delim)
6891         get (char_type* __s, streamsize __n, char_type __delim);
6892         getline (char_type* __s, streamsize __n, char_type __delim)
6893         * bits/loccore.h : FIXME friend template code for use_facet.
6894         Add std_stdexcept.h include so that range_error will be defined.
6895         Add explicit conversion to string for range_error throws. (HACK?)
6897 1998-10-8  Ulrich Drepper  <drepepr@cygnus.com>
6899         * configure.in: Check for sincos, sincosf, and sincosl.
6900         * src/complex.cc (polar): Use sincos if available.
6902         * bits/c++config.h: Fix hack to get LONG_LONG* definitions on Linux.
6903         * stl/bits/std_limits.h: Include bits/c++config.h.  HACK!!!
6905         * math/clog10.c: Fix typo (FP_INIFITE_P -> INFINITE_P).
6907         * math/cpow.c: Use c_log, not clog.
6908         * math/cpowf.c: Likewise.
6909         * math/cpowl.c: Likewise.
6911         * math/cexp.c: Remove unused fpclassify calls.  Use FINITE_P instead
6912         of isfinite call.
6914         * math/mathconf.h (FINITE_P, FINITEF_P, FINITEL_P): Define using
6915         isfinite macro if it is available.
6916         (INFINITE_P, INFINITEF_P, INFINITEL_P): Define using isinf macro.
6918         * math/ccosf.c: Use appropriate test macros for this type.
6919         * math/ccoshf.c: Likewise.
6920         * math/ccoshl.c: Likewise.
6921         * math/ccosl.c: Likewise.
6922         * math/cexpf.c: Likewise.
6923         * math/cexpl.c: Likewise.
6924         * math/clog10f.c: Likewise.
6925         * math/clog10l.c: Likewise.
6926         * math/clogf.c: Likewise.
6927         * math/clogl.c: Likewise.
6928         * math/csinf.c: Likewise.
6929         * math/csinhf.c: Likewise.
6930         * math/csinhl.c: Likewise.
6931         * math/csinl.c: Likewise.
6932         * math/csqrtf.c: Likewise.
6933         * math/csqrtl.c: Likewise.
6934         * math/ctanf.c: Likewise.
6935         * math/ctanhf.c: Likewise.
6936         * math/ctanhl.c: Likewise.
6937         * math/ctanl.c: Likewise.
6939 1998-10-06  Benjamin Kosnik  <bkoz@bliss.nabi.net>
6941         * bits/basic_ios.h: Fix previous change.
6943 1998-10-06  Benjamin Kosnik  <bkoz@bliss.nabi.net>
6945         * bits/basic_ios.h: Add const_cast<basic_ios&>
6946         (operator void*): As per 5.2.9 p 2, make sure static_cast is
6947         well-formed.
6948         * bits/char_traits.h: No _CharT for specialization, change to 0.
6949         * bits/basic_string.h: As per 9.4.2 p4, initialize with
6950         constant-initializer.
6951         * bits/locfacets.tcc: Add template parameter to initialization list.
6953 1998-10-02  Benjamin Kosnik  <bkoz@loony.cygnus.com>
6955         * bits/basic_string.h: Should just be <, not <=.
6957 1998-10-01  Benjamin Kosnik  <bkoz@bliss.nabi.net>
6959         * bits/string.tcc (compare): Fix for strings that are similar, but
6960         not the same length.
6962 1998-09-04  Brendan Kehoe  <brendan@cygnus.com>
6964         * bits/c++config.h: For __linux__, define _GNU_SOURCE.  This is
6965         required for us to get LONG_LONG_{MIN,MAX} out of gcc's limits.h.
6966         We can't check for __GLIBC__ here, since this header can be read
6967         before any system one (that would lead to features.h) being used.
6969         * stl/bits/stl_config.h (__STL_LONG_LONG): Re-enabled
6971         * stl/bits/std_limits.h [__STL_LONG_LONG]: Fix usage to use
6972         LONG_LONG_MIN, LONG_LONG_MAX, and ULONG_LONG_MAX.
6974         * stl/bits/stl_config.h: Don't do __STL_LONG_LONG, it uses
6975         LONGLONG_{MIN,MAX} which I can't find the origin of.
6977 1998-09-03  Brendan Kehoe  <brendan@cygnus.com>
6979         * stl/bits/stl_iterator.h: Add extern decl of cin for now; where
6980         should this come from, if not iostream.h?
6981         (class istream_iterator): Make the new operator!= a friend also.
6983         * stl/bits/stl_config.h: Define __STL_HAS_WCHAR_T,
6984         __STL_MEMBER_TEMPLATE_CLASSES, and __STL_LONG_LONG.  Don't include
6985         _G_config.h like the egcs one does.
6987 1998-09-01  Brendan Kehoe  <brendan@cygnus.com>
6989         * bits/string.tcc: Call `_M_destroy' instead of `destroy'.
6991         * bits/valarray_meta.h: Throughout, rename _Expr typedefs to be
6992         _Expr1 (or _Expr_def if it's taken), and change definitions.
6993         Avoids redecl of the template parm.
6995         * bits/string.tcc (basic_string copy ctor): Fix typo in declaration.
6996         (operator>>): Initialize __ERROR with ios_base::goodbit, not 0.
6998         * bits/std_streambuf.h (_POSIX_SOURCE): Only define if it's not
6999         already done.
7001         * src/locale-inst.cc: New file, **TOTAL HACK**.  There has GOT to
7002         be a better way to do this.
7004         * src/stlinst.cc: New file.
7006         * BUGS: New file, with various discovered bugs that need to be
7007         fixed.
7009         * Makefile.in, math/Makefile.in, string/Makefile.in,
7010         src/Makefile.in: Reran automake.
7012         Workarounds, these may not all be the final fixes:
7014         * bits/basic_ios.h (class basic_ios): Make _M_strbuf be protected,
7015         not private, for basic_istream::get() in std_istream.h to be able
7016         to use it.
7017         (basic_ios::operator void*): Don't use static_cast for the false
7018         case.
7019         (basic_ios::copyfmt): Fix `rhs.except' to be `rhs.exceptions ()'.
7020         This appears to have been in sep94, but didn't get corrected
7021         afterwards.
7023         * bits/basic_string.h (npos): Don't init here.
7024         * bits/string.tcc: Instead, do initialization here, to -1 instead
7025         of the size_type destructor.
7027         * src/traits.cc, src/wtraits.cc: New files.
7028         * bits/char_traits.h: For char_traits<char> and
7029         char_traits<wchar_t>, declare static, but define over in the src
7030         files.
7032         * bits/gslice.h: Comment out forward decls of _Array, valarray,
7033         gslice_array, and _GsliceExpression.
7035         * bits/std_cstdio.h [__sparc__ && __svr4__]: #undef all of
7036         clearerr, feof, ferror, getc, getchar, putc, putchar, stdin,
7037         stdout, and stderr.  Note we do get unresolved refs to stdin, but
7038         that'll get fixed by the "true" solution.
7040         * bits/std_ios.h: Include <bits/std_streambuf.h> to get the
7041         definition of basic_streambuf.h, which is used in basic_ios.h to
7042         call pubimbue.
7044         * bits/std_streambuf.h: Don't include libio.h for now.
7045         (class basic_streambuf): Define missing methods pubimbue and
7046         getloc.
7048         * src/Makefile.am (libstdc___la_SOURCES): Add stdexcept.cc,
7049         ios.cc, os_raw.cc, stdstreams.cc, locale.cc, localename.cc,
7050         locale-inst.cc, stlinst.cc, traits.cc, wtraits.cc.
7052         * src/ios.cc: Instantiate basic_ios<char> and basic_ios<wchar_t>.
7054         * src/locale.cc: Come up with munged versions of _S_toupper,
7055         _S_tolower, and _S_table instead of the glibc-specific ones, so
7056         they're at least defined, if not necessarily usable.  The glibc
7057         ones on any other system will yield unresolved refs to
7058         __ctype_{b,toupper,tolower}.
7060         * src/string.cc: Define all of ADDCS, ADDPS, et al.  Add
7061         basic_ios, basic_istream, basic_ostream.  Don't do char_traits
7062         anymore cuz of the explicit specialization in char_traits.h.
7063         Also add _S_string_copy, but this doesn't fix it -- cf the BUGS
7064         file for the details.
7066         * stl/bits/stl_algobase.h (equal): Fix to do `! (x==y)'.
7067         * stl/bits/stl_iterator.h (__distance): Likewise.
7069         * stl/bits/stl_iterator.h: As with 8/18 set, define missing op!=,
7070         op>, op<=, and op>= for reverse_iterator.  Also add op!= for
7071         istream_iterator.
7073 1998-08-26  Brendan Kehoe  <brendan@cygnus.com>
7075         * bits/string.tcc (basic_string::compare (const char*)): Fix to
7076         return 0, not 1.
7078 1998-08-25  Brendan Kehoe  <brendan@cygnus.com>
7080         This should really be fixed with __asm__ directives renaming the
7081         symbol, but keeping the function.
7082         * math/clogf.c (c_logf): Renamed from `clogf'.
7083         * math/clogl.c (c_logl): Renamed from `clogl'.
7084         * math/complex-stub.h (c_logf, c_logl): Change decls.
7086         * bits/locfacets.h (class _Numeric_get): For friend decls, rename
7087         _CharT and _InIter parms, since they duplicate the enclosing ones.
7089 1998-08-19  Brendan Kehoe  <brendan@cygnus.com>
7091         Deal with conflict of the iostreams `clog' and our internal
7092         complex number `clog'.
7093         * src/complex.cc: Call `c_log' instead of `clog'.
7094         * math/clog.c (c_log):: Renamed from clog.
7095         * math/complex-stub.h (c_log): Renamed from clog decl.
7097         * bits/locfacets.h (class _Numeric_get): Tweak fwd decls of the
7098         get/put classes.
7099         (num_put::put): #if 0 long long version, since we don't declare or
7100         define the long long version of do_put.
7102 1998-08-18 Nathan Myers <ncm@cantrip.org>
7104         * bits/basic_string.h: add basic_string<>::push_back(), fix return
7105         type of get_allocator (thanks to Ryszard Kabatek).
7106         * bits/char_traits.h: make init order of fpos<> members
7107         match decl order.
7108         * bits/ios_base.h: fix decls of ios_base bitmask & enum types, add
7109         flags _S_fd_in etc. for special filebuf ctor.
7110         * bits/locfacets.h: make _Numeric_get and _Format_cache public
7111         to work around problems in friend declarations.
7112         * bits/locfacets.tcc: qualify _S_get_cache in num_get<>::get(..bool&),
7113         fix random type errors & typos
7114         * bits/std_fstream.h: major refitting to bypass libio (for now),
7115         instrument to use bits/fstream.tcc template definitions
7116         * bits/std_iosfwd.h: mess with wrappers
7117         * bits/std_istream.h: remove meaningless comment
7118         * bits/std_ostream.h: instrument to work with ostream.tcc.
7119         * bits/std_streambuf.h: instrument to work with streambuf.tcc
7120         * bits/fstream.tcc: template defs for <fstream>
7121         * bits/ostream.tcc: template defs for <ostream>
7122         * bits/streambuf.tcc: template defs for <streambuf>
7123         * bits/os_raw.h: thin OS interface wrapper, to bypass libio (for now).
7124         * Delete .cc files, replace with bits/*.tcc
7125         src/fstream.cc
7126         src/istream.cc
7127         src/ostream.cc
7128         src/streambuf.cc
7129         * Add files:
7130         src/os_raw.cc: thin interface to OS, to bypass libio (for now).
7131         src/stdstreams.cc: cout, cin, etc. definitions
7132         (these still need work: must be init'd before user statics.)
7135 1998-08-18  Brendan Kehoe  <brendan@cygnus.com>
7137         Sent to SGI before checkin:
7138         * stl/bits/stl_vector.h (operator!=, operator>, operator<=,
7139         operator>=): Define.
7140         * stl/bits/stl_bvector.h (vector<bool>::flip): Define method.
7141         * stl/bits/stl_deque.h (operator!=, operator>, operator<=,
7142         operator>=): Define.
7143         (operator==, operator<): Add inline.
7144         * stl/bits/stl_map.h (operator!=, operator<, operator<=,
7145         operator>=): Define.
7146         * stl/bits/stl_multimap.h (operator!=, operator<, operator<=,
7147         operator>=): Define.
7148         * stl/bits/stl_list.h (operator!=, operator<, operator<=,
7149         operator>=): Define.
7150         * stl/bits/stl_set.h (operator!=, operator<, operator<=,
7151         operator>=): Define.
7152         * stl/bits/stl_multiset.h (operator!=, operator<, operator<=,
7153         operator>=): Define.
7155         * bits/std_valarray.h (_Shift_left, _Shift_right): Inherit from
7156         unary_function.
7158 1998-08-15 Nathan Myers <ncm@cantrip.org>
7160         * bits/ios_base.h: change nominal bitmask and enum types to real enums
7161         * bits/locfacets.h: make _Format_cache bool names usable by num_get
7162         * bits/locfacets.tcc: make num_get<>::get(... bool&) use _Format_cache
7163         * bits/std_fstream.h: minor cleanups: ctors delegate to open()
7164         * bits/std_iosfwd.h: more bitmask changes, for ios_base::iostate
7165         * bits/std_sstream.h: formatting cleanups
7167 1998-08-14 Nathan Myers <ncm@cantrip.org>
7169         * bits/locfacets.tcc: implement num_get<>::do_get(..., bool&)
7170         * bits/locfacets.tcc: implement time_get<>::do_get_weekday
7171         * bits/locfacets.tcc: implement time_get<>::do_get_monthname
7172         * bits/locfacets.h:   fix missing argument in do_get_monthname
7173         (this is a bug in the standard, ref. 36 in my list.)
7174         * bits/locfacets.h: make month and day name caches mutable
7175         * bits/locfacets.tcc: various typos in get() functions
7176         * bits/sbuf_iter.h: fix omission in istreambuf_iterator::op++().
7177         * bits/std_streambuf.h: fix typo in sgetn (Brendan)
7179 1998-08-12 Nathan Myers <ncm@cantrip.org>
7180         * move streambuf iterators to bits/sbuf_iter.h
7181         * optimize streambuf iterators
7182         * begin generalizing streambuf
7183         * begin implementing num_get<>::get (starting with bool)
7184         * patch stl/bits/stl_config.h so that relops operators are
7185         contained properly, out of the way.
7187 1998-07-24 Nathan Myers <ncm@cantrip.org>
7188         * Fold in SGI 3.11 changes (uglified names, some algorithm
7189           improvements, very minor bug fixes.)
7190         * Uglify names elsewhere to match (s/_T/_Tp/).
7191         * Begin work on optimized streambuf
7192         * Put complex.cc in namespace std:: (thanks Martin)
7194 1998-07-17 Nathan Myers <ncm@cantrip.org>
7196         * bits/char_traits.h: add _Char_traits_match template.
7197         * bits/string.tcc: fix bugs in various find_last* members.
7198         * bits/basic_string.h: redeclare member _S_find.
7199         * stl/bits/stl_iterator.h: change member names in nonstandard
7200           templates bidirectional_reverse_iterator and
7201           random_access_reverse_iterator to match expected changes
7202           in upstream source.
7203         * src/string.cc: fix definitions of stream operators.
7205 1998-07-14 16:06  Ulrich Drepper  <drepper@cygnus.com>
7207         * Makefile.am (SUBDIRS): Add string.
7209         * configure.in: Test for long double functions separately.  Test for
7210         ISO C 89 float functions.  Test for endian.h and sys/isa_defs.h.
7211         Generate string/Makefile.
7213         * bits/c++config.h: Define mbstate_t for Solaris.
7215         * bits/char_traits.h: Remove unused #if.
7217         * bits/std_cwchar.h: Declare wide char string functions.
7219         * m4/stringfcts.m4: New file.
7221         * math/complex-stub.h: Declare nan.
7222         * math/nan.c: New file.
7224         * math/mathconf.h: Hack around missing endian.h file.
7225         Handle missing NAN definition.
7226         Handle missing float math functions.
7228         * src/Makefile.am (libstdc___la_LIBADD): Add libstring.la.
7229         (libstdc___la_LDFLAGS): Set version information.
7231         * src/complexl.cc: Don't compile any code if no long double functions
7232         are available.
7234         * string/Makefile.am: New file.
7235         * string/dummy.c: New file.
7236         * string/wmemchr.c: New file.
7237         * string/wmemcmp.c: New file.
7238         * string/wmemcpy.c: New file.
7239         * string/wmemmove.c: New file.
7240         * string/wmemset.c: New file.
7242 1998-07-14 10:45  Ulrich Drepper  <drepper@cygnus.com>
7244         * configure.in: Make it work.
7245         * install-sh: New file.
7246         * missing: New file.
7247         * mkinstalldirs: New file.
7248         * m4/mathfcts.m4: New file.
7249         * math/Makefile.am: New file.
7251         * bits/std_complex.h (conj): Mark specializations as inline.
7253         * math/carg.c: New file.
7254         * math/cargf.c: New file.
7255         * math/cargl.c: New file.
7256         * math/mycabs.c: New file.
7257         * math/mycabsf.c: New file.
7258         * math/mycabsl.c: New file.
7259         * math/signbit.c: New file.
7260         * math/signbitf.c: New file.
7261         * math/signbitl.c: New file.
7263         * math/ccos.c: Avoid ISO C 9x functionality.
7264         * math/ccosf.c: Likewise.
7265         * math/ccosh.c: Likewise.
7266         * math/ccoshf.c: Likewise.
7267         * math/ccoshl.c: Likewise.
7268         * math/ccosl.c: Likewise.
7269         * math/cexp.c: Likewise.
7270         * math/cexpf.c: Likewise.
7271         * math/cexpl.c: Likewise.
7272         * math/clog.c: Likewise.
7273         * math/clog10.c: Likewise.
7274         * math/clog10f.c: Likewise.
7275         * math/clog10l.c: Likewise.
7276         * math/clogf.c: Likewise.
7277         * math/clogl.c: Likewise.
7278         * math/cpow.c: Likewise.
7279         * math/cpowf.c: Likewise.
7280         * math/cpowl.c: Likewise.
7281         * math/csin.c: Likewise.
7282         * math/csinf.c: Likewise.
7283         * math/csinh.c: Likewise.
7284         * math/csinhf.c: Likewise.
7285         * math/csinhl.c: Likewise.
7286         * math/csinl.c: Likewise.
7287         * math/csqrt.c: Likewise.
7288         * math/csqrtf.c: Likewise.
7289         * math/csqrtl.c: Likewise.
7290         * math/ctan.c: Likewise.
7291         * math/ctanf.c: Likewise.
7292         * math/ctanh.c: Likewise.
7293         * math/ctanhf.c: Likewise.
7294         * math/ctanhl.c: Likewise.
7295         * math/ctanl.c: Likewise.
7297         * math/complex-stub.h: New file.
7299         * math/mathconf.h: New file.
7301         * src/Makefile.am: New file.
7303         * src/complex.cc: Use mathconf.h instead of complex.h.
7304         Don't use cabs, always use __mycabs.
7306 1998-02-13  Brendan Kehoe  <brendan@cygnus.com>
7308         * iterator (class reverse_iterator): Do some tweaks to be in sync
7309         w/ the FDIS.