gcc/
[official-gcc.git] / libstdc++-v3 / ChangeLog-1999
blob846535bf966aa687474c60026aaeb6678f1b85f4
1 1999-12-26  Phil Edwards  <pme@sourceware.cygnus.com>
3         * docs/gentop/status:  Add snapshot version column, update
4           for Solaris 7.
5         * docs/status.html:  Regenerated.
7 1999-12-26  Phil Edwards  <pme@sourceware.cygnus.com>
9         * docs/faq/index.html:  Turn README and RELEASE-NOTES into links
10           from installation FAQ, and specify location of text files.
11         * docs/faq/index.txt:  Regenerated.
13 1999-12-23  Phil Edwards  <pme@sourceware.cygnus.com>
15         * docs/gentop/download:  Add links to prebuilds for Cygwin/Mingw32.
16         * docs/download.html:  Regenerated.
18 1999-12-22  Phil Edwards  <pme@sourceware.cygnus.com>
20         * docs/faq/index.html:  Update 'what works' for .7 snapshot,
21           clean up various links.
22         * docs/faq/index.txt:  Regenerated.
23         * docs/gentop/gentop:  Smarter regeneration script.
24         * docs/gentop/{head,foot}chunk.html:  Updated with new
25           contributors link and mod date.
26         * docs/gentop/index:  Snapshot relase date.
27         * docs/gentop/thanks:  New contributors page added.
28         * docs/{download,how,index,links,mail,status,thanks}.html:
29           Regenerated from gentop; thanks.html created.
31 1999-12-21  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
33         * bits/c++config.h.in (__GLIBCPP__): 19991221.
34         * docs/index.html: Add correct information.
36         * config/irix: New directory.
37         * config/irix/ctype.cc: Add irix-6.5 info. Not tested.
38         * config/irix/bits/ctype_base.h: And here.
40         * config/aix: New directory.
41         * config/aix/ctype.cc: Add aix-4.2 info. Not tested.
42         * config/aix/bits/ctype_base.h: And here.
44 1999-12-21  Philip Martin  <pm@corris.dircon.co.uk>
46         * bits/basic_string.h: Add special case handling for integral
47         "iterators".
48         * bits/std_string.h: include type_traits.h
49         * testsuite/21_strings/ctor_copy_dtor.cc: Tweak.
51 1999-12-21  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
53         * bits/fstream.tcc (seekoff): Output buffer based on _M_*_in and
54         _M_*_end now.
55         * bits/std_fstream.h (sync): And here.
56         * testsuite/27_io/filebuf.cc: Revisions.
57         * testsuite/27_io/filebuf-2.tst: Correct, remove weird character
58         at the end of the file.
59         * testsuite/27_io/filebuf-3.tst: Correct.
61 1999-12-21  Phil Edwards  <pedwards@jaj.com>
63         * docs/gentop/index:  Hold off on .7 announcement date.
64         * docs/index.html:  Regenerate.
66 1999-12-21  Benjamin Kosnik  <bkoz@kcygnus.com>
68         * bits/std_fstream.h (sync): Move _M_file->sync() to
69         _M_really_overflow().
70         * bits/fstream.tcc (seekoff): Call sync, not _M_really_overflow so
71         as to get the _M_file->sync action, which forces the external
72         buffer to update itself.
73         (underflow): Same here.
75 1999-12-21  Phil Edwards  <pedwards@jaj.com>
77         * bits/c++config.h.in:  Uncomment _GLIBCPP_USE_NAMESPACES and move...
78         * acconfig.h:  ...to here.
79         * config.h.in:  Regenerate from aclocal.
80         * acinclude.m4:  Add GLIBCPP_ENABLE_DEBUG, GLIBCPP_ENABLE_NAMESPACES.
81         * aclocal.m4:  Regenerate from acinclude.
82         * configure.in:  Use ENABLE macros here.
83         * configure:  Regenerate.
84         * src/Makefile.am:  Use results from ENABLE macros.
85         * src/Makefile.in:  Regenerate.
87 1999-12-20  Benjamin Kosnik  <bkoz@cygnus.com>
89         * mkcheck (SRC_DIR): Now have to include config/* dir if "make
90         check" and not "make check-install." Temporarily hack in linux
91         support.
93         * bits/std_streambuf.h: Tweaks.
94         * bits/streambuf.tcc (xsgetn): Tweaks.
95         * bits/std_fstream.h (sync): Make _M_really_overflow consistent.
96         * bits/fstream.tcc (filebuf::underflow): Simplify.
97         * bits/std_sstream.h (streambuf::underflow): Minor change to make
98         checks for read position precisely implement the standard.
99         * bits/basic_file.h (filepos_cur): Base this on _offset.
100         * testsuite/21_strings/inserters_extractors.cc (test05): Tweaks.
101         * testsuite/27_io/filebuf.cc: Tweak.
103 1999-12-20  Benjamin Kosnik  <bkoz@cygnus.com>
105         * docs/17_intro/RELEASE-NOTES: Fix typos.
107         * bits/locale_facets.h (ctype): Modify, use __to_type to abstract
108         out platform-specific bits.
109         * config/default/ctype.cc: And here.
110         * config/defaults/bits/ctype_base.h: And here.
111         * config/linux/ctype.cc: And here.
112         * config/linux/bits/ctype_base.h (ctype_base): And here.
113         * config/solaris/bits/ctype_base.h (ctype_base): Add
114         __to_type. Comment, as it looks like this is for solaris2.6 and
115         above: solaris2.5.1 doesn't seem to have the same definitions.
116         * config/solaris/ctype.cc: And here.
118 1999-12-19  Benjamin Kosnik  <bkoz@cygnus.com>
119             Ulrich Drepper  <drepper@cygnus.com>
121         * acconfig.h: Remove _GLIBCPP_USE_CTYPE_ISBIT.
123         * src/locale.cc: Take out platform-specific hacks.
124         * config/linux/ctype.cc: Put here.
125         * config/solaris/ctype.cc: Put here.
126         * config/default/ctype.cc: Put here.
128         * bits/locale_facets.h: Take out platform-specific hacks.
129         * config/linux/bits/ctype_base.h: Put here.
130         * config/solaris/bits/ctype_base.h: Put here.
131         * config/default/bits/ctype_base.h: Put here.
133         * configure.in: Bump version.
134         Add tests for top-level config directory.
135         * configure: Regenerated.
136         * src/Makefile.am (INCLUDES): Add platform-specific dir.
137         * src/Makefile: Regenerate.
139 1999-12-19  Benjamin Kosnik  <bkoz@cygnus.com>
140             Ulrich Drepper  <drepper@cygnus.com>
142         * bits/locale_facets.h: Hack in solaris support.
143         * src/locale.cc: Here too.
145 1999-12-18  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
147         * docs/17_intro/TODO: Update
148         * docs/17_intro/RELEASE-NOTES (New): Update.
150 1999-12-17  Benjamin Kosnik  <bkoz@milou.cygnus.com>
152         * bits/c++config.h.in (__GLIBCPP__): Bump.
153         * docs/17_intro/RELEASE-NOTES: Update, Gaby please add your stuff.
154         * docs/17_intro/TODO: Update.
156         * bits/locale_facets.h: Touch this too.
157         * bits/localefwd.h: Add typedefs for loooooong vector names.
158         * bits/locale_facets.tcc (locale::operator()): Need parens.
159         (has_facet): Simplify.
160         * src/locale-inst.cc: Add instantiations.
161         * src/locale.cc: Tweaks.
163         * bits/std_streambuf.h: Move indeterminates into. .
164         * bits/std_fstream.h: Here.
165         * bits/fstream.tcc (underflow): Rewind just for ios_base::out
166         streams.
167         * bits/sstream.tcc: Very minor formatting tweaks.
168         * bits/std_streambuf.h (_M_set_determinate): If exclusively an
169         input buffer, set _M_buf to offset.
170         * bits/istream.tcc (std): Tweaks.
171         * testsuite/27_io/istream_unformatted.cc (test05): More tweaks,
172         include fstream.
173         * testsuite/27_io/filebuf.cc: Tweaks.
175 1999-12-17  Phil Edwards  <pedwards@jaj.com>
177         * configure.in:  Add OPTLEVEL, -O2 for gcc 2.96+, nothing otherwise.
178         * configure:  Regenerate.
179         * src/Makefile.am:  Use OPTLEVEL in CXXFLAGS.
180         * src/Makefile.in:  Regenerate.  Also picks up OTHER_CXXFLAGS rename
181           to OPTIMIZE_CXXFLAGS from a previous revision (1.96) to Makefile.am.
183 1999-12-17  Phil Edwards  <pedwards@jaj.com>
185         * docs/21_strings/stringtok_std_h.txt:  New algorithm
186           suggested by Chris King.
187         * docs/21_strings/howto.html:  Link to new version.
189 1999-12-16  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
191         * bits/valarray_array.h (__valarray_sum): Use operator+=, not
192         operator+.
193         * docs/17_intro/TODO: Update.
195 1999-12-15  Phil Edwards  <pme@sourceware.cygnus.com>
197         * docs/gentop/footchunk.html:  Updated, fixed CRLFs.
198         * docs/gentop/gentop:  Ditto.
199         * docs/gentop/headchunk.html:  Ditto.
200         * docs/*.html:  Regenerated from gentop.
201         * docs/*/howto.html:  Updated as test.
202         * docs/faq/index.html:  Updated, fixed CRLFs.
203         * docs/faq/index.txt:  Regenerated.
205 1999-12-15  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
207         * mknumeric_limits (OUT_C): restart only if $OUT_C is present.
209         * bits/std_complex.h
210         (complex<float>::complex(const complex<double>&),
211         complex<float>::complex(const complex<long double>&)): Define.
213         * docs/17_intro/TODO: Update.
215 1999-12-13  Benjamin Kosnik  <bkoz@cygnus.com>
217         * bits/istream.tcc (seekg): Don't set _M_gcount.
218         (tellg): Same.
219         * bits/fstream.tcc (filebuf::underflow): Re-sync
220         external byte sequence's input buffer only. . .
221         * testsuite/27_io/istream_unformatted.cc (test04): New tests for
222         tellg, seekg and filebufs.
223         (test05): Same for stringbufs.
224         * testsuite/27_io/istream_unformatted-2.tst: New file.
225         * testsuite/27_io/istream_unformatted-1.tst: New file.
226         * testsuite/27_io/istream_unformatted-1.txt: New file.
227         * testsuite/21_strings/inserters_extractors.cc (test05): Change
228         output file.
230 1999-12-13  Phil Edwards  <pedwards@jaj.com>
232         * docs/gentop/*:  New directory, containing bits for the homepages.
233         * docs/*.html:  Regenerated from gentop.
234         * docs/*/*.html:  Entries added and regenerated.
236 1999-12-13  Benjamin Kosnik  <bkoz@gnu.org>
238         Efforts to get -O2 to work with -Winline -Werrors.
239         * bits/valarray_array.h (__valarray_fill(_Tp*, size_t, const
240         _Tp&): Remove inline declaration, as cannot be inlined and
241         -Winline -Werror complains. An interesting question is why this
242         cannot be inlined, as I can see no real reason to disqualify it.
243         (__valarray_product(const _Tp*, const _Tp*)): Same here.
244         * bits/std_valarray.h (valarray::operator[](size_t)): Same here.
246         * docs/17_intro/TODO: Update.
248 1999-12-12  Benjamin Kosnik  <bkoz@gnu.org>
250         * bits/std_fstream.h (seekpos): Tweaks, fixes. Move definition to
251         fstream.tcc.
252         * bits/basic_file.h (filepos_cur()): Make pointers themselves be
253         the resultant position.
254         * bits/fstream.tcc (seekoff): Explicitly set return value to
255         resultant external byte sequence position, not value returned from
256         _M_file->seekoff. Need to make
257         (seekpos): New definition.
259         * bits/istream.tcc (seekg): As per Library Issues List 136, set to
260         just istream. Necessary, or else tellg will give an invalid stream
261         position, but seekg will return a valid stream position, which is
262         not groovy: see testcase addition.
263         * bits/ostream.tcc (seekp): Same.
265         * bits/streambuf.tcc (_S_copy_streambufs): Simplify.
266         * bits/sstream.tcc: Tweaks.
267         * bits/locale_facets.tcc: Tweaks.
268         (num_put::do_put(iter_type, ios_base, char_type, const void*)):
269         Re-write in a way that is easier for the inliner to work with.
270         * bits/ios_base.h: Use explicit static_cast<int>(...) notation.
272 1999-12-10  Benjamin Kosnik  <bkoz@cygnus.com>
274         * bits/locale_facets.tcc: Tweaks.
275         * bits/locale_facets.h (use_facet): Can't inline, remove inline
276         from declaration.
277         * bits/localefwd.h: And here.
278         * bits/std_ostream.h: Tweaks, sentry ctor can't be inlined.
279         * bits/ostream.tcc: Put here.
281         Frank Ch. Eigler  <fche@cygnus.com>
282         * src/Makefile.am: Adjust CXXFLAGS, add AM_CXXFLAGS.
284 1999-12-08  Benjamin Kosnik  <bkoz@cygnus.com>
286         * bits/sstream.tcc (stringbuf::seekoff): Long overdue revamp. Make
287         in and out buffers update independently.
289         * bits/basic_ios.h: Minor formatting.
290         * bits/fstream.tcc (std): Fix indentation.
292 1999-12-08  Chip Salzenberg  <chip@valinux.com>
294         * bits/char_traits.h (char_traits<>): Move not_eof() functions
295         after corresponding eof() functions, so they're easier for the
296         compiler to inline.
297         * bits/locale_facets.h (money_base::__default_pattern): Move
298         static variable out of inline functions.
299         (_Moneypunct<>::do_{pos,neg}_format): Use it.
300         * src/locale-inst.cc (money_base::__default_pattern): Define it.
302 1999-12-08  Benjamin Kosnik  <bkoz@cygnus.com>
304         * bits/std_fstream.h (filebuf::open): Tweak.
305         * bits/fstream.tcc (filebuf::seekoff): Simplify, fix.
306         * bits/std_ios.h: Minor tweaks for headers.
308 1999-12-06  Benjamin Kosnik  <bkoz@gnu.org>
310         * bits/c++config.h.in (_GLIBCPP_FULLY_COMPLIANT_HEADERS): New macro.
311         * src/string-inst.cc: Add guards . . .
312         * src/misc-inst.cc: And here.
313         * bits/std_sstream.h: And here.
314         * bits/std_fstream.h: And here.
315         * bits/std_streambuf.h: And here.
316         * bits/std_istream.h: And here.
317         * bits/std_ostream.h: And here.
319 1999-12-06  Scott Snyder  <snyder@fnal.gov>
321         * bits/istream.tcc (basic_istream::read): Try to handle __n == 0
322         case.
323         (basic_istream::readsome): And here as well.
324         * testsuite/27_io/istream_unformatted.cc: Test a zero-length
325         read().
327 1999-12-06  Mumit Khan  <khan@xraylith.wisc.edu>
329         * bits/istream.tcc (basic_istream::ignore): streamsize is not
330         necessarily an `int'.
332 1999-12-06  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
334         * mknumeric_limits: Don't use $CXXFLAGS when building
335         gen-num-limits. It's definitely wrong to use it since $CXXFLAGS
336         generally instructs the compiler not to emit template
337         instantiations and we end up with undefined symbols. Sigh.
339 1999-12-05  Benjamin Kosnik  <bkoz@gnu.org>
341         * bits/locale_facets.tcc: Tweak.
342         (_S_format_long): Adjust showpos formatting for hex and oct.
343         * bits/std_ostream.h (operator<<(short)): Correctly deal with hex
344         and oct by formatting as unsigned.
345         (operator<<(int)): Same here.
346         * bits/ostream.tcc (operator<<(long)): Same.
347         (operator<<(long long)): Same.
348         (_S_pad_char): Actually treat ios_base::internal as something
349         worth doing correctly. Remove const designation on ios argument.
350         * testsuite/27_io/ios_manip_basefield.cc (test02): Add tests.
351         * testsuite/27_io/ostream_inserter_arith.cc (test03): Add tests.
353 1999-12-04  Benjamin Kosnik  <bkoz@gnu.org>
355         * bits/std_sstream.h (streambuf::underflow): Check for mode == in.
357 1999-12-03  Benjamin Kosnik  <bkoz@gnu.org>
359         * bits/locale_facets.tcc (num_put::do_put(bool): Fix.
361         * bits/sstream.tcc (streambuf::seekoff): Add parens.
362         * bits/istream.tcc (istream::get(sb)): Handle exceptional events.
363         (operator>>(istream, _CharT*)): Change streamsize to int_type.
364         (operator>>(istream, _CharT&)): Fix typedef'd type to be _CharT.
365         * bits/ostream.tcc (ostream::operator<<(const char*)): Stub out
366         unused argument.
367         (ostream::operator<<(_CharT)): Fix.
369         * bits/std_sstream.h: Temporarily disable including sstream.tcc to
370         see if this will increase compile speed.
371         * bits/std_ostream.h: Likewise. . .
372         * bits/std_istream.h: And here.
373         * bits/std_fstream.h: And here.
374         * src/misc-inst.cc: Add relevant header file includes for
375         instantiation purposes.
376         * src/string-inst.cc: And here.
377         * testsuite/27_io/ostream_inserter_arith.cc: Add test case.
379 1999-12-02  Benjamin Kosnik  <bkoz@gnu.org>
381         * testsuite/27_io/istream_unformatted.cc (test03): Add tests.
382         * bits/istream.tcc (get(streambuf)): More fixes.
383         (istream::ignore): Get specific about numeric_limits<int>::max()
384         requirements.
386         * bits/fstream.tcc (filebuf::open): Tweaks for _M_last_overflowed.
387         (filebuf::close): Same.
388         * testsuite/27_io/filebuf.cc: Add tests for ios_base::ate.
390 1999-12-01  Phil Edwards  <pedwards@jaj.com>
392         * mkcheck:  Support for compilation/execution timing.
393         * testsuite/printnow.c: New file.
395 1999-12-01  Phil Edwards  <pedwards@jaj.com>
397         * bits/std_cwchar.h:  Test for _GLIBCPP_USE_WCHAR_T.
398         * configure.in:  Test for presence of wchar.h before testing
399           for any of its features.
400         * configure:  Regenerate.
402 1999-11-30  Benjamin Kosnik  <bkoz@gnu.org>
404         Preliminary istream validations complete.
405         * bits/istream.tcc (istream::getline): Fixes. Tweaks to make
406         formatting more consistent. Removal of if-statements inside of for
407         loops.
408         (ignore): Fix.
409         (get): Same.
410         (putback): Same.
411         * bits/std_istream.h: Same.
412         * bits/sstream.tcc (stringbuf::pbackfail): Fix.
413         * testsuite/27_io/stringbuf.cc: Tweak.
414         * testsuite/27_io/istream_unformatted.cc (test02): Mo' tests.
416         * bits/ostream.tcc (ostream::operator<<(arith)): Set badbit, not
417         failbit on failure, as per 27.6.2.5.2.
419         * stl/bits/std_vector.h: Allow bool specializations. Should move
420         ext/std_bvector to bits, not ext, maybe.
422 1999-11-30  Mumit Khan  <khan@xraylith.wisc.edu>
424         * configure.in: Fix checks for mbstate_t and WCHAR_MIN/MAX.
425         * configure: Regenerate.
427 1999-11-29  Benjamin Kosnik  <bkoz@gnu.org>
429         * bits/istream.tcc (get(streambuf, char)): Fix.
430         * testsuite/27_io/istream_unformatted.cc (test03): Add tests.
432 1999-11-29  Scott Snyder  <snyder@fnal.gov>
434         * bits/basic_string.h (append(const _Char*, size_type)): The
435         length of the appended string is given exactly by the second arg,
436         regardless of the data in the character array.
437         * bits/string.tcc (basic_string(const _CharT*, size_type, const
438         _Alloc&)): Likewise.
439         * testsuite/21_strings/append.cc (test01): Remove erroneous test
440         of basic_string::append.
442 1999-11-29  Chip Salzenberg  <chip@valinux.com>
444         * Makefile.in: Tweaks for CXXFLAGS.
445         * */Makefile.in: Same.
447 1999-11-29  Mumit Khan  <khan@xraylith.wisc.edu>
449         * conficd bgure.in: Check for wide character support.
450         * bits/c++config.h.in (_GLIBC_USE_WCHAR_T): Move from here ...
451         * acconfig.h (_GLIBC_USE_WCHAR_T): to here.
452         * bits/string.tcc (wstring::_S_find): Guard wchar_t specialization.
454 1999-11-29  Mumit Khan  <khan@xraylith.wisc.edu>
456         * acinclude.m4: Fix typo.
457         * src/complex.cc: Fix macro line continuation.
459 1999-11-29  Petter Urkedal  <petter@matfys.lth.se>
461         * src/Makefile.am (CXXFLAGS): Add -Wno-format to allow non-
462         string literals in format, as used in locale-facets.tcc.
464 1999-11-28  Benjamin Kosnik  <bkoz@gnu.org>
466         * testsuite/27_io/istream_unformatted.cc (test03): Add tests.
467         * bits/istream.tcc (istream::get): Extract to argument minus one.
468         Various tweaks and fixes.
470 1999-11-22  Mumit Khan  <khan@xraylith.wisc.edu>
472         * bits/locale_facets.tcc: Workaround for compiler crash on
473         ix86-*-mingw32.
475 1999-11-21  Mumit Khan  <khan@xraylith.wisc.edu>
477         * acinclude.m4: New file. New _GLIBCPP_CHECK_FLOAT_SUPPORT macro.
478         * configure.in: Use.
479         * acconfig.h: New _GLIBCPP_BUGGY_FLOAT_COMPLEX macro.
480         * src/complexf.cc: New _GLIBCPP_FLOAT_SPECIALIZATION macro.
481         * bits/std_complex.h: Use.
482         * src/complex.cc: Use.
484 1999-11-19  Mumit Khan  <khan@xraylith.wisc.edu>
486         * testsuite/18_support/numeric_limits.cc: Add missing std:: prefix.
487         * testsuite/21_strings/inserters_extractors.cc: Likewise.
488         * testsuite/22_locale/ctype.cc: Likewise.
489         * testsuite/23_containers/multiset.cc: Likewise.
490         * testsuite/23_containers/vector_ctor.cc: Likewise.
491         * testsuite/26_numerics/binary_closure.cc: Likewise.
492         * testsuite/27_io/fpos.cc: Likewise.
493         * testsuite/27_io/ios_base_callbacks.cc: Likewise.
494         * testsuite/27_io/istream_extractor_arith.cc: Likewise.
495         * testsuite/27_io/istream_extractor_char.cc: Likewise.
496         * testsuite/27_io/istream_extractor_other.cc: Likewise.
497         * testsuite/27_io/istream_sentry.cc: Likewise.
498         * testsuite/27_io/ostream_inserter_char.cc: Likewise.
499         * testsuite/27_io/ostream_inserter_other.cc: Likewise.
500         * testsuite/27_io/streambuf.cc: Likewise.
501         * testsuite/27_io/stringstream.cc: Likewise.
503 1999-11-19 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
505         * bits/valarray_meta.h: Don't forget to define tanh
507 1999-11-18  Philip Martin  <pm@corris.dircon.co.uk>
509        * src/stl-inst.cc: Use typedef to refer to iterator
510        * stl/bits/stl_algobase.h: Add traits based dispatch for
511        __normal_iterator in the copy()algorithm
512        * stl/bits/type_traits.h: Add _Is_normal_iterator trait support
514 1999-11-18  Kevin Ediger  <kediger@licor.com>
516         * src/locale.cc (locale::_Imp::_Imp): Use auto_ptr to make
517         constructors for locale::_Impl exception safe.
519 1999-11-18  Scott Snyder  <snyder@fnal.gov>
521         * stl/bits/stl_queue.h: The C++ standard gives the default for the
522         _Sequence template argument of priority_queue<> as vector<>, not
523         deque<>.
525 1999-11-18  Benjamin Kosnik  <bkoz@gnu.org>
527         * bits/std_sstream.h (stringbuf::_M_really_sync): Add __iend as a
528         parameter.
529         * bits/sstream.tcc: Adjust here too.
531 1999-11-17  Benjamin Kosnik  <bkoz@gnu.org>
533         * bits/sbuf_iter.h (istreambuf_iter::equal): Tweak.
534         * bits/istream.tcc (operator>>): Replace iostate(0) with
535         iostate(ios_base::goodbit), which is the same thing, but hopefully
536         a bit clearer.
537         * bits/locale_facets.tcc (do_get(bool)): Streamline, deal with
538         libraries issue list 17.
539         (do_gets): Don't set goodbit explicitly, instead only set on
540         failures as good bit is the default setting.
541         * bits/ios_base.h (setf): Set correctly.
542         * bits/fstream.tcc: Tweak.
543         * bits/std_sstream.h (_M_really_sync): Fix ibuffer positioning for
544         in|out bufs that are empty. . .
545         * testsuite/27_io/istream_extractor_arith.cc (test03): Add.
547 1999-11-16  Benjamin Kosnik  <bkoz@gnu.org>
549         * testsuite/27_io/streambuf.cc (class testbuf): Don't set _M_buf_size.
550         * bits/std_streambuf.h (setp): Set _M_buf_size, _M_mode.
551         Add comments "all about _M_buf."
552         (setg): Set _M_mode.
554 1999-11-16  Kevin Ediger  <kediger@licor.com>
556         * bits/locale_facets.tcc (_S_build_float_format): New function.
557         (_S_output_float): New function.
558         (num_put::do_put(double)): Use 'em.
559         (num_put::do_put(long double)): Use 'em.
560         * testsuite/27_io/ostream_inserter_arith.cc: New file.
562 1999-11-15  Scott Snyder  <snyder@fnal.gov>
564         * bits/basic_file.h: Type of __off parm should be __c_streampos, to
565         match how libio is calling us.
566         * src/basic_file.cc (sys_seek): Likewise.
567         * bits/std_fstream.h (basic_filebuf::sync): Restore sync call.
569 1999-11-15  Benjamin Kosnik  <bkoz@gnu.org>
571         * docs/17_intro/contribute.html: Add link to assignment form.
572         * docs/17_intro/libstdc++-assign.txt: New file.
574         * mkcheck (TESTS_FILE): Move a copy of test files as well as
575         output files.
577         * bits/std_streambuf.h (_M_buf_bump): New function.
578         * bits/streambuf.tcc: Mods to support _M_buf_bump.
579         (xsputn): Here. Also add checks for output valid.
580         (xsgetn): Add checks for input valid.
581         (sputc): Here.
582         (sgetc): Set _M_in_end to _M_buf + _M_buf_end.
583         * bits/std_sstream.h (_M_really_sync): Set _M_buf.
584         Set _M_out_end to variable-length-end.
585         * bits/sstream.tcc (overflow): Use _M_buf_bump.
586         (seekpos): Same.
587         (seekoff): Same.
588         * bits/fstream.tcc (std): Tweak formatting.
589         (filebuf::overflow): Simplify.
590         (filebuf::showmanyc): Same.
591         (filebuf::underflow): Same.
592         * testsuite/27_io/filebuf.cc: Fix.
593         * testsuite/27_io/ostream_inserter_other.cc: Fix.
594         * testsuite/27_io/ostream_inserter_other-2.tst: New file.
595         * testsuite/27_io/stringbuf.cc: Tweak.
596         * testsuite/27_io/streambuf.cc: Tweak.
597         * testsuite/27_io/istream_extractor_other.cc: Fix.
599 1999-11-11  Matthias Klose  <doko@cs.tu-berlin.de>
601         * stl_deque.h: Use static_casts<size_type>(signed_type).
603 1999-11-11  Benjamin Kosnik  <bkoz@gnu.org>
605         Cleanups for callbacks, more regression hunting. Remaining
606         failures (1) due to last unresolved stringstream issues, not
607         regressions per se.
608         * bits/std_fstream.h: Revert. Disable call to _M_file->sync as
609         killing 27_io/filebuf.cc tests. . . need another solution.
611         * bits/streambuf.tcc (_S_copy_streambufs): Fix.
612         * testsuite/27_io/istream_extractor_other.cc: Tweak comments.
614         * bits/basic_ios.h: Add cached facets here. UGH. The standard
615         foils all attempts at a graceful, minimal implementation.
616         * bits/basic_ios.tcc: Tweaks.
617         * bits/istream.tcc: Fix.
618         * bits/ostream.tcc: Fix.
619         * bits/std_istream.h: Fix.
620         * bits/std_ostream.h: Fix.
621         * src/ios.cc (ios_base::imbue): Set _M_locale_ios before calling
622         callbacks.
623         * bits/locale_facets.tcc (std): Minor, minor formatting tweak.
624         (_S_pad_numeric): Make comprehensible.
626 1999-11-10  Benjamin Kosnik  <bkoz@cygnus.com>
628         * bits/std_ostream.h: Add callbacks for _M_fnumput.
629         (_S_ostream_fcache): New function.
630         Move functions out-of-line.
631         * bits/ostream.tcc: Put here.
633         * bits/std_istream.h: Add callbacks for _M_fnumget.
634         (_S_istream_fcache): New function.
635         Move functions out-of-line.
636         * bits/istream.tcc: Put here.
638         * bits/basic_ios.tcc (basic_ios::imbue): Tweaks, remove call to
639         _M_call_callbacks(), as ios_base::imbue does this already.
640         * src/ios.cc (register_callback): Clean.
641         (_M_call_callbacks): Same.
642         * bits/ios_base.h: Callback work.
643         * testsuite/27_io/ios_base_callbacks.cc (test01): New file.
645 1999-11-10  Benjamin Kosnik  <bkoz@cygnus.com>
646             Matthias Klose  <doko@cs.tu-berlin.de>
648         * stl/ext/stl_rope.h: Fix initialization order.
650 1999-11-09  Scott Snyder  <snyder@fnal.gov>
652         * bits/std_fstream.h (basic_filebuf::sync): Unconditionally call
653         _M_file->sync() so that redirection works correctly.
655 1999-11-09  Benjamin Kosnik  <bkoz@gnu.org>
657         * bits/istream.tcc: Re-order.
658         * bits/std_istream.h: Fix getline problems.
659         * testsuite/27_io/istream_unformatted.cc: New tests.
661         Clean up regressions.
662         * bits/std_sstream.h: Set initial stringbufs correctly.
664 1999-11-09  Scott Snyder <snyder@fnal.gov>
666         * stl_vector.h (_M_range_insert): Fix mixing pointers and
667         vector::iterator.
668         * testsuite/23_containers/vector_modifiers.cc (test01): New file,
669         tests.
671 1999-11-09  Benjamin Kosnik  <bkoz@cygnus.com>
673         * src/Makefile.am (CXXFLAGS): Add -Winline.
674         * src/Makefile.in: Regenerate.
676 1999-11-05  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
678         * bits/valarray_meta.h (_DEFINE_EXPR_UNARY_FUNCTION): When
679         building meta-expressions don't forget to take the contained
680         closures.
682 1999-11-02  Benjamin Kosnik  <benjamin@cygnus.com>
684         * configure: Regenerate.
686 1999-11-02  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
688         * bits/valarray_meta.h (_Expr<>::sum): Tweak. Use copy-initialization
689         syntax.
690         * bits/valarray_meta.h (min): Likewise.
691         * bits/valarray_meta.h (max): Likewise.
693 1999-11-01  Benjamin Kosnik  <bkoz@cygnus.com>
695         * bits/std_sstream.h (_M_really_sync): Take into account in | out bufs.
696         * bits/std_streambuf.h (_S_copy_streambufs): New function.
697         * bits/streambuf.tcc: Define.
698         * bits/istream.tcc (istream::operator>>(streambuf)): Rewrite.
699         * bits/ostream.tcc (ostream::operator<<(streambuf)): Rewrite.
700         * testsuite/27_io/ostream_inserter_other.cc: Add tests.
701         * testsuite/27_io/ostream_inserter_other-1.tst: New file.
703         * bits/basic_string.h: Explicitly cast npos to unsigned type,
704         reported by Richard Atterer.
705         * bits/char_traits.h: For consistency's sake, here too.
707         * configure.in: Bump version to 2.90.7.
709 1999-10-31  Benjamin Kosnik  <bkoz@cygnus.com>
711         * testsuite/27_io/ostream_inserter_char-1.tst: Check file output.
712         * testsuite/27_io/ostream_inserter_char.cc (test05, test01): Add tests.
713         * bits/streambuf.tcc (xsputn): Treat--size const char for long loops.
714         (xsgetn): Same.
715         * bits/sstream.tcc (seekpos): Tricks, mostly: check _M_mode before
716         writing into buffer.
717         (seekoff): Same.
719 1999-10-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
721         * bits/valarray_array.h (__valarray_sum): New function.
722         * bits/valarray_array.h (__valarray_product): Same.
724         * bits/std_valarray.h (valarray<T>::product): Comment out.
725         * bits/std_valarray.h (valarray<T>::sum): Use __valarray_sum
726         instead of accumulate.
728         * src/valarray-inst.cc: Remove explicit intantiation of
729         class multiplies<size_t>, accumulate, valarray<size_t>::product.
730         * src/valarray-inst.cc (__valarray_product): Instantiate
731         explicitly.
732         * src/valarray-inst.cc (__valarray_product(const
733         valarray<size_t>&)): New function.
734         * src/valarray-inst.cc (gslice::_Indexer::_Indexer): Don't use
735         valarray<size_t>::product. Use __valarray_product instead.
737 1999-10-25  Benjamin Kosnik  <bkoz@cygnus.com>
739         * bits/std_ostream.h (ostream.inserters.char): Correctly pad output.
740         (_S_pad_char): New function. Not done: ios_base::internal.
741         * bits/ostream.tcc: Clean for above.
742         * bits/locale_facets.tcc (_S_fill): Remove ostreambufiterator
743         specialization that was commented out, as ostreams now have to
744         correctly deal with padding.
745         * testsuite/27_io/ostream_inserter_char.cc (main): Add tests.
747         * testsuite/21_strings/ctor_copy_dtor.cc(test02): Add test case
748         from mailing list. This is a bug, and should be fixed.
749         * testsuite/21_strings/inserters_extractors.cc (main): Tweak, fix typo.
751 1999-10-22  Petter Urkedal  <petter@matfys.lth.se>
753         * stl/bits/stl_numeric.h (__power): Replaced argument name `__opr'
754         to avoid conflict with gcc name mangling.
755         * stl/bits/stl_algo.h (__transform): Same.
757 1999-10-21  Benjamin Kosnik  <bkoz@cygnus.com>
759         * bits/ios_base.h: Change argument names.
760         * docs/17_intro/BADNAMES: Add __opr.
762 1999-10-20  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
764         Work on compilation slowdowns from 10-5 to 10-12, which are
765         related to the _Callback_list inlining/merge-ifcation, which is
766         still a pending issue, but this stuff is necessary cleanup anyway.
768         * src/ios.cc: Re-arrange.
769         * bits/ios_base.h: Tweak.
770         * bits/basic_ios.tcc: Move out of line definitions here, move
771         small out-of-line definitions inline.
772         * bits/basic_ios.h: From here.
774         * bits/streambuf.tcc (pbackfail, overflow): Move back inline.
775         * bits/std_streambuf.h: From here.
777 1999-10-19  Benjamin Kosnik  <bkoz@cygnus.com>
779         * testsuite/27_io/istream_extractor_char.cc: Add tests.
780         * bits/std_istream.h: Tweaks--set eofbit on eof condition.
781         * bits/istream.tcc (operator>>(istream&, string&): Remove
782         vestigial issspace hacks and use ctype::is instead.
783         (getline): Remove unnecessary loops, fortify and pasteurize.
784         (ws): Same.
786 1999-10-18  Benjamin Kosnik  <bkoz@cygnus.com>
788         * bits/istream.tcc (operator>>): Tweak.
789         * bits/std_istream.h: Fix according to library issues list 68.
790         Add typedefs.
792         * bits/locale_facets.h: Fix table_size to be non-zero.
794 1999-10-18  Vadim Egorov  <egorovv@HotPOP.com>
796         * src/basic_file.cc: ifdef instead of comment for binary mode
798 1999-10-18  Russell Davidson  <russell@qed.econ.queensu.ca>
800         * bits/std_sstream.h: Stringbuf initialization based on actual,
801         not allocated, size.
802         * testsuite/21_strings/inserters_extractors.cc (test06): Add test
803         case.
805 1999-10-17  Benjamin Kosnik  <bkoz@cygnus.com>
807         * testsuite/26_numerics/c_math.cc (test03): Tweak.
808         * testsuite/27_io/istream_manip.cc (test01): Corrections due to
809         sentry change.
810         * testsuite/21_strings/inserters_extractors.cc (test01): Same.
812 1999-10-14  Benjamin Kosnik  <bkoz@cygnus.com>
814         * bits/std_istream.h: Tweaks.
815         * bits/istream.tcc (istream::sentry::sentry()): Simplify, correct
816         as per issues list addition--set failbit, eof on empty buffers.
817         * testsuite/27_io/istream_sentry.cc: New file.
819 1999-10-12  Chris Prince <prince@wcug.wwu.edu>
821         * bits/std_cstdio.h: Remove Solaris hacks.
823 1999-10-12  Phil Edwards  <philip.edwards@sn.wpafb.af.mil>
825         * docs/index.html:  Fix minor typos and tweaks.
826         * docs/17_intro/contribute.html:  Ditto.
827         * docs/*/howto.html:  Ditto.  More "EGCS"->"GCC" conversion, notes on
828         thread safety and binary I/O, links to external sites.
829         * docs/faq/index.html: EGCS/GCC cleanup, new entries for Cygwin
830         and MT.
832 1999-10-12  Petter Urkedal  <petter@matfys.lth.se>
834         * bits/std_cmath.h (abs(float)): When ::absf is not present, call
835         ::fabs(double) rather than ::abs(int).
837 1999-10-11  Benjamin Kosnik  <bkoz@milou.cygnus.com>
839         * bits/std_streambuf.h: Fix minor blip--should explicitly return
840         *gptr(), not the result of underflow.
841         (pbackfail): Conform to default behavior.
842         (overflow): Same.
843         * bits/streambuf.tcc: Add out-of-line streambuf members.
844         (xsputn): Tweak.
845         (xsgetn): Tweak.
846         * testsuite/27_io/streambuf.cc: New file.
847         * testsuite/27_io/filebuf.cc: Correct test.
849 1999-10-08  Benjamin Kosnik  <bkoz@haight.constant.com>
851         * bits/std_cmath.h: Correctly cast int to double.
852         * testsuite/26_numerics/c_math.cc: Add test.
854         * mknumeric_limits (OUT_C): Tweaks.
855         * src/gen-num-limits.cc: Checks for WCHAR_MIN, WCHAR_MAX before
856         trying to instantiate type_traits<wchar_t>.
857         * acconfig.h: Add _GLIBCPP_HAS_WCHAR_MIN_MAX.
858         * configure.in (LIBS): Plus checks for WCHAR_MIN, WCHAR_MAX.
859         * configure: Regenerate.
861 1999-10-06  Benjamin Kosnik  <bkoz@milou.cygnus.com>
863         * bits/streambuf.tcc (streambuf::xsgetn): Rewrite.
864         (streambuf::xsputn): Put in break.
865         Aiming for parity between these two (mostly) similar functions.
866         Need to re-write tests.
868         * bits/ios_base.h (ios_base::_M_copy_base): Remove declaration.
869         Make data members protected, not private.
870         * src/ios.cc (ios_base::_M_copy_base): Move _Callback_list into
871         ios_base.h. As called only once, collapse into . . .
872         * bits/basic_ios.h (basic_ios::copyfmt): Fix.
873         (basic_ios::clear): Throw ios_base::failure on occasion.
874         (basic_ios::exceptions): Fix.
875         * testsuite/27_io/ios_members.cc (test02): Add tests.
877         * bits/fpos.h: Default initialize.
878         * testsuite/27_io/fpos.cc (test03): Add test.
880 1999-10-04  Russell Davidson <russell@qed.econ.queensu.ca>
882         * src/basic_file.cc: Fix open modes.
884 1999-10-04  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
886         * bits/locale_facets.tcc (num_get<>::do_get): Fix typo.
888 1999-09-23  Benjamin Kosnik  <bkoz@milou.cygnus.com>
890         * bits/streambuf.tcc: Yea. Fix this for real.
891         * testsuite/27_io/ostream_inserter_other.cc: Add file.
892         * src/Makefile.*: Regenerate.
894 1999-09-22  Benjamin Kosnik  <bkoz@milou.cygnus.com>
896         * bits/std_cstdlib.h: Add more linux-specif hacks to the header
897         files so that stdtof and strtold will be declared. Some hacks
898         already exits in bits/std_cctype.h -- these should all be removed
899         at a later date.
900         * bits/locale_facets.tcc: Add cstring.h include.
901         _S_format_long: Use long, not int.
902         Add std_limits.h include, for numeric_limits.
903         * testsuite/27_io/istream.cc: Make instantiations work when using
904         -fhonor-std.
905         * testsuite/27_io/ostream.cc: Same.
907 1999-09-21  Benjamin Kosnik  <bkoz@milou.cygnus.com>
909         * bits/fpos.h (fpos::operator streamoff): Make const, don't return
910         a reference. Same for operators == and !=.
911         * testsuite/27_io/fpos.cc: Add tests.
913 1999-09-21  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
915         * bits/valarray_array.h: Fix typo.
917         * mknumeric_limits: Make sure we are regenerating things from
918         scratch.  Otherwise things get redefined.  Not good.
920 1999-09-20  Benjamin Kosnik  <bkoz@milou.cygnus.com>
922         * bits/std_ostream.h: Fix typo.
923         * bits/std_istream.h: Same.
924         * bits/std_iomanip.h: Same.
926         * bits/istream.tcc (sentry::sentry()): Remove optional tie with
927         ostream, as happens with underflow anyway.
928         * testsuite/27_io/istream.cc (main): New file.
929         * testsuite/27_io/ostream.cc (main): New file.
930         * testsuite/27_io/istream_unformatted.cc: Add tests.
932         * src/Makefile.am (headers): Add new file.
933         * src/Makefile.in (headers): Regenerated.
935         * bits/basic_ios.h: Remove local-related files.
936         * bits/basic_ios.tcc: New file, add locale-related items.
937         * src/misc-inst.cc: Add include of basic_ios.tcc, as a hack for now.
938         * testsuite/27_io/ios_members_static.cc: Change to
939         * testsuite/27_io/ios_base_members_static.cc: This.
940         * testsuite/27_io/ios_members.cc: New file.
941         * testsuite/27_io/stdios_basefield_manip: Change to
942         * testsuite/27_io/ios_manip_basefield.cc: This.
943         * testsuite/27_io/stdios_fmtflags_manip: Change to
944         * testsuite/27_io/ios_manip_fmtflags.cc: This.
946         * bits/fpos.h: Fix discarding qualifiers on this when
947         using _M_position with a const fpos.
948         * bits/std_iosfwd.h: Tweak.
949         * testsuite/27_io/fpos.cc: New file.
951 1999-09-17  Benjamin Kosnik  <bkoz@milou.cygnus.com>
953         * bits/streambuf.tcc (streambuf::xsputn): Tweak.
954         * bits/ostream.tcc: Tweak.
955         * testsuite/21_strings/inserters_extractors.cc (test04, test05):
956         Add new regressions.
958 1999-09-16  Benjamin Kosnik  <bkoz@milou.cygnus.com>
960         * bits/basic_ios.h: Inline, tweak.
961         * bits/fstream.tcc (basic_filebuf::_M_really_overflow): Tweak,
962         pass back accurate return value to basic_filebuf::overflow.
963         * bits/streambuf.tcc (streambuf::xsputn): Fix overflow accounting.
964         This fixes sstream problems reported in libstdc++/9, but screws up
965         filebufs. That solution is pending.
967 1999-09-15  Vadim Egorov  <egorovv@1c.ru>
969         * bits/streambuf.tcc (basic_streambuf::xsputn): Add check for
970         zero count puts.
971         * testsuite/21_strings/inserters_extractors.cc (test01): Add test.
973 1999-09-08  Benjamin Kosnik  <bkoz@milou.cygnus.com>
975         * bits/c++config.h.in: Add emacs hints.
977         * stl/bits/stl_range_errors.h: Don't define here, for now define
978         in stdexcept.cc along with string inlines __length_error, etc.
979         * src/stdexcept.cc: Define here.
980         * stl/bits/stl_config.h (__STL_CAN_THROW_RANGE_ERRORS): Enable, so
981         at(size_t) will be declared/defined.
982         (__STL_THREADS): Fix mess surrounding use of this, enable.
984 1999-08-31  Benjamin Kosnik  <bkoz@milou.cygnus.com>
986         * testsuite/27_io/istream_extractor_arith.cc: Fix.
987         * src/localename.cc: Tweak formatting, fix assignment to
988         const compiler errors.
990 1999-08-25  Benjamin Kosnik  <bkoz@cygnus.com>
992         * acconfig.h: Add absf, cosf.
993         * configure.in (use_builtin_sinf): Same.
994         * configure: Regenerate.
995         * bits/std_cmath.h: Add mess of defines.
996         * testsuite/26_numerics/modf_float.cc: Change to
997         * testsuite/26_numerics/c_math.cc: This.
999         * src/locale.cc: Change.
1000         * bits/locale_facets.h: Fix.
1001         * testsuite/22_locale/ctype.cc: Add temporary tests.
1003 1999-08-24  Benjamin Kosnik  <bkoz@cygnus.com>
1005         * bits/fpos.h: Test.
1007         * docs/index.html: Add powerpc-linux-gnu results with gcc-2.95.1.
1008         Fix database name for "libstdc++".
1010 1999-08-23  Benjamin Kosnik  <bkoz@cygnus.com>
1012         * mknumeric_limits (numeric_limits): Add default definitions to
1013         member functions.
1014         * testsuite/18_support/numeric_limits.cc: New file.
1016 1999-08-18  Benjamin Kosnik  <bkoz@cygnus.com>
1018         * bits/std_istream.h: Correct initialization.
1019         * bits/std_ostream.h: Likewise.
1020         * bits/std_sstream.h: Likewise.
1021         * bits/std_fstream.h: Likewise.
1022         * testsuite/27_io/stringstream.cc: Add test case.
1024         * bits/std_sstream.h: Replace ____string_type with __string_type.
1025         * bits/basic_ios.h (basic_ios::rdbuf(sb*): Call clear(), as required.
1026         * bits/std_ostream.h: Tweak dtor.
1028 1999-08-17  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1030         * src/Makefile.am (CXXFLAGS): Add -O2.
1031         * src/Makefile.in: Likewise.
1033         * src/gen-num-limits.cc: Conditionally allow wchar_t. See what
1034         this breaks. . .
1035         * mknumeric_limits (numeric_limits): Uglify.
1037         * bits/std_istream.h: Fix warnings.
1038         * bits/locale_facets.tcc: Collateral damage from
1039         char_traits<char>::int_type change.
1041         * testsuite/27_io/istream_extractor_char.cc: Terminate strings.
1043 1999-08-17  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1045         * docs/index.html: Add mailing list form.
1046         * docs/27_io/howto.html: Add link to iostreams_hierarchy.pdf.
1048 1999-08-16  Benjamin Kosnik  <bkoz@cygnus.com>
1050         * bits/streambuf.tcc (streambuf::xsputn): Allow copies to continue
1051         if overflow successfully allocates more space.
1052         * bits/std_sstream.h: Adjust comments.
1053         * bits/sstream.tcc (stringbuf::overflow): Copy buffer into string
1054         before overflow forces a resize.
1055         * testsuite/27_io/ostream_inserter_char.cc: New file.
1057         * bits/std_fstream.h: Remove declaration.
1058         * bits/fstream.tcc: Move uflow.
1059         * bits/std_streambuf.h: To here.
1060         * bits/streambuf.tcc: Make consistent.
1062         * src/Makefile.am (WERROR): Enable.
1063         * src/Makefile.in: Regenerate.
1064         * bits/sbuf_iter.h: Tweak.
1065         * bits/char_traits.h: (char_traits<wchar_t>::eof): Use WEOF.
1066         Use unsigned int as char_traits<char>::int_type.
1068         * bits/ostream.tcc (ostream::putc(char)): Tweak.
1069         * testsuite/27_io/iostream_objects.cc: Terminate string.
1070         Move cin::operator>>(char*) test to extractor_char.cc.
1071         * testsuite/27_io/stringstream.cc: Add stringstream instantiation.
1072         * bits/std_istream.h (basic_iostream): Make explicit definition
1073         for default ctor.
1074         * bits/std_sstream.h: Fix typos.
1075         * bits/fstream.tcc (_M_init_filebuf): Set to indeterminate for
1076         basic_filebuf ctor with fileno open arguments. Thus, filebufs are
1077         initialized in a consistent manner, no matter if the underlying
1078         FILE/bit bucket is a tty or a text file or some other imaginary
1079         construct. This and setting _M_buf_size to 1 for cin allows
1080         istream::get(char) to work in a manner consistent with what others
1081         expect.
1083         * docs/index.html: Link Stroustrup's C++ page.
1085 1999-08-12  Michael Cook  <cook@sightpath.com>
1087         * bits/fstream.tcc: Fix signed/unsigned -Wall warning.
1088         * bits/istream.tcc: ditto.
1089         * bits/sbuf_iter.h: ditto.
1090         * bits/std_istream.h: ditto.
1091         * src/Makefile.am: Add -Wall to CXXFLAGS.
1092         * src/Makefile.in: ditto.
1094 1999-08-12  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1095             Russell Davidson <russell@ehess.cnrs-mrs.fr>
1097         * bits/locale_facets.tcc (_M_extract): Finish off patch from yesterday.
1098         * src/Makefile.am (myinstallheaders): Tweak, remove PHONY.
1100 1999-08-11  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1102         * testsuite/27_io/istream_unformatted.cc: New file.
1104         * testsuite/27_io/istream_extractor_arith.cc (test02): Add more
1105         elaborate tests for int types with noskipws.
1107         * testsuite/27_io/istream_extractor_other-1.txt: New file.
1108         * testsuite/27_io/istream_extractor_other-1.tst: New file.
1109         * testsuite/27_io/istream_extractor_other-2.tst: New file.
1110         * testsuite/27_io/istream_extractor_other.cc: Add tests.
1111         * bits/istream.tcc: Fix operator>>(streambuf*).
1113         * testsuite/23_containers/vector_ctor.cc (test01): Add.
1115         * docs/index.html: Remove references to egcs.
1116         * docs/17_intro/DESIGN: Same.
1117         * docs/17_intro/contribute.html: Same.
1118         * docs/17_intro/RELEASE-NOTES: Ditto.
1119         * docs/17_intro/howto.html: Same here.
1121         Russell Davidson <russell@ehess.cnrs-mrs.fr>
1122         * stl/bits/stl_vector.h (_M_insert_aux):
1123         * bits/locale_facets.tcc (_M_extract): Tweaks for preliminary
1124         decimal/floating point support.
1125         * bits/locale_facets.h: Change _M_extract prototype.
1126         * bits/char_traits.h (char_traits::to_int_type): Cast to unsigned.
1127         * bits/std_istream.h (istream::read(char_type, streamsize)): Fix.
1129 1999-08-10  Michael Cook  <cook@sightpath.com>
1131         * bits/fstream.tcc: Fix for unused variable warning (-Wall).
1132         * bits/ios_base.h: ditto.
1133         * bits/istream.tcc: ditto.
1134         * bits/locale_facets.h: ditto.
1135         * bits/locale_facets.tcc: ditto.
1136         * bits/std_streambuf.h: ditto.
1137         * src/basic_file.cc: ditto.
1138         * src/locale.cc: ditto.
1139         * src/localename.cc: ditto.
1141 1999-08-10  Kirat Singh  <singhki@jany.gs.com>
1143         * bits/std_iomanip.h: Inline.
1145 1999-08-10  Alfred Minarik <a8601248@unet.univie.ac.at>
1147         * bits/std_streambuf.h: Correct member initialization order.
1148         * src/ios.cc: Add definitions for ios_base data members.
1150 1999-08-06  Phil Edwards  <pedwards@ball.com>
1152         * docs/index.html:  Seventh snapshot updates.  Minor tweaks.
1153         * docs/faq/index.html: Ditto.  Removed bugs sections that have
1154         been fixed for a long time...  Lots of "egcs" references still
1155         exist.
1156         * docs/faq/index.txt:  Regenerated.
1158 1999-08-05  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1159             Andreas Amann <amann@physik.tu-berlin.de>
1161         * testsuite/26_numerics/binary_closure.cc (main): new test.
1163 1999-07-29  Andreas Amann <amann@physik.tu-berlin.de>
1165         * bits/valarray_meta.h: (_BinClos<>::_Binclos): fix typo causing
1166         segmentation fault.
1168 1999-08-04  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1170         * docs/index.html (host): Put in testing status.
1172 1999-08-03  Benjamin Kosnik  <bkoz@cygnus.com>
1174         * docs/index.html: Update for libstdc++-2.90.6 release.
1175         * docs/17_intro/RELEASE-NOTES (New): Update.
1176         * docs/17_intro/BUGS: Update.
1177         * bits/c++config.h.in (__GLIBCPP__): Bump version number.
1178         * README (file): Update.
1180 1999-08-03  Benjamin Kosnik  <bkoz@cygnus.com>
1182         * src/Makefile.am (generated_headers): Remove bits/c++config.h as
1183         a target.
1184         ($(generated_headers)): Same.
1185         * src/gen-c++config.cc: Remove, rename to
1186         * bits/c++config.h.in: New file. Bump version number.
1187         * configure.in: Generate bits/c++config.h at configure time.
1188         * math/mathconf.h: include bits/c++config.h, not config.h.
1190         * bits/std_cmath.h: Fix remaining link error for solaris shared
1191         builds.  _GLIBCPP_HAS_BUILTIN_SINF has to be disabled for the time
1192         being, as on Solaris this silently calls sinf, which does not
1193         exist.
1195         * src/complex.cc: More tweaks.
1197 1999-08-03  Benjamin Kosnik  <bkoz@cygnus.com>
1199         * src/complex.cc: Same.
1200         * math/complex-stub.h: Change.
1201         * math/c_log10*.c: Change back to clog10*.c.
1203         * configure.in (NEED_C_LOG10): Delete.
1204         * configure: Regenerate.
1205         * math/Makefile.am: Change.
1207 1999-07-30  Benjamin Kosnik  <bkoz@cygnus.com>
1209         * math/Makefile.am: Fix, for real.
1210         * configure.in (use_builtin_sinf): Ok, make autoconf solution.
1211         * math/clog.c: Move to c_log.c.
1212         * math/clog*: Ditto.
1213         * math/c_log10l.c (c_log10l): Change function name.
1214         * math/c_log10f.c (c_log10f): Change function name.
1215         * math/c_log10.c (c_log10): Change function name.
1217         * math/complex-stub.h: Change to c_log* variants.
1218         * src/complex.cc: And here.
1220 1999-07-29  Benjamin Kosnik  <bkoz@cygnus.com>
1222         * testsuite/27_io/istream_extractor_other.cc: Correct last test.
1223         * bits/sstream.tcc (stringbuf::overflow): Don't update the input
1224         sequence, just the output sequence.
1225         * bits/std_sstream.h (stringbuf::str()): Only in stringbufs return
1226         the original string, all others use complicated heuristic.
1228         * src/complex.cc: Assume c_log10.
1229         * math/Makefile.am (EXTRA_yes): Fix c_log/c_logf unresolved
1230         symbols in shared libraries by making c_log/c_log10 part of the
1231         "must cmpile" sources. This may not work on solaris, must check.
1233 1999-07-29  Benjamin Kosnik <bkoz@cygnus.com>
1235         * bits/istream.tcc (operator>>(streambuf*)): Re-do.
1236         * bits/std_istream.h: Fix char extractors.
1237         * testsuite/27_io/istream_extractor_char.cc: Change.
1238         * testsuite/27_io/istream_extractor_other.cc: Add tests.
1240 1999-07-28  Benjamin Kosnik <bkoz@cygnus.com>
1242         * bits/std_cctype.h: Fix for solaris2.6 builds.
1244         * bits/istream.tcc: Fix, thanks Alfred.
1245         * bits/std_istream.h: Formatting changes.
1247         * libio/Makefile.am (libio_la_SOURCES): Remove cleanup.c, so that
1248         _IO_cleanup will not be undefined.
1249         * libio/*: Regenerate.
1251         * bits/basic_string.h: More namespace-safety stuff.
1252         * testsuite/27_io/istream_extractor_char.cc: Fix.
1253         * testsuite/27_io/istream_extractor_arith.cc: Fix.
1254         * testsuite/27_io/iostream_objects.cc: Fix.
1255         * testsuite/27_io/ios_ctor.cc: Fix.
1256         * testsuite/27_io/istream_manip.cc: Make namespace safe.
1257         * testsuite/27_io/istream_extractor_other.cc: New file.
1259         * mkcheck (TESTS_FILE): Tweaks.
1261 1999-07-27  Benjamin Kosnik  <bkoz@cygnus.com>
1263         * src/gen-c++config.cc: Note here, change version.
1264         * acconfig.h( _GLIBCPP_USE_CTYPE_ISBIT): New macro.
1265         * src/locale.cc: Used here.
1266         * configure.in (use_builtin_sinf): Check for _ISBit using autoconf.
1268         * aclocal.m4: Regenerate by running `aclocal -I m4.`
1270         * bits/istream.tcc: Fix.
1271         * bits/std_istream.h: More changes to extractors.
1273         * testsuite/27_io/istream_extractor_char.cc: More.
1274         * testsuite/21_strings/inserters_extractors.cc (test01): Fix logic
1275         error in testsuite construction.
1277         * bits/std_istream.h: Partially revert.
1278         * bits/std_ostream.h: Same.
1279         * bits/std_sstream.h: Revert.
1281 1999-07-26  Benjamin Kosnik  <bkoz@cygnus.com>
1283         * bits/std_sstream.h: Change initialization.
1284         * bits/std_ostream.h: Make default ctor/assign/operator= private.
1285         * bits/std_istream.h: Same, also correct sentry args.
1286         * bits/istream.tcc: Add correct sentry args.
1288         * testsuite/27_io/istream_extractor_char.cc: New file.
1289         * testsuite/27_io/istream_extractor_arith.cc: New file, old file,
1290         name changes making me dizzy.
1292 1999-07-26  Ulrich Drepper  <drepper@happy.cygnus.com>
1293             Benjamin Kosnik  <bkoz@cygnus.com>
1295         * aclocal.m4, config.guess, config.sub, ltconfig ltmain.sh: Update
1296         to libtool 1.3.3.
1298 1999-07-26 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1300         * bits/std_complex.h: Tweak. Make the primary template class
1301         complex work with user-defined numerical types.  Provide member
1302         definitions.  Restructure.
1303         (class complex<float>): Uglify.  Remove  __value().  Rename __val
1304         to _M_value.  Rename __complex_value_type to _ComplexT. Make it
1305         private.  Remove dependency on __value().  Fix various explicit
1306         specialization syntax.  Declare a some functions friend.  Now the
1307         implementation is nearly comforming.
1308         (class complex<double>): Likewise.
1309         (class complex<long double>): Likewise.
1311         * src/complex.cc: Tweak.  Remove dependency on complex::__value().
1312         (sin, sinh, tan, than): Fix call to corresponding C9x function
1313         syntax.
1315 1999-07-24  Benjamin Kosnik  <bkoz@fidel.cygnus.com>
1317         * bits/istream.tcc (ws): Fix error with failbit being set.
1319         Disabled due to egcs/gcc-2_95 internal compiler errors.
1320         * src/Makefile.am (CXXFLAGS): Add -fsquangle -fhonor-std
1321         -fnew-exceptions. Compiling with namespaces enabled will now be
1322         the default.
1323         * mkcheck (CXX_FLAG): Same.
1324         * src/gen-c++config.cc (_GLIBCPP_USE_NAMESPACES): Yup. New macro.
1325         * bits/std_cctype.h: Not enough to just define in namespace std if
1326         ctype-isms are macros. Need to also define in namespace std:: if
1327         the C functions are just plain functions.
1329         * src/gen-num-limits.cc: Fix spelling inconsistencies.
1331 1999-07-24  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1333         * docs/18_support/howto.html: Start documentation.  Need to keep
1334         track of the ongoing discussion in th LWG reflector.
1336         * src/gen-num-limits.cc: Tweak.
1337         (class predicate): New class.
1338         (class value): Likewise.
1339         Make the whole machinery more flexible. Add comments.
1341 1999-07-23  Benjamin Kosnik  <bkoz@fidel.cygnus.com>
1343         * bits/ios_base.h: Move state/exception functions into basic_ios.
1344         * bits/basic_ios.h: Same.
1345         * src/ios.cc: And here. Callbacks don't attempt to reset
1346         state now.
1348         * bits/std_streambuf.h: Separate ios and streambuf locale data
1349         members and cached facets. Using this convention: _M_locale_buf for
1350         the streambuf-related classes, and _M_locale_ios for the ios
1351         hierarchy.
1352         * bits/fstream.tcc: And here.
1353         * bits/basic_ios.h: And here. Also, add cached ctype.
1354         * src/ios.cc: Ditto.
1355         * bits/ios_base.h: Ditto.
1356         * bits/std_istream.h: Use cached ctype facet.
1357         * docs/27_io/iostreams_hierarchy.pdf: Update for new data member
1358         arraignment.
1360         * testsuite/27_io/ios_ctor.cc: New file.
1361         * src/ios.cc: Move _M_state init to basic_ios::init().
1362         * bits/basic_ios.h: To here.
1364         Attempt for some consistency in naming for testsuite/27_io/*.cc.
1365         * testsuite/27_io/boolfmt.cc: Rename to stdios_fmtflags_manip.cc
1366         * testsuite/27_io/octfmt.cc: Rename to stdios_basefield_manip.cc
1367         * testsuite/27_io/istream_manip.cc: Rename to istringstream_manip.cc.
1368         * testsuite/27_io/ostream_manip.cc: Rename to ostringstream_manip.cc.
1370 1999-07-22  Benjamin Kosnik  <bkoz@fidel.cygnus.com>
1372         * src/ios.cc: Tweak initializations of standard iostream
1373         objects to closely match the standard. Tie cin/wcin, set flags on
1374         cerr/wcerr
1375         * bits/char_traits.h: Change from size_t to int_type, as per
1376         standard. As per wide streams.
1377         * bits/basic_ios.h: Infect with __ctype_type, as a preparation
1378         for caching a bunch of ctype info. For instance, ctype_base::space
1379         info needs to be stored somewhere, somehow.
1380         * bits/std_istream.h: Also here.
1381         * bits/std_ostream.h: Ditto.
1382         * bits/std_istream.h (operator>>(istream, char): Aggh. Fixup.
1383         * testsuite/27_io/iostream_objects.cacc (test01): Oh yeah. Fix
1384         stream states.
1386         * bits/istream.tcc (ws): Fix.
1387         * testsuite/27_io/istream_manip.cc: New file, test ws.
1388         * testsuite/27_io/ostream_manip.cc: New file, test endl, ends, flush.
1390         * bits/basic_string.h: Provide a specialized member function for
1391         _S_find<char> using strchr.
1392         * src/string-inst.cc: Put specializations here.
1393         * bits/string.tcc: Small fix for find, remove typo.
1394         * testsuite/21_strings/find.cc (test01): Add tests to catch this
1395         find bug. . .
1397 1999-07-20  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1399         * bits/basic_ios.h: Put into basic_ios namespace.
1400         Tweak widen/narrow.
1402 1999-07-19  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1404         * bits/std_sstream.h (stringbuf::sync): Change to _M_really_sync,
1405         adjust _M_*_cur pointers inside the function, so callee doesn't
1406         have to adjust.
1407         * bits/sstream.tcc (stringbuf::overflow): Tweak.
1409         * mkcheck: Tweak. Add execution time field, even though it is not
1410         implemented yet. Simplify pass/fail status notation.
1412 1999-07-18  Mumit Khan  <khan@xraylith.wisc.edu>
1414         * configure.in: Check for float.h and underscored version of
1415         math functions.
1416         * acconfig.h: Add @BOTTOM@ section for handling underscored
1417         math functions.
1418         * configure: Regenerate.
1419         * config.h.in: Regenerate.
1420         * math/mathconf.h (float.h): Include conditionally.
1421         (M_PI): Define conditionally.
1422         (INFINITE_P): Define for Mingw.
1423         * bits/locale_facets.tcc: Workaround for compiler crash on
1424         ix86-*-mingw32.
1425         * bits/std_cwchar.h (bits/std_cstddef.h): Include.
1426         * src/locale.cc (bits/std_istream.h): Include.
1427         (bits/std_ostream.h): Likewise.
1429 1999-07-18  Phil Edwards  <pedwards@ball.com>
1431         * docs/faq/index.html:  Updated __black_count notes, fixed typos.
1432         * docs/faq/index.txt:  Regenerated.
1434 1999-07-15  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1436         * testsuite/27_io/stringbuf.cc: Cccchanges, latent bugs.
1438         * bits/sstream.tcc (stringbuf::overflow): Modify accounting of
1439         newly-allocated buffer.
1440         * bits/streambuf.tcc (streambuf::xsgetn): Aaaaaah. Fix final
1441         overflow condition bits.
1443 1999-07-14  Benjamin Kosnik  <bkoz@cygnus.com>
1445         * bits/std_sstream.h (stringbuf::_M_init_stringbuf): Set
1446         _M_buf_size to initial _M_string.size(), even though for
1447         ostringstreams it is pretty pointless. It's necessary for
1448         istringstreams.
1449         (stringbuf::str()): Adjust.
1450         (stringbuf::str()): Adjust, call _M_init_stringbuf.
1451         * bits/streambuf.tcc (streambuf::xsgetn): Adjust return value for
1452         overflow's possible success.
1453         (streambuf::xsputn): Adjust.
1455         * testsuite/27_io/filebuf.cc: Adjust for the xsgetn re-write from
1456         yesterday.
1457         * testsuite/27_io/stringbuf.cc: Tweak.
1458         * testsuite/21_strings/inserters_extractors.cc (test01): Remove
1459         notes to myself.
1460         * testsuite/23_containers/vector_cons.cc: Rename to be consistent
1461         with other constructor tests to. . .
1462         * testsuite/23_containers/vector_ctor.cc: New file.
1464 1999-07-14  Alfred Minarik <a8601248@unet.univie.ac.at>
1466         * testsuite/*: Changes to make the testsuit compilable with
1467         -fhonor-std. Contains direct qualification of library names with
1468         std::.
1470 1999-07-13  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1472         * bits/streambuf.tcc: Tweaks.
1473         (streambuf::xsputn): Optimize, fix for sstreams.
1474         (streambuf::xsgetn): Same.
1475         * bits/sstream.tcc (stringbuf::overflow): Adjust _M_buf_size
1476         correctly, handle overflow/reallocate conditions correctly.
1477         * bits/std_sstream.h: Fix typo.
1478         _M_init_stringbuf(): Fix _M_buf_size initialization.
1479         (stringbuf::str()): Construct return string if output has occurred.
1481         * bits/basic_string.h: Fix typo from yesterday's patch.
1483 1999-07-12  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
1485         * bits/string.tcc: _M_mutate - clear _M_state again.
1486         * bits/basic_string.h: In the three functions that return
1487         an iterator set _M_state to -1 before return.
1488         Also optimized two cases of operator+.
1490 1999-07-12  Phil Edwards  <pedwards@ball.com>
1492         * docs/index.html:  Expand egcs-1.1.2 notes/links.
1493         * docs/faq/index.html:  And here.  Add links to LWG issues-list.
1494         * docs/faq/index.txt:  Regenerate.  (lynx rocks)
1495         * docs/21_strings/howto.html:  Fix notes on case conversion.
1496         * docs/21_strings/stringtok_h.txt:  Goodly spelling...
1497         * docs/23_containers/howto.html:  Stub for bitmasks.
1498         * docs/27_io/howto.html: Add section on buffering, stub binary.
1500 1999-07-12  Nathan Myers <ncm@cantrip.org>
1502         * stl/bits/stl_tree.h (__black_count): Optimize.
1504 1999-07-09  Vadim Egorov  <egorovv@1c.ru>
1506         * src/basic_file.cc: Cleanup in __basic_file destructor.
1508 1999-07-08  Benjamin Kosnik  <bkoz@cygnus.com>
1510         * bits/std_streambuf.h: Changes. . .
1511         * bits/streambuf.tcc: Merge xsputn from filebuf into xsputn in
1512         basic_streambuf, to be used for both filebufs and streambufs.
1513         * bits/std_fstream.h (_M_init_filebuf): New function.
1514         Take out specialized xsputn, put into basic_streambuf.
1515         * bits/fstream.tcc: Define, call from both ctors.
1516         * bits/std_sstream.h (_M_init_stringbuf): New function.
1517         * bits/sstream.tcc: Tweak.
1519         * docs/27_io/iostreams_hierarchy.pdf: New file.
1521         * docs/17_intro/CHECKLIST (basic_string<char>): Validation and
1522         acceptance. Wooo-hoo!
1524         * bits/char_traits.h: Change int_type for char_traits general
1525         template, so that 21_strings/capacity.cc will compile.
1526         * testsuite/21_strings/capacity.cc: Add operators.
1528         * bits/string.tcc (string::compare): Clean up, re-implement.
1529         * testsuite/21_strings/compare.cc: Tweak.
1531         * bits/string.tcc (string:_M_mutate): Keep leaked value in
1532         _M_state, which means that whenever begin() or end() has been
1533         called, the string is unshareable, period. By doing this, insert
1534         and erase member functions that return iterators can remain
1535         footloose and fancy free.
1536         * testsuite/21_strings/invariants.cc: Update.
1538         * bits/basic_string.h (string::append): Fix self-referential
1539         problems, ie when "this" is also an argument to a member function.
1540         * bits/string.tcc: Tweak, same.
1541         * testsuite/21_strings/append.cc: New file.
1543 1999-07-07  Benjamin Kosnik  <bkoz@cygnus.com>
1545         * bits/char_traits.h: Tweaks.
1546         * bits/basic_string.h: Tweak.
1547         * bits/fstream.tcc: Remove warning for _M_buf_size assignment.
1549 1999-07-06  Benjamin Kosnik  <bkoz@cygnus.com>
1551         * bits/std_streambuf.h: Absorb/acquire data members previously
1552         working in basic_filebuf.
1553         * bits/streambuf.tcc: Tweaks.
1554         * bits/fstream.tcc: Adjust.
1555         * bits/std_fstream.h: Move and rename the following functions:
1556         _M_set_ideterminate, _M_is_indeterminate, _M_set_determinate are
1557         now declared and defined in the base class, basic_streambuf.  Oh
1558         fuck it, move data members _M_buf, and _M_buf_size into
1559         basic_streambuf as well.
1561         * bits/ostream.tcc: Tweak.
1562         * bits/locale_facets.tcc: Fix typo in comments.
1564         * testsuite/21_strings/inserters_extractors.cc (test01): Change
1565         state from good to not good, as eof() is set.
1567 1999-07-05  Benjamin Kosnik  <bkoz@cygnus.com>
1569         * bits/char_traits.h (char_traits::compare). Fix.
1571         * config.guess, config.sub: Update.
1573 1999-07-02  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
1575         * bits/string.tcc: Check the __res_arg for a length error.
1577 1999-07-01  Benjamin Kosnik  <bkoz@nabi.net>
1579         * bits/std_streambuf.h: Tweaks. Need to move _M_is_indeterminate
1580         and related functions into basic_streambuf, from basic_filebuf to
1581         take care of ostringstreams and empty strings. So that's groovy,
1582         or will be groovy.
1583         * bits/std_istream.h: Tweaks.
1584         * bits/istream.tcc: Implement ws, getline, operator>> for string.
1585         * bits/std_ostream.h: And here.
1586         * bits/ostream.tcc: Same.
1587         * src/misc-inst.cc: Add instantiations for ws.
1589         * src/string-inst.cc: Add instantiations for inserters and
1590         extractors (operators << and >>, getline).
1592         * testsuite/21_strings/inserters_extractors.cc: Amazingly enough,
1593         a testcase for getline and operators << and >>. Ostream tests are
1594         failing right now, but istream tests should work. . .
1596         * bits/string.tcc: Change _S_max_size, as GNU malloc won't budge.
1597         * bits/std_sstream.h: Revert.
1599         * testsuite/17_intro: header_[iosfwd, ios, iostream, iomanip,
1600         istream, ostream, streambuf, fstream, sstream].cc: New files.
1602 1999-06-30  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
1604         * bits/std_sstream.h (stringbuf::sync): Don't use string::begin()
1605         and string::end().
1607         * bits/basic_string.h (basic_string<>::_S_copy_chars): Add
1608         specializations for _CharT*, iterator and const_iterator.
1609         * src/string-inst.cc: Remove explicit instantiation, as
1610         now explicitly specialized.
1612         * bits/basic_string.h: Add a size_type parameter to _M_clone with
1613         a default value set to 0.
1614         * bits/string.tcc: In _M_clone by the call of _S_create add the
1615         value of the new parameter to _M_length.  In reserve check
1616         _M_state and use _M_clone instead of _M_mutate.
1618 1999-06-30  Benjamin Kosnik  <bkoz@happy.cygnus.com>
1620         * bits/basic_string.h: Fix _S_max_size.
1621         * bits/string.tcc: Add def here.
1622         * testsuite/21_strings/insert.cc: Fix.
1624         * bits/sbuf_iter.h: Remove detritus.
1625         * testsuite/24_iterators/istreambuf_iterator.cc: Add tests.
1627         * src/locale-inst.cc: Elaborate iterator/locale instantiations
1628         to resolve alpha-osf4 build problems.
1630 1999-06-29  Benjamin Kosnik  <bkoz@happy.cygnus.com>
1632         * bits/string.tcc: Fix signed/unsigned issues in compares.
1633         * stl/bits/stl_deque.h: And here.
1634         * stl/bits/stl_string_fwd.h: Remove __get_c_string.
1636 1999-06-29  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
1638          * bits/string.tcc: New implementation and interface of _M_mutate.
1639            Adapt the change in all functions that call _M_mutate.
1640          * bits/basic_string.h: And here.
1642 1999-06-29  Benjamin Kosnik  <bkoz@happy.cygnus.com>
1644         * testsuite/21_strings/capacity.cc (test01): Fix.
1646 1999-06-29  Phil Edwards  <pedwards@ball.com>
1648         * mknumeric_limits:  Exit script if gen-num-limits isn't built.
1650 1999-06-29  Andreas Gruenbacher  <agruenba@pent224.infosys.tuwien.ac.at>
1652         * stl/bits/stl_vector.h: Fix.
1653         * testsuite/23_containers/vector_cons.cc: Add.
1655 1999-06-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1657         * mknumeric_limits (LDFLAGS): fix.
1659 1999-06-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1661         * mknumeric_limits (LDFLAGS): set it according to the system.
1663         * math/mathconf.h (NAN): Check whether host is running under
1664         Cygwin and make the appropriate definition.
1665         * math/complex-stub.h (nan): protect declaration.
1667 1999-06-28  Benjamin Kosnik  <bkoz@haight.constant.com>
1669         * bits/sbuf_iter.h: Rename internal data structure to prevent
1670         confusion between basic_ios and istreambuf_iterators internal
1671         basic_streambuf data member.
1672         * testsuite/24_iterators/istreambuf_iterator.cc: New file.
1674         * bits/basic_string.h: Remove conditionals, add input_iterator
1675         version of S_construct again.
1676         * bits/string.tcc: Same.
1677         * src/string-inst.cc: And add explicit instantiation here.
1679         * src/gen-c++config.cc (_GNU_SOURCE): Take out both _GNU_SOURCE
1680         and __USE_GNU macro defines, as single __USE_GNU use leading to
1681         confusion on glibc2.1 systems (ie, RedHat 6.0).
1683         * src/Makefile.am (headers): Add std_utility to installed headers.
1685 1999-06-25  John Potter  <jpotter@eagle.lhup.edu>
1687         * stl/bits/stl_tree.h (insert_unique): Revert, just fix insert_equal.
1689 1999-06-25  Gilles Zunino  <Gilles.Zunino@hei.fr>
1691         * mknumeric_limits (LDFLAGS): Swap -lc and -lgcc.
1693 1999-06-24  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1695         * src/gen-c++config.cc (_GLIBCPP_*): Change all
1696         macros to include _GLIBCPP as a distinct namespace.
1697         * bits/*: And here.
1698         * src/*: And here.
1700         * stl/bits/std_stdexcept.h: Forward-declare __Named_exception ctor.
1701         * bits/basic_string.h: Remove __get_c_string.
1702         * src/stdexcept.cc: Define ctor here.
1703         * bits/ios_base.h: And fix ios_base::failure as well.
1704         * src/ios.cc: Define here.
1706         * bits/std_streambuf.h: Add a private copy ctor and assignment
1707         operator wrapped in _G_RESOLVE_LIB_DEFECTS.
1708         * bits/ios_base.h: And here too.
1710         * bits/basic_string.h: Tweak.
1711         * testsuite/21_strings/nonmember.cc: Add operator+ tests.
1713         * src/valarray.cc: Rename to. . .
1714         * src/valarray-inst.cc: This.
1715         * src/Makefile.am (sources): Change here.
1716         * src/Makefile.in: Regenerated.
1718 1999-06-24  Vadim Egorov  <egorovv@1c.ru>
1720         * bits/string.tcc(basic_string<>::_Rep::_S_create): Fixed
1721         allocated size
1723 1999-06-24  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1724             Tom Tromey  <tromey@cygnus.com>
1726         * configure.in (use_glibc2): Eek, correct for non-glibc systems.
1727         Use AM_CONDITIONAL to get us out of this jam. .
1728         * libio/Makefile.am: Same.
1729         * */Makefile: Regenerated.
1731 1999-06-24  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1732             John Potter  <jpotter@eagle.lhup.edu>
1734         * stl/bits/stl_tree.h (insert_equal): Fix.
1735         * testsuite/23_containers/multiset.cc: New file.
1737 1999-06-23  Benjamin Kosnik  <bkoz@cygnus.com>
1739         * configure.in (test for glibc2): Correct AC_TRY_COMPILE so that
1740         this works correctly on glibc-2 systems. This should allow
1741         simplified linking on these systems, and successful linking on Red
1742         Hat 6.0 systems.
1743         * configure, Makefile: Regenerate.
1745         * bits/std_cwctype.h: Add missing 'w' to _S_iswpunct_helper name.
1747         * testsuite/ext: New directory.
1748         * testsuite/ext/headers.cc: New file.
1750 1999-06-23  Vadim Egorov  <egorovv@1c.ru>
1752         * stl/ext/hash_set: include missing headers
1753         * stl/ext/hash_map: Same
1754         * stl/ext/slist: Same
1756 1999-06-17  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1758         * bits/std_cmath.h: comment out modf. Kills build on hpux10.20
1760 1999-06-15  Benjamin Kosnik  <bkoz@cygnus.com>
1762         * src/Makefile.am (sources): Regenerate.
1763         * mkcheck: Add TESTS_FILE as a way of controlling what testcases
1764         are run.
1766 1999-06-14  Benjamin Kosnik  <bkoz@cygnus.com>
1768         * src/string-inst.cc: Change _S_construct signature, to
1769         track requested allocation size versus valid input iterator range.
1770         * bits/basic_string.h: Here too.
1771         * bits/string.tcc: And here.
1773 1999-06-12  Benjamin Kosnik  <bkoz@cygnus.com>
1775         * mkcheck (LOG_FILE): Correctly append errors.
1777         * stl/bits/stl_iterator.h: Revert previous, delirious, change.
1779         * bits/basic_string.h: Change _Rep::_M_data to _Rep::_M_refdata,
1780         to clarify differences between basic_string::_M_data() calls and
1781         _Rep::_M_data() calls.
1782         * bits/std_string.h: Fix.
1783         Put in check for out_of_range in substr.
1784         * bits/string.tcc:  Fix for _S_find.
1786         * testsuite/21_strings/compare.cc: Add tests.
1787         * testsuite/21_strings/find.cc: New file.
1788         * testsuite/21_strings/substr: New file.
1789         * testsuite/21_strings/replace.cc: New file.
1791 1999-06-11  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1793         * bits/valarray_array.h: __restrict__ify pointers.
1795         * bits/std_valarray.h: Tweak.
1796         (valarray<T>::cshift, valarray<T>::shift): use __builtin_alloca.
1798         * bits/gslice_array.h: Tweak. Reflect changes in bits/gslice.h
1800         * bits/gslice.h: Tweak.
1801         (class gslice::_Indexer): new class.
1802         (gslice::gslice(const gslice&)): implement copy-ctor to support
1803         ref-counted index.
1804         (gslice::operator=(const gslice&)): support ref-counted index.
1805         (gslice::_M_convert_to_index): delete.
1807         * src/valarray.cc: New file.
1808         (__gslice_to_index): turn a gslice into a valarray<size_t>
1809         (ctor gslice::_Indexer::_Indexer): implement.
1811         * src/Makefile.am (sources): add valarray.cc
1812         * src/Makefile.in: regenerate.
1814 1999-06-08  Benjamin Kosnik  <bkoz@cygnus.com>
1816         * stl/bits/stl_iterator.h (__normal_iterator::const_iterator
1817         ctor): Put in a const_cast.
1819         * testsuite/21_strings/invariants.cc: New file.
1821         * testsuite/21_strings/insert.cc: Add exception handling bits.
1822         * testsuite/21_strings/ctor_copy_dtor.cc: Same.
1824         * src/wstring-inst.cc: Add c++config.h include.
1826         * bits/basic_string.h: Fix const operator[] for size == pos.
1827         Add _M_leak for rbegin, non-const.
1828         Add _M_leak for rend, non-const.
1829         Make member function at standards conformant.
1830         Add _S_terminal to _Rep for operator[] const, add this into
1831         c_str() as well.
1832         * bits/string.tcc: Add static member definition here,
1833         temporarily.
1835         * testsuite/21_strings/element_access.cc: Add tests.
1837 1999-06-08  Vadim Egorov  <egorovv@1c.ru>
1839          * bits/fstream.tcc (_M_really_overflow): Fixed size of
1840          conversion buffer.
1842 1999-06-08  Phil Edwards  <pedwards@ball.com>
1844         * bits/fstream.tcc (basic_filebuf::xsputn):  Fix off-by-one count
1845           caused when __testinit is true.
1846         * bits/ostream.tcc (basic_ostream::op<<(streambuf*)):  Write buffer
1847           using rdbuf()->sputn rather than _M_fnumput->put.
1849 1999-06-08  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1851         * testsuite/23_containers/bitset_ctor.cc: New file.
1852         * stl/bits/std_bitset.h (__BITSET_WORDS): Fix integration bug.
1854 1999-06-08  Phil Edwards  <pedwards@ball.com>
1856         * bits/fstream.tcc (basic_filebuf::underflow):  Fix, rename local vars.
1858 1999-06-07  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1860         * testsuite/21_strings/element_access.cc: Finish off these tests.
1861         * testsuite/21_strings/insert.cc (test01): Uncomment.
1862         * testsuite/21_strings/ctor_copy_dtor.cc (test01): Finish off ctors.
1863         * bits/basic_string.h: Tweak, okay, fix for real this time.
1864         * bits/string.tcc: Same.
1865         * bits/char_traits.h: Tweak.
1867 1999-06-07  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1869         * bits/std_cmath.h: Example of how to use the generated macro.
1870         * acconfig.h: Add macro for sinf here.
1871         * configure.in (LIBS): Add test for builtin math function sinf.
1872         * configure: Regenerated.
1874         * bits/basic_string.h: Fix _S_max_size.
1876 1999-06-06  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1878         * bits/basic_string.h: Fixes for out-of-memory segv for large strings.
1879         Remove _S_construct signature for forward_iterator_tag and
1880         input_iterator_tag.
1881         Clean _M_fold.
1882         * src/string-inst.cc: Same, tweaks.
1883         * bits/string.tcc: Same, tweaks.
1885         * testsuite/21_strings/ctor_copy_dtor.cc: Add/clarify tests.
1886         * mkcheck (LOG_FILE): Fix filebuf-[2,3].tst checks.
1887         * mknumeric_limits (LD_FLAGS): Add -nodefaultlibs -lc -lgcc as per
1888         Gaby.
1890         * src/locale.cc: Final separation for char/wchar_t bits.
1892 1999-06-05  Phil Edwards  <pedwards@ball.com>
1894         * docs/index.html:  Added link to book upon request'n'agreement.
1895         * docs/23_containers/wrappers_h.txt:  Added.
1896         * docs/{23_containers,27_io}/howto.html:  Added sections.
1898         * bits/std_fstream.h: Tweak.
1900 1999-06-05  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1902         * src/ios.cc: Same here.
1903         * bits/std_iosfwd.h: More wchar_t defines.
1905         * bits/basic_string.h: Tweaks.
1906         * bits/string.tcc: Tweak. Fix _S_construct to check for max_size
1907         when doing error checking, as per LWG defect #83.
1909         * src/gen-c++config.cc: Fix comment.
1911         * testsuite/21_strings/ctor_copy_dtor.cc: New file, checks ctors,
1912         assignments, dtors.
1913         * testsuite/21_strings/element_access.cc: New file, checks for
1914         operator[], at(...).
1915         * testsuite/21_strings/insert.cc: New file, tests string::insert.
1916         * testsuite/21_strings/char_traits.cc: New file, tests
1917         for char_traits<char>.
1919         * bits/utility.h: Remove, again.
1920         * src/Makefile.am (std_headers): Remove utility.h.
1921         * src/Makefile.in (std_headers): Regenerate.
1923         Alfred Minarik <a8601248@unet.univie.ac.at>
1924         * bits/basic_string.h: Move __out_of_range and __length_error into
1925         namespace std.
1927 1999-06-05  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1929         * testsuite/26_numerics/modf_float.cc: New file.
1931         * bits/std_cmath.h (modf(float, float*)): Fix signature. Correct
1932         typo: use ::modff, not ::modf.
1934 1999-06-03  Vadim Egorov  <egorovv@1c.ru>
1936         * bits/string.tcc (basic_string::_M_mutate): Fixed memory
1937         allocation error
1938         * testsuite/21_strings/capacity.cc (test01): Test.
1940 1999-06-03  Phil Edwards  <pedwards@ball.com>
1942         * bits/fstream.tcc:  Re-order inits to stop warnings.  Comment/move
1943           unused variables to within #if 0 blocks to do the same.
1944         * bits/std_fstream.h:  Fix typos (one prevents compilation).
1946 1999-06-03  Benjamin Kosnik <bkoz@pacifica.cygnus.com>
1948         * src/wstring-inst.cc: Fix.
1950 1999-06-02  Benjamin Kosnik <bkoz@madcow.cygnus.com>
1952         * bits/char_traits.h: Add _G_USE_WCHAR_T macro guards.
1953         * stl/bits/stl_string_fwd.h: Same.
1954         * bits/locale_facets.h: Same.
1955         * bits/locale_facets.tcc: Same.
1956         * src/wstring-inst.cc: And here.
1958         * src/gen-c++config.cc: Comment _G_USE_WCHAR_T. Leading to
1959         problems on HPUX 10.20.
1960         * your-build-directory-here/bits/c++config.h: Just kidding, do it
1961         here as a temporary hack till the compiler/host problems get
1962         worked out.
1964         * bits/locale_facets.tcc (num_get::do_get): Change from ifdef
1965         HAVE_STRTOLD to HAVE_STRTOLD && !(__hpux). Apparently, problems
1966         converting "long double" to struct long_double. Probably should be
1967         done with one macro (HAVE_STRTOLD) at configure time.
1969         * bits/std_cmath.h: Comment out pow(double, int) definition as
1970         gives re-declaration under hpux10.20. Revert previous change, as
1971         kills linux/x86, solaris 2.7, hpux builds. These should be done
1972         using autoconf, see std_cctype.h and the solutions started in
1973         configure.in (see config.h for the generated file.)
1975         * mknumeric_limits (LDFLAGS): Remove '-nodefaultlibs -lc', as
1976         -nodefaultlibs prevents linking under HPUX 10.20 as __main is not
1977         defined.
1979         * docs/index.html: Add some useful links.
1980         * docs/17_intro/contribute.html: Fix broken links.
1982 1999-06-02  Benjamin Kosnik <bkoz@rhino.cygnus.com>
1984         * mkcheck (LOG_FILE): Add !/bin/bash instead of cygnus-style
1985         paths. The rest of the world should be able to run this script
1986         now.
1988         * src/Makefile.am ($(generated_headers)): Remove comment.
1989         * Makefile*: Regenerate.
1991         * bits/std_locale.h: Remove detritus.
1992         * bits/localefwd.h: Add <cctype> include to undefine the isspace
1993         macro.
1995 1999-06-01  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1997         * src/gen-c++config.cc: New file. Making c++config.h at configure
1998         time by catting this file (nee bits/config.h) with the build
1999         directories config.h. This is not a complete or perfect solution
2000         but is better than what was in place previously.
2001         * bits/c++config.h: Rename/move to above.
2002         * src/Makefile.am (headers): Remove c++config.h.
2003         (myinstallheaders). Add.
2004         * Makefile*: Regenerated.
2006         * bits/std_cwchar.h: Add include of c++config.h for HAVE_*
2007         definitions, so that wmemcmp, wcslen, wmemchr, etc are properly
2008         declared only if not present in the host's wchar.h.
2010         * bits/locale_facets.tcc (std): Change _G_USE_STRTO* to HAVE_STRTO*.
2012         * bits/std_cmath.h: Define out, for the moment. Linux has no
2013         __buitin_fsqrtl? Probably need some kind of configure trickery
2014         here as well.
2016         * src/Makefile.*: Regenerate.
2017         * bits/c++config.h: Add config.h include.
2019         * bits/std_cwchar.h: Remove remaining #error guard.
2021         * acconfig.h: Add bits for HAVE_LC_MESSAGES.
2023         * configure.in (LIBS): Replace previous effort for mbstate_t and
2024         strtold/strtof with this implementation.
2026 1999 06-01  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2028         * bits/std_cmath.h: Tweak. Add more functions. Use __builtin_xxx
2029         whenever possible.
2031 1999-05-28  Benjamin Kosnik  <bkoz@cygnus.com>
2033         * bits/locale_facets.tcc (std): Eek: this left in. Autoconf bits
2034         for determining mbstate_t differences across various hosts not
2035         finished.
2037 1999-05-26  Benjamin Kosnik  <bkoz@nabi.net>
2039         * bits/locale_facets.tcc: Change to ifdef.
2041         * bits/std_sstream.h (stringbuf::setbuf): Remove dynamic_cast.
2042         * bits/std_fstream.h (filebuf::setbuf): Same.
2044         * bits/std_istream.h: Add ws declaration.
2045         * bits/istream.tcc: Stub out definition.
2047         * docs/index.html: Fix broken link for design.txt.
2049         * configure.in: Test for mbstate_t. If wchar.h doesn't have it,
2050         then set _G_NEED_MBSTATE_T.
2051         * configure: Regenerate.
2052         * bits/c++config.h: Move mbstate_t define.
2053         * bits/std_cwchar.h: To here.
2055 1999-05-25  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
2057         * bits/std_sstream.h:
2058           basic_stringbuf<>::basic_stringbuf: fix.
2059           basic_stringbuf<>::setbuf:
2060           remove the temporary __string_type object,
2061           remove the unnecessary dynymic_cast in the return value,
2062           change the type of the returned value from __streambuf_type*
2063           to basic_stringbuf<_CharT, _Traits, _Alloc>*.
2065 1999-05-25  Phil Edwards  <pedwards@ball.com>
2067         * bits/std_streambuf.h (streambuf::setbuf): Always return streambuf*.
2069 1999-04-25  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2071         * bits/std_cmath.h: Tweak. Add float versions of the math functions
2072         in <math.h>.  <cmath> still incomplete and incorrekt.
2074 1999-05-24  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2076         * mknumeric_limits (LDFLAGS): set appropriate link flags.
2078 1999-05-23  Phil Edwards  <pedwards@ball.com>
2080         * docs/17_intro/howto.html:  Added links to text docs,
2081         e.g., BUGS.
2082         * docs/21_strings/howto.html:  Updated sections and links.
2083         * docs/21_strings/{gotw29a.txt,stringtok_h.txt}:  Added.
2084         * docs/faq/index.html:  Updated what-works for sixth
2085         snapshot. Also a number of "internal" links have been
2086         fixed, now that the web pages are the docs directory...
2087         * docs/faq/index.txt: Regenerated.
2089 1999-05-21   Benjamin Kosnik  <bkoz@tintin.cygnus.com>
2091         * bits/basic_string.h: Add Nathan's documentation on the string class.
2093         * testsuite/27_io/ios_members_static.cc: New file, for testing
2094         ios_base::sync_with_stdio.
2096 1999-05-21   Benjamin Kosnik  <bkoz@tintin.cygnus.com>
2098         * bits/std_locale.h: Simplify includes.
2099         * bits/loccore.h: Delete.
2100         * bits/localefwd.h: Renamed, trimmed.
2101         * bits/locfacets.h: Delete.
2102         * bits/locale_facets.h: Rename, expanded.
2103         * bits/loccore.tcc: Deleted.
2104         * bits/locfacets.tcc: Deleted.
2105         * bits/locale_facets.tcc: Resultant merge.
2106         * bits/std_fstream.h: Modify include.
2107         * bits/ostream.tcc: Same.
2108         * bits/istream.tcc: Same.
2110         * src/locale-inst.cc: And here.
2111         * src/locale.cc: Ditto.
2112         * src/Makefile.am: Updated.
2113         * src/Makefile.in: Rengenerated.
2115         * bits/std_istream.h: Move istream::sentry ctor definition.
2116         * bits/istream.tcc: Move istream::sentry ctor here.
2117         Add more detailed locale include here for ctype member functions.
2118         * bits/ostream.tcc (std): And here.
2120         * bits/sbuf_iter.h: Include std_streambuf.h
2122         * bits/locfacets.h: Start separating this into a localeimp.h file.
2123         * bits/loccore.h: Start separating this into a localefwd.h file.
2124         Add std_climits for CHAR_BIT.
2126         * bits/ios_base.h (ios_base::sync_with_stdio): Stub in.
2128         * bits/char_traits.h: Tweak.
2130         * bits/ios_base.h: Remove INT_MAX, use 1<<16.
2132         * bits/std_ostream.h: Remove c++config.h include.
2133         * bits/std_istream.h: Same.
2134         * bits/std_streambuf.h: Same.
2135         * bits/std_fstream.h: Same.
2136         * bits/std_sstream.h: And here.
2138         * bits/std_iosfwd.h: Add _G_RESOLVE_LIB_DEFECTS here for streampos.
2139         * bits/char_traits.h: Add include of std_cwchar.h for mbstate_t.
2140         * bits/fpos.h: Tweak, format.
2142         * std/ciso646: New file.
2143         * bits/std_ciso646.h: New file.
2144         * src/Makefile.am (std_headers): Add ciso646.
2145         (headers): Add bits/std_ciso646.h.
2146         * src/Makefile.in: Regenerate.
2147         * testsuite/17_intro/header_ciso646.cc: New file, disable
2148         equivalance tests.
2150         * bits/fpos.h: Remove libio.h include.
2151         * bits/basic_file.h: And here.
2152         * bits/std_ios.h: Put here.
2154         * src/ios.cc: Simplify includes, tweak.
2155         * bits/std_ios.h: Simplify include order.
2156         * bits/ios_base.h: Modify ios_base::failure.
2158         * stl/bits/std_numeric.h: Change include from stl_iterator to
2159         std_iterator.
2161 1999-05-19  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
2163         * std/iostream: Remove static member __ioint.
2164         * bits/std_iostream.h: Put here.
2166         * stl/bits/std_numeric.h: Remove unneccessary std_iostream.h include.
2167         * stl/bits/stl_algobase.h: Same.
2168         * testsuite/27_io/iostream_objects.cc: Regression tests.
2169         * testsuite/27_io/hello.cc: Remove, subset of above.
2171 1999-05-19  Phil Edwards  <pedwards@ball.com>
2173         * docs/index.html: Tweak, update.
2175 1999-05-18  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2177         * docs/17_intro/RELEASE-NOTES: remove outdated
2178         documentation about numeric_limits. Correct CXXINCLUDE setting
2179         documentation.
2181 1999-05-18  Phil Edwards  <pedwards@ball.com>
2183         * docs/{17_intro,18_support,19_diagnostics,20_util,21_strings,
2184           22_locale,23_containers,24_iterators,25_algorithms,26_numerics,
2185           27_io}/howto.html:  Created, with some initial entries.
2186         * docs/faq/index.html:  Fixed some links.
2187         * docs/faq/index.txt:  Regenerated.
2189 1999-05-18  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
2191         * bits/c++config.h (__GLIBCPP__): Set version to 19990518.
2193         * docs/17_intro/RELEASE-NOTES: Update.
2194         * docs/index.html: Correct link to mailing list help page, update News.
2195         * docs/faq/index.html: Change fifth to sixth for snapshot.
2197         * src/Makefile.am (myinstallheaders): Bring over Gaby's changes to
2198         install $(top_builddir)/bits/std_limits.h into
2199         $(myincludepfx)/bits. This was mistakenly omitted from yesterday's
2200         Makefile.am changes.
2201         * *Makefile*: Regenerate using automake.
2203         * mkcheck (LOG_FILE): Fix filebuf directory oddness.
2204         * testsuite/27_io/filebuf.cc: Same.
2206 1999-05-18  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2208         * docs/17_intro/CHECKLIST: update.
2209         * docs/17_intro/TODO: update.
2211 1999-05-17  Phil Edwards  <pedwards@ball.com>
2213         * docs/{17_intro,18_support,19_diagnostics,20_util,21_strings,
2214           22_locale,23_containers,24_iterators,25_algorithms,26_numerics,
2215           27_io}/howto.html:  Created, with some initial entries.
2216         * docs/faq/index.html:  Fixed some links.
2217         * docs/faq/index.txt:  Regenerated.
2219 1999-05-17  Benjamin Kosnik  <bkoz@unhappy.cygnus.com>
2221         * src/Makefile.am (myinstallheaders): Missed removing missing.h.
2222         * Makefile.in*: Regenerate.
2224 1999-05-17  Benjamin Kosnik  <bkoz@happy.cygnus.com>
2226         * bits/std_streambuf.h: Same.
2228         * bits/loccore.h (_Bad_use_facet): Remove bits warned about.
2229         * bits/locfacets.h (std): Same.
2230         * bits/sstream.tcc: Same.
2231         * testsuite/27_io/stringstream.cc: Tweak.
2233         * testsuite/27_io/filebuf.cc: Adjust.
2234         * testsuite/21_strings/capacity.cc (test01): Add more
2235         string::reserve tests.
2237         * bits/c++config.h: Remove broken CCTYPE.
2238         * bits/std_cctype.h: Tweak, remove de-macroization, enable
2239         sequestered topper implementation.
2240         * bits/std_cwctype.h: Same.
2242         * bits/missing.h: Remove.
2243         * bits/std_locale.h: Remove missing.h include.
2245         * stl/bits/std_bitset.h (bitset::bitset(string): Tweak to compile.
2247         * src/Makefile.am (headers): Add bits/std_cwctype.h.
2248         INCLUDES: Add top_builddir.
2249         * src/Makefile.in: Regenerate.
2251         * Makefile.am: Add check and check-install as new targets.
2252         * testsuite/make_check_libfree++: Move to. . .
2253         * mkcheck: Here.
2254         * configure.in: Tweak versions.
2255         * mknumeric_limits: Set paths correctly.
2257 1999-05-17  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2259         * src/Makefile.in (myinstallheaders): add rule to install
2260         std_limits.h.
2262         * bits/slice.h (class slice): don't const-qualify data members
2263         since the copy and assignment operator is implicitly used. The
2264         valarray specification is definitively a bad one.
2266         * Makefile.in (generate-limits-sources): fix typo.
2268         * docs/text/TODO: update.
2269         * docs/text/CHECKLIST: update.
2271         * bits/gslice.h (gslice): fix bugglet.
2272         (gslice::gslice): set _M_index_size to 0 whenever given lengths
2273         (lj) of size zero.
2275         * src/Makefile.am (libstdc___la_SOURCES): add gen-num-limits.
2276         * src/Makefile.in (libstdc___la_SOURCES): keep in sync.
2277         [Note: **/Makefile.in should be generated from the corresponding
2278         Makefile.am.  The current situation is a litte chaotic.  ]
2280 1999-05-16 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2282         * mknumeric_limits: tweak.
2284         * Makefile.in (all): add target generate-limits-sources.
2285         (generate-limits-sources): make a directory bits/ in top_builddir
2286         where the generated std_limits.h is put; generate limitsMEMBERs.cc
2287         directly under $(top_builddir)/src. Remains to put the appropriate
2288         rule for installing std_limits.h.
2290         * src/Makefile.in (headers): remove bits/std_limits.h to this list.
2291         (INCLUDES): add -I$(top_builddir) for bits/std_limits.h which is
2292         now generated at build-time in the build directory
2293         (libstdc___la_SOURCES): remove limitsMEMBERS.cc form this list
2294         * src/Makefile.am: reflect changes in src/Makefile.in
2296 1999-05-12  Phil Edwards  <pedwards@ball.com>
2298         * docs/faq/index.html: Add more entries (5.4,5.5), finish
2299         all but one empty entry.  Add links for HOWTOs, but no files yet.
2300         (Corrected HOWTO links are for bkoz's new scheme.)
2301         * docs/faq/index.txt: Regenerated.
2303 1999-05-12  Benjamin Kosnik  <bkoz@happy.cygnus.com>
2305         * testsuite/17_intro/headers.cc: New file.
2306         * stl/bits/std_queue.h: Change stl_bvector.h include path.
2307         * bits/std_cwctype.h: New file.
2309         * testsuite/27_io/filebuf.cc: Need to tweak directory structure.
2311 1999-05-11  Benjamin Kosnik  <bkoz@loony.cygnus.com>
2313         * stl/bits/stl_config.h (__USE_MALLOC): Change underlying allocator.
2314         Check __USE_MALLOC before defining specializations containing
2315         __default_alloc_template.
2316         * src/stl-inst.cc: Here too.
2318         * bits/basic_string.h: Change.
2320         * testsuite/make_check_libfree++: More tweaks.
2321         * testsuite/21/capacity.cc: New file.
2323         * src/string.cc: Rename to be consistent with other inst files.
2324         Rename to string-inst.cc.
2325         * src/string*.cc: Change include.
2326         * src/wstring.cc: Rename to wstring-inst.cc.
2327         * src/wstring*.cc: Ditto.
2328         * src/Makefile.in: Also here.
2329         * src/Makefile.am: Ditto.
2331         * src/traits.cc: Remove.
2332         * src/wtraits.cc: Same.
2334         Try a new way of organizing documentation, one with synchronicity
2335         between testsuites and docs subdirectories, and see who yelps.
2336         * docs/html: Remove, use chapter and subject specific directories
2337         instead of forcing things immediately into format of
2338         documentation.
2339         * docs/text: Same.
2340         * docs/image: Same.
2341         * docs/faq/text, docs/faq/html: Remove, put in the docs/faq
2342         directory and sort by filename and extension.
2343         * docs/17_intro, 18_support, 19_diagnostics, 20_util, 21_strings,
2344         22_locale, 23_containers, 24_iterators, 25_algorithms,
2345         26_numerics, 27_io: Add.
2346         * docs/17_intro/*: Populate with all the text files. . .
2347         * docs/index.html: Construct.
2349         * testsuite/*: Update with same names as the docs subdir.
2350         * testsuite/results: Where to stash conformance results for the
2351         different snapshots, so that progress/size/speed issues can be
2352         tracked over time.
2354 1999-05-10  Benjamin Kosnik  <bkoz@loony.cygnus.com>
2356         * src/string.cc: Add _S_copy_chars instantiation, as well as
2357         string::binary operators !=, ==, etc.
2359         * src/Makefile.am (CXXFLAGS): Remove -fvtable-thunks.
2360         * src/Makefile.in (CXXFLAGS): Same here.
2361         * testsuite/make_check_libfree++ (CXX_FLAG): And here.
2363 1999-05-07  Benjamin Kosnik  <bkoz@cygnus.com>
2365         * src/string.cc:  Add missing member functions to instantiation list.
2367 1999-05-07  Benjamin Kosnik  <bkoz@cygnus.com>
2369         * src/misc-inst.cc: Remove unused string instantiations.
2371         * bits/string.tcc: Tweak, fix.
2372         * bits/basic_string.h: Format. Fix reported error with c_str().
2374         * testsuite/make_check_libfree++: Tweak for shared builds.
2375         * testsuite/21/operations.cc: New file for testing c_str() etc.
2377 1999-05-06  Benjamin Kosnik  <bkoz@cygnus.com>
2378             Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
2380         * stl/bits/stl_vector.h: Fix the code of vector<> for usage with
2381         an iterator class.  Delineate pointer versus iterator differences
2382         in implementation.
2383         * 23/vector_capacity.cc: New file, tests for above.
2385 1999-05-06 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2387         * mknumeric_limits: Fix typo. 'unsigned lont' should read
2388         'unsigned long'.
2389         * src/Makefile.am (libstdc___la_SOURCES): add limitsMEMBERS.cc,
2390         generated by mknumeric_limits to the list. Now std_limits.h is
2391         basically working.
2392         * src/Makefile.in (generate-numeric-limits): new target to handle
2393         automatic generation of bits/std_limits.h and src/limitsMEMBERS.cc.
2394         (all): add target generate-numeric-limits.
2395         (libstdc___la_OBJECTS): add limitsMEMBERS.lo
2396         (libstdc___la_SOURCES): add limitsMEMBERS.cc
2398 1999-05-05  Benjamin Kosnik  <bkoz@cygnus.com>
2400         Irix build issues.
2401         * bits/c++config.h (_G_USE_CTYPE_ISBIT): Defines new macro for
2402         mask values in ctype_base. Move hacks for _ISBit to locfacets.h.
2403         * bits/locfacts.h: Here.
2405 1999-05-05  Benjamin Kosnik  <bkoz@cygnus.com>
2406             Ulrich Drepper <drepper@cygnus.com>
2408         Solaris build issues.
2409         * bits/c++config.h: Define new macros, _G_USE_STRTOF and
2410         _G_USE_STRTOLD.
2412         * bits/locfacets.tcc (num_get::do_get): Tweak long double and
2413         float overloads to use the above macros. Account for the lack of
2414         strtold on some systems, and revert back to using sscanf.
2416 1999-05-04  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
2418         * bits/locfacets.tcc (num_get::do_get): Check the errno variable.
2419         Use strtoul/strtoull for unsigned types.  Check the ranges for
2420         short/unsigned short and if necessary for int/unsigned int.
2422 1999-05-04  Benjamin Kosnik  <bkoz@cygnus.com>
2424         * src/gen-num-limits.cc (round_style): Need to use mknumericlimits
2425         to generate bits/std_limits.h now, as the SGI std_limits.h is
2426         being depricated. Not done, but should be done immediately: need
2427         to make sure this script is run as part of the configuration
2428         process, because without it "make" in a configured build directory
2429         will fail. Also tweaked: added a space for float_round_style, and
2430         used static_cast of zero to default-initialize, which should be ok
2431         according to the standard. (see 8.5 p5 and 20.1.3).
2432         * mknumeric_limits (OUT_C): Need this for x86 long
2433         double extensions.
2435         * bits/basic_file.h: Include libio.h, not libioP.h.
2436         * src/basic_file.cc: And add libioP.h include here, so that
2437         _IO_init, et. al are well-declared.
2439         * testsuite/make_check_libfree++ (LIB_PATH): Test installed
2440         headers, not source directory headers.
2442         * src/Makefile.am (headers): Add stl_range_errors.h, also adjust
2443         for ext/*.  Also add basic_file.h.
2444         * src/Makefile.in (headers): Same.
2446         * bits/std_string.h: Reduce dependencies for faster
2447         pre-processing. Move istream and ostream specific defines into
2448         istream.tcc and ostream.tcc respectively.
2449         * bits/string.tcc: And here.
2450         * bits/basic_string.h: Move getline inline out-of-line, and to
2451         istream.tcc.
2452         * bits/istream.tcc: Move string::getline and operator>> here.
2453         * bits/ostream.tcc: And here too.
2455         * bits/utility.h: Remove, as clashes with a standard header. Put
2456         __OUTOFRANGE and __LENGTHERROR macros into string.tcc for the time
2457         being, until this can be combined with SGI's approach.
2458         * bits/string.tcc: Add macros, as above.
2459         * bits/loccore.h: Add _Count_ones defines.
2460         * bits/std_string.h: And here too.
2461         * bits/std_locale.h: And here.
2462         * bits/std_ios.h: Take out include here.
2463         * src/Makefile.am (headers): Remove utility.h
2464         * src/Makefile.in (headers): Remove utility.h
2466         * stl/bits/*: Update to SGI STL 3.20.
2467         * stl/ext/pthread_alloc: Delete this file.
2469 1999-05-04 Phil Edwards <pedwards@ball.com>
2471         * docs/faq/html/index.html: Add more entries
2472         * docs/faq/html/index.txt: regenerated.
2474 1999-05-04 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2476         * src/gen-num-limits.cc (DO_DEFINE_MIN_MAX): fix typo.
2478 1999-04-29  Benjamin Kosnik  <bkoz@haight.cygnus.com>
2480         * bits/locfacets.tcc (num_get::do_get): Re-implement, with input
2481         from Ulrich and Nathan. Remove extraneous string class usage,
2482         tweak, clean, simplify and consolidate with a eye towards removing
2483         duplcate code. Use strto[l, ll, f, d, ld] instead of sscanf.
2484         Not done: dealing with leading zeros, wchar_t work.
2485         * bits/locfacets.h: And here too.
2487         * doc: Remove.
2489 1999-04-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2491         * docs/: add a FAQ.
2492         * docs/faq/: New directory.
2493         * docs/faq/html/: Likewise.
2494         * docs/faq/text/: Likewise.
2495         * docs/faq/html/index.html: New file.
2496         * docs/faq/html/index.txt: Likewise. Generated from
2497         docs/faq/html/index.html by lynx.
2499 1999-04-28  Benjamin Kosnik  <bkoz@happy.cygnus.com>
2500             Ryszard Kabatek and Branko Cibej
2502         * bits/locfacets.tcc: Modify.
2504 1999-04-27  Benjamin Kosnik  <bkoz@happy.cygnus.com>
2506         * bits/sbuf_iter.h: Clean, fix istreambuf_iterator, make
2507         conformant to 14882, wrap non-standard extensions with
2508         _G_RESOLVE_LIB_DEFECTS, remove detritus and cruft, rennovate.
2509         * bits/locfacets.tcc (num_get::do_get(bool)): Return correct iterator.
2511         * testsuite/27/istringstream_formatted.cc: Add tests.
2513         * bits/locfacets.h: Remove cruft from _Format_cache, continue
2514         commenting, simplify.
2515         * bits/locfacets.tcc: Same.
2517         1999-04-27  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
2518         * bits/locfacets.tcc (num_get::do_get):
2519         Fix the sscanf format parameter
2520         for long long 'll' (as in C9X) instead of 'l'.
2521         Fix the order of sscanf format parameters: "%dl" --> "%ld".
2522         Change the type of the local variable '__conv' from 'string'
2523         to 'const char*' and adapt the change.
2525 1999-04-26  Benjamin Kosnik  <bkoz@happy.cygnus.com>
2527         * bits/locfacets.h: Document _Format_cache, and name data members
2528         after the corresponding functions in numpunct. For instance:
2529         _M_grsep -> _M_thousands_sep, and _M_decsep -> _M_decimal_point.
2530         Break apart _M_boolnames{2] into _M_truename and _M_falsename.
2531         * bits/locfacets.tcc: Same.
2533         * bits/locfacets.h (num_get::_M_extract): Don't allow groupings to
2534         stop parsing--store for later analysis.
2535         * testsuite/27/istringstream_formatted.cc: Add cases.
2537 1999-04-25  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2539         * bits/valarray_meta.h: tweak.
2540         (_UnFunBase, _BinFunBase, _BinFunBase1, _BinFunBase2, _BinBase1,
2541         _BinFunBase2): rename typedef-name _Tp to _Vt to keep the compiler
2542         happy -- boggus warning.
2543         * bits/std_valarray.h: Fix.
2544         (valarray<T>::shift): Fix. Update comment.
2545         (valarray<T>::cshift): Fix.
2547 1999-04-23  Benjamin Kosnik  <bkoz@cygnus.com>
2549         * testsuite/27filebuf-2.txt: Delete.
2550         * testsuite/27/filebuf.cc: Put output files directly into the
2551         correct subdirectory (27).
2553         Alexandre Petit-Bianco <apbianco@cygnus.com>
2554         * testsuite/make_check_libfree++: Check generated (*.txt) file
2555         against stored results file (*.tst).
2557 1999-04-22  Benjamin Kosnik  <bkoz@nabi.net>
2559         * bits/locfacets.tcc: Fix.
2561         * bits/fstream.tcc (filebuf::seekoff): Output current out pointer.
2562         (filebuf::overflow): Simplify.
2563         (filebuf::xsputn): Correctly handle indeterminate state.
2565         * testsuite/27/istringstream_formatted.cc: Tweak.
2566         * testsuite/27/filebuf.cc: Tweak.
2567         * testsuite/27/filebuf-3.tst: Correct: this is the canonical
2568         results file, please use this in the future to guarantee filebuf
2569         positioning accuracy.
2570         * testsuite/27/filebuf-2.tst: Same.
2572 1999-04-21  Benjamin Kosnik  <bkoz@cygnus.com>
2574         * bits/fstream.tcc (filebuf::xsputn): Add.
2575         * bits/std_fstream.h: Declare.
2577         * src/basic_file.cc (__basic_file::open): Add O_CREAT to open
2578         calls using ios_base::trunc.
2580         * bits/sstream.tcc (streambuf::overflow): Fix crasher.
2582         * testsuite/make_check_libfree++ (LOG_FILE): Ugh. Another fix.
2583         * testsuite/27/27stringstream.cc: Same.
2584         * testsuite/27/27stringbuf.cc: More tweaks.
2585         * testsuite/27/27filebuf-2.txt: Remove.
2587         * testsuite/27/27filebuf-1.tst: Append, to force byte size over
2588         BUFSIZE so that overflows/underflow can be tested with default
2589         buffer setting.
2590         * testsuite/27/27filebuf-1.tst: Add.
2592         * testsuite/*/*: Remove pre-pended chapter names, as they
2593         duplicate the chapter info contained in the enclosing directory
2594         anyway.
2596 1999-04-20  Benjamin Kosnik  <bkoz@cygnus.com>
2598         * bits/streambuf.tcc (streambuf::xsputn): Re-implement to conform
2599         to sputc conditions.
2601         * bits/ios_base.h: Define here.
2602         * src/ios.cc (ios_base::_M_clear): Remove hack.
2603         * bits/basic_ios.h: Fix rdstate().
2605         * bits/sstream.tcc (streambuf::seekoff): Fix.
2606         * bits/fstream.tcc (filebuf::seekoff): Tweak comments.
2608         * testsuite/make_check_libfree++ (LOG_FILE): More c-c-c-changes.
2609         * testsuite/24/24iterator.cc: Add/Fixes for DEBUG_ASSERT.
2610         * testsuite/27/27stringstream.cc: Same.
2611         * testsuite/27/27stringbuf.cc: Same.
2612         * testsuite/27/27istringstream_formatted.cc: Same.
2613         * testsuite/27/27filebuf.cc: Same.
2615         * bits/locfacets.h: Remove specializations for messages<char> and
2616         messages<wchar_t> ctors. Same for moneypunct. Not required, not used.
2617         * src/locale.cc: Remove definitions for above.
2618         * src/misc-inst.cc: Revert, take out iomanip.h include.
2619         * bits/std_iomanip.h: Tweak, format.
2621 1999-04-19  Benjamin Kosnik  <bkoz@cygnus.com>
2623         * bits/loccore.h: Format, move inline.
2624         * bits/locfacets.tcc: Same.
2625         * bits/locfacets.h: Same.
2627         Ulrich Drepper  <drepper@cygnus.com>
2628         * aclocal.m4: Re-generate.
2629         * configure, configure.in: Same.
2630         * m4/lc_messages.m4: New file.
2632 1999-04-18  Benjamin Kosnik  <bkoz@cygnus.com>
2634         * bits/std_ostream.h: Fix typedef for wchar_t instantiations.
2635         * bits/sstream.tcc: Tweak.
2637         * std/iostream: Put __ioinit inside macro guards.
2639         * src/stlinst.cc: Delete and move to . . .
2640         * src/stl-inst.cc: New file, plus wrapping in namespace std.
2641         * src/Makefile.in: Change.
2642         * src/Makefile.am: Same.
2643         * src/misc-inst.cc: Add istringstream/ostringstream instantiations.
2645         * testsuite/make_check_libfree++: Efficiently format for minimal
2646         space. Enforce stricter execution tests by enabling
2647         -DDEBUG_ASSERT.
2649 1999-04-16  Benjamin Kosnik  <bkoz@cygnus.com>
2651         * docs/text/RELEASE-NOTES: Fix include typo.
2653         * src/Makefile.am (headers): Add istream.tcc.
2654         * src/Makefile.in (headers): Add istream.tcc.
2656         * ltconfig, ltmain.sh, libtool: Update to libtool-1.2g.
2658 1999-04-16  Benjamin Kosnik  <bkoz@cygnus.com>
2660         * bits/locfacets.tcc (num_get::do_get(long)): Finish roughing in.
2661         * bits/locfacets.h (num_get::_M_extract): New functin:
2662         consolidate logic for do_get(...) members.
2664         * bits/sbuf_iter.h (istreambuf_iterator::operator++()): Fix.
2665         * testsuite/27/27istringstream_formatted.cc: Add.
2667 1999-04-16  Martin v. Löwis  <martin@mira.isdn.cs.tu-berlin.de>
2669         * src/basic_file.cc (__basic_file::open): Fix thinko in
2670         _G_HAVE_IO_FILE_OPEN bits.
2671         * bits/std_istream.h (sentry::sentry(istream, bool)): Fix isspace bug.
2672         * bits/std_cmath.h: Add stdlib.h include for ldiv_t.
2673         * src/complex.cc (FCT): Qualify all functions with global namespace.
2674         * src/locale.cc: Don't qualify memcpy and setlocale.
2675         * src/stdexcept.cc (__out_of_range): Qualify out_of_range with std::.
2676         (__length_error): Likewise, for length_error.
2677         * src/stlinst.cc: Qualify instantiations with std::.
2679 1999-04-15   Benjamin Kosnik  <bkoz@cygnus.com>
2681         * C++STYLE: Add ChangeLog guidelines for member functions.
2683         * doc/* : Delete.
2684         * BADNAMES, BUGS, C++STYLE, CHECKLIST, COPYING,
2685         DESIGN, HEADER_POLICY, PROBLEMS, RELEASE-NOTES, TODO: Moved into
2686         docs/text and made less strident.
2688         * bits/fstream.tcc: Change non-standard ctor to match Sun's sematics.
2689         * bits/std_fstream.h: Same.
2690         * src/ios.cc: Same.
2692         * bits/locfacets.h: Touch.
2694 1999-04-15  Ulrich Drepper  <drepper@cygnus.com>
2696         * math/cexp.c (cexp): Use NAN instead of nan("").
2697         Reported by joel reed <joelreed@yahoo.com>.
2699         * libio/libioP.h: Define _IO_seek_fpos_t and _IO_seek_off_t based on
2700         _G_IO_IO_FILE_VERSION.  Use these types in the prototypes.
2701         * libio/fileops.c: Use _IO_seek_fpos_t and _IO_seek_off_t types
2702         instead of #if cascades.
2703         * libio/genops.c: Likewise.
2704         * libio/ioseekoff.c: Likewise.
2705         * libio/ioseekpos.c: Likewise.
2706         * libio/strops.c: Likewise.
2707         Patch by Chip Salzenberg <chip@perlsupport.com>.
2709 1999-04-15  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2711         * docs: New directory.
2712         * docs/html: Likewise.
2713         * docs/text: Likewise.
2714         * docs/image: Likewise.
2716         * bits/std_cmath.h: Add new functions.
2717         (abs): overload for long and double.
2718         (div): overload for long.
2720         * bits/valarray_array.h: Fix.
2721         * bits/gslice.h: Adjust friend.
2722         * bits/slice_array.h: likewise.
2723         * bits/valarray_meta.h: likewise.
2725 1999-04-13   Benjamin Kosnik  <bkoz@tintin.cygnus.com>
2727         * bits/locfacets.h: More changes, for num_get for insertion
2728         operators for integral types. Comment fields in _Format_cache.
2729         * bits/locfacets.tcc: And here too: add preliminary long version.
2730         * testsuite/27/27istringstream_formatted.cc: Add cases.
2732 1999-04-13   Mark Elbrecht  <snowball3@usa.net>
2734         * configure.in: Add locale.h to AC_CHECK_HEADERS argument. Call
2735         AC_LC_MESSAGES macro.
2736         * aclocal.m4 (AC_LC_MESSAGES): New. Determines if a target
2737         supports LC_MESSAGES.
2738         * config.h.in: Add entry for HAVE_LC_MESSAGES.
2739         * src/locale.cc (locale::_S_normalize_category): Use the
2740         HAVE_LC_MESSAGES macro to check for LC_MESSAGES support instead of
2741         _G_NO_CLOCALE_HAS_MESSAGES.
2742         * aclocal.m4 (AM_PROG_LD): For DOS style paths, simplify test to
2743         '?:' from '?:\\' so any path beginning with a drive name matches.
2745 1999-04-12   Mark Elbrecht  <snowball3@usa.net>
2747         * src/basic_file.cc(sys_open) [O_BINARY]: Declare __testb.
2749 1999-04-12   Benjamin Kosnik  <bkoz@tintin.cygnus.com>
2751         * bits/locfacets.h: Tweak.
2752         * bits/locfacets.tcc(do_get): Clean/fix bool method.
2754         * testsuite/21/21nonmember.cc: Same.
2755         * testsuite/21/21compare.cc: Fix license.
2756         * testsuite/27/27istringstream_formatted.cc: New file.
2758 1999-04-12  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2760         * bits/valarray_meta.h: _BinFunBase1, _BinFunBase2, _BinBase1,
2761         _BinBase2: new template classes; put in there to work around a
2762         compiler limitation. The whole valarray architecture is now
2763         working.
2765 1999-04-08  Benjamin Kosnik  <bkoz@haight.constant.com>
2767         * bits/locfacets.tcc: Fix, format.
2768         * bits/locfacets.h: Fix.
2769         * src/locale.cc: Same, plus format.
2771         * bits/basic_string.h: Re-add definition here.
2772         * src/string.cc: Take out.
2774 1999-04-08  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2776         * bits/std_valarray.h: tweak.
2777         * bits/valarray_array.h tweak. use _Expr.
2778         * bits/slice_array.h: likewise.
2779         * bits/gslice_array.h: likewise.
2780         * bits/mask_array.h: likewise.
2781         * bits/indirect_array.h: likewise.
2782         * bits/valarray_meta.h: tweak.
2783         _UnFunBase, _UnFunClos, _BinFunBase, _FunBase, _ValFunClos,
2784         _RefFunClos, _UnBase, _UnClos, _BinBase, _BinClos, _SClos, _GClos,
2785         _IClos: new template classes.
2786         _Meta: renamed to _Expr. Made template with args.
2787         _Constant: made template with two args.
2789 1999-04-05  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2791         * bits/valarray_array.h: tweak.
2793 1999-04-06  Benjamin Kosnik  <bkoz@cygnus.com>
2795         * bits/basic_string.h: Whoops--fix blip.
2797 1999-04-06  Benjamin Kosnik  <bkoz@cygnus.com>
2799         Update to SGI STL 3.13
2800         * bits/basic_string.h: Add __get_c_string definition.
2801         * stl/bits/stl_range_errors.h: New file.
2802         * stl/bits/std_bvector.h: Same.
2803         * stl/bits/*: Update.
2805 1999-04-04 1999  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2807         * bits/slice_array.h: tweak.
2808         * bits/gslice_array.h: tweak.
2809         * bits/mask_array.h: tweak.
2810         * bits/indirect_array.h: tweak.
2811         * bits/valarray_array.h: tweak.
2812         (__valarray_copy): replace copy with memcpy.
2813         * bits/std_valarray.h: use __valarray_copy whenever possible.
2814         use __valarray_fill instead of fill.
2816 1999-04-02  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2818         * src/gen-num-limits.cc: new file
2819         * mknumeric_limits: Ditto.
2821 1999-03-30  Benjamin Kosnik  <bkoz@cygnus.com>
2823         * bits/locfacets.tcc: Do a stub version of num_get for short, int,
2824         and long types.
2825         * bits/locfacets.h: Add num_get::get methods overloaded for int
2826         and short, to resolve ambiguous overloads in istream insertion
2827         operators.
2829 1999-03-30  Benjamin Kosnik  <bkoz@cygnus.com>
2831         * bits/std_istream.h: Fix.
2832         * bits/istream.tcc: Fix.
2834 1999-03-30  Philip Martin  <pm@corris.dircon.co.uk>
2836         * testsuite/24/24iterator.cc: fix ++/-- tests
2838 1999-03-29  Benjamin Kosnik  <bkoz@cygnus.com>
2840         * bits/std_ostream.h: Looks like this, actually: Fix up eh-isms.
2841         * bits/ostream.tcc: Same.
2843         * bits/std_istream.h: Bring over ostream changes, implement member
2844         functions. Baseline.
2845         * bits/istream.tcc: New file.
2847 1999-03-26  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2849         * bits/gslice.h (class gslice): fix friends template.
2851 1999-03-23  Benjamin Kosnik  <bkoz@cygnus.com>
2853         * bits/std_ostream.h: Fix sentry objects, implement seekp, tellp,
2854         delete cruft, etc.
2855         * bits/ostream.tcc: Same.
2857         * bits/std_istream.h: Minor tweaks.
2859 1999-03-18  Benjamin Kosnik  <bkoz@cygnus.com>
2861         * src/locale-inst.cc: Remove duplicate instantiations.
2862         * bits/locfacets.tcc: Tweak definitions of static member.
2864 1999-03-18  Benjamin Kosnik  <bkoz@cygnus.com>
2866         * bits/std_fstream.h: Format: prepend "__" in front of
2867         non-standard typedefs.
2868         * bits/fstream.tcc: Match.
2869         * bits/std_streambuf.h: Format: prepend "__" in front of
2870         non-standard typedefs.
2872         * bits/sstream.tcc: Match.
2873         * bits/std_istream.h: Format.
2874         * src/locale-inst.cc: Add num_get instantiations.
2876         * bits/std_sstream.h: Fix crash in stringstreams. Remove member
2877         _M_sb, a basic_stringbuf object, and use the basic_ios pointer
2878         _M_streambuf instead. Make initializations sane. Fix
2879         allocation/deallocation of _M_streambuf.
2880         * bits/std_ostream.h: Fix initialization code.
2881         (ctor): Eliminate redundant this->init(), let base class initialize.
2882         (default ctor): New. Assume base classes already initialzed.
2883         * bits/std_istream.h: Parallel work to ostream.
2884         (ctor): Eliminate redundant this->init(), let base class initialize.
2885         (default ctor): New. Assume base classes already initialzed.
2886         Fix initialization of basic_iostream.
2888         * bits/std_fstream.h: While we're at it, make initializations sane
2889         here too. Now matches sstream.h.
2891         * bits/string.tcc: Fix crash in basic_string::compare.
2892         * bits/basic_string.h: And here.
2893         * bits/c++config.h: Add comment about _G_USE_EXCEPTIONS.
2895         * testsuite/make_check_libfree++: Check shared as well.
2896         * testsuite/27/27stringstream.cc: Add bits.
2897         * testsuite/27/27boolfmt.cc: Add bits.
2898         * testsuite/27/27octfmt.cc: Add bits.
2900 1999-03-17  Benjamin Kosnik  <bkoz@happy.cygnus.com>
2902         * configure.in (USE_LONG_DOUBLE): signbitl link error.
2904         * bits/locfacets.h: Fix errors that cause build problems
2905         with current egcs (template parameters have class scope).
2906         * bits/locfacets.tcc: Same.
2907         * src/locale-inst.cc: Same, clean.
2908         * src/misc-inst.cc: Same, clean.
2910 1999-03-17  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
2912         * stl/bits/std_memory.h:  Modify auto_ptr::reset to reflect the
2913         standard. Re-apply this previous patch.
2915 1999-03-17  Philip Martin  <pm@corris.dircon.co.uk>
2917         * bits/basic_string.h: Use __normal_iterator<> for iterators.
2918         * bits/std_sstream.h: Support __normal_iterator<> iterators.
2919         * bits/string.tcc: Ditto.
2920         * src/misc-inst.cc: Ditto.
2921         * src/locale-inst.cc: Ditto.
2922         * stl/bits/stl_iterator.h: Add __normal_iterator<>.
2923         * stl/bits/stl_vector.h: Use __normal_iterator<> for iterators.
2924         * testsuite/24/24iterator.cc: Add test cases for basic_string and
2925         vector iterators.
2927 1999-03-16  Benjamin Kosnik  <bkoz@cygnus.com>
2929         * bits/locfacets.tcc: Remove macro hack.
2930         * bits/locfacets.h: Tweaks.
2931         * src/misc-inst.cc: Weed out locale-related instantiations.
2932         * src/locale-inst.cc: Same.
2934         * RELEASE-NOTES: Make more changes.
2935         * bits/c++config.h: Bump version number.
2937         * testsuite/make_check_libfree++: Collect diagnostics.
2939         * bits/std_ostream.h: Fix ostream initialization/destruction
2940         problem, related to dtor cleanup and new cached facets, agggggggh.
2941         * bits/ostream.tcc: Tweak.
2942         * bits/locfacets.h: Remove all friends of iostream classes.
2943         * bits/ios_base.h: Same.
2944         * bits/streambuf.tcc: Tweak.
2945         * bits/std_streambuf.h: Tweak.
2946         * bits/std_fstream.h: Tweak.
2947         * bits/fstream.tcc: Tweak.
2948         * src/stdstreams.cc: Tweak.
2949         * src/ios.cc: Close streams.
2951         * math/Makefile.in: Add missing files for shared link errors.
2952         * math/Makefile.am: Same.
2954 1999-03-15  Benjamin Kosnik  <bkoz@cygnus.com>
2956         * src/locale-inst.cc: More wchar_t instantiations.
2957         * src/misc-inst.cc: Missed a few bits.
2958         * testsuite/make_check_libfree++: Add static and shared runs.
2959         * src/ios.cc: Add clarity to ios_base::Init::~Init().
2961 1999-03-15  Benjamin Kosnik  <bkoz@cygnus.com>
2963         * bits/std_ostream.h: Format, expunge, simplify. Add cached
2964         facets. Resolve link errors.
2965         * bits/ostream.tcc: Same.
2966         * src/misc-inst.cc: Add ostream, wostream instantiations.
2967         * src/Makefile.am: Add missing bits for stdstreams.cc.
2968         * src/Makefile.in: Same.
2969         * bits/std_iosfwd.h: Format.
2970         * bits/locfacets.h (num_put): Add basic_ostream as a friend to
2971         num_put so that cached _M_fnumput pointer can be deleted in
2972         basic_ostream's dtor. Now everybody plays nice.
2974 1999-03-12  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2976         * bits/gslice.h (class gslice): Make friends valarray,
2977         gslice_array and _GliceExpression.
2979 1999-03-11  Benjamin Kosnik  <bkoz@cygnus.com>
2981         * RELEASE-NOTES: Update.
2982         * src/ios.cc: Use do proper init.
2983         * bits/std_streambuf.h: Tweak.
2984         * bits/std_iostream.h: Take out static member.
2985         * std/iostream: Put here.
2986         * bits/std_ostream.h: Non-default ctor shouldn't smash _M_streambuf.
2987         * bits/std_istream.h: Ditto.
2988         * bits/basic_ios.h: Format.
2989         * bits/ostream.tcc(write): Fix.
2990         * bits/fstream.tcc: Fix stdstreams ctor to do a proper
2991         initialization of the fstream class.
2992         * src/stdstreams.cc: I'm baaaaaaaack.
2994 1999-03-10  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
2996         * bits/ios_base.h: Correct comments. Add ios_base::init()
2997         functionality. Format, tweak, expunge, clean, bathe, and hang to dry.
2998         * src/misc-inst.cc: Add instantiations here.
2999         * src/ios.cc: Clean.
3000         * bits/std_iostream.h: Add wrappers, global ios_base::Init object.
3001         * src/stdstreams.cc: Delete this file, as now unnecessary.
3002         * bits/fstream.tcc: Add missing initialization bits for ctor.
3003         * src/Makefile.am (libstdc___la_SOURCES): Delete here as well.
3004         * src/Makefile.in (libstdc___la_OBJECTS): And here.
3006         * bits/streambuf.tcc: Tweak.
3007         * bits/sstream.tcc: Here too.
3009         * bits/fstream.tcc: And change definition as well.
3010         * bits/std_fstream.h: Change ctor.
3011         * src/basic_file.cc (sys_open): Add call that opens a specific fileno.
3012         * bits/basic_file.h: Add declarations.
3014         * testsuite/27/27hello.cc: New file.
3016         * bits/std_ostream.h: Move flush() inline.
3017         * bits/ostream.tcc: From here.
3019         * bits/char_traits.h: Add include of fpos.h for streamoff/streampos.
3020         * bits/std_ios.h: Change include libio to only when necessary.
3021         * bits/fpos.h: Like here.
3022         * ios_base.h: And here.
3024         * bits/locfacets.h: Change _Iostate to _Ios_Iostate.
3025         * bits/locfacets.tcc: Same.
3026         * bits/std_locale.h: Include std_ios.h not std_iosfwd.h.
3027         * bits/std_iosfwd.h: Move _Ios_Iostate to ios_base.h
3029 1999-03-09  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
3031         * bits/basic_ios.h: Change _M_ctype to _M_fctype.
3033         * bits/std_streambuf.h: Clean, tweak.
3034         * bits/std_fstream.h: Same.
3035         * bits/std_sstream.h: Same.
3036         * bits/streambuf.tcc: Move most member functions out-of-line.
3037         * bits/fstream.tcc: Same.
3038         * bits/streambuf.tcc: Same.
3040         * bits/basic_file.h(filepos_cur): Set correctly.
3041         (filepos_beg): Same.
3042         (seekpos): Change to __c_streampos.
3043         * src/basic_file.cc (std): Change to __c_streampos.
3045         * testsuite/27/27filebuf.cc: Round one is finished.
3046         * testsuite/27/27filebuf-2.tst: New file, final output should match.
3047         * testsuite/27/27filebuf-3.tst: Same.
3049 1999-03-08  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
3051         * bits/basic_file.h: Fix typo, add comments about what to expect
3052         from the various member functions in __basic_file.
3054         * bits/std_fstream.h: Re-do sync/underflow to work
3055         together. Change from sys_read to xsgetn and from sys_write to
3056         xsputn. As it should have been from the beginning. . .
3058 1999-03-06  Benjamin Kosnik  <bkoz@haight.constant.com>
3060         * bits/c++config.h (__GLIBCPP__): Add versioning macro.
3062         * bits/basic_file.h(file_beg): New function.
3063         (file_cur): Ditto.
3065         * testsuite/27/27filebuf.cc: Test in, out, in | out.
3066         * bits/std_fstream.h: More _M_mode refinements.
3067         (synch): Add bits for out mode only.
3068         * bits/std_streambuf.h(xsputn): Correct for filebufs.
3069         * bits/std_sstream.h: Ditto.
3071 1999-03-03  Benjamin Kosnik  <bkoz@cygnus.com>
3073         * bits/std_fstream.h: Fix _M_mode AND with ios_base::openmode.
3074         * testsuite/27/27filebuf.cc: Modify.
3075         * bits/c++config.h: Fix.
3077 1999-03-02  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
3079         * bits/c++config.h: New macro, _G_RESOLVE_LIB_DEFECTS, used to put
3080         code in place that diverges from the final standard, but has been
3081         brought up on the library mailing list.
3083         * bits/std_fstream.h(underflow): Position all three internal
3084         buffer pointers at the same initial position. Re-implement with
3085         basic_filebuf abstraction.
3086         (overflow): Ditto.
3087         (seekoff): Ditto.
3088         (seekpos): Ditto.
3089         * bits/std_sstream.h: Move _M_mode down into base class
3090         basic_streambuf.
3091         * bits/sstream.tcc: Ditto.
3092         * bits/std_streambuf.h: Ditto.
3094         * testsuite/27/27filebuf.cc: Tweak.
3096 1999-02-27  Benjamin Kosnik  <bkoz@slap-happy.cygnus.com>
3098         * bits/std_sstream.h: Ditto.
3099         * bits/std_fstream.h: Fix blip.
3101 1999-02-26  Benjamin Kosnik  <bkoz@happy.cygnus.com>
3103         * C++STYLE: Add cases.
3104         * bits/std_fstream.h: Format.
3105         * bits/std_streambuf.h: Ditto.
3106         * bits/std_sstream.h: Ditto.
3108         * src/basic_file.cc(sys_seek): Fix stack delirium, by keeping
3109         return type for _IO_file_seek and __basic_file::seek the same size.
3110         * bits/basic_file.h: Ditto.
3112 1999-02-26  Benjamin Kosnik  <bkoz@happy.cygnus.com>
3114         * bits/fstream.tcc: Add include guards.
3115         * src/misc-inst.cc: Add instantiations for shared libes.
3116         * src/locale-inst.cc: Add instantiaions for use_facet.
3117         * bits/loccore.h: Remove specialization foward decls for
3118         use_facet<ctype>: perhaps add the whole lot of them later on.
3119         * bits/std_fstream.h: Fix.
3120         * bits/locfacets.h: Ditto.
3121         * src/stdstreams.cc: Disable wide streams for now.
3123         * src/Makefile.am (CXXFLAGS): Change up.
3124         * src/Makefile.in (CXXFLAGS): Ditto.
3126 1999-02-25  Benjamin Kosnik  <bkoz@happy.cygnus.com>
3128         * src/basic_file.cc: Change to ios_base::seekdir from int.
3129         * bits/basic_file.h: Ditto.
3130         * bits/locfacets.h : Fix blip with new guard macros.
3132 1999-02-25  Benjamin Kosnik  <bkoz@cygnus.com>
3134         * stl/bits/stl_config.h (__STL_USE_STD_ALLOCATORS): Minor tweaking.
3135         * bits/c++config.h: Clean. Remove _G_NO_STREAMBUF_ITERATORS and
3136         _G_USE_NAMESPACE.
3137         * amm1/locale: Remove unused defines.
3138         * generic/locale: Ditto.
3139         * src/ios.cc: Ditto.
3140         * src/locale.cc: Ditto.
3141         * src/locale-inst.cc: Ditto.
3142         * src/localename.cc: Ditto.
3143         * src/stdstreams.cc: And here.
3145         * bits/c++config.h (_G_USE_WCHAR_T): Fix.
3146         * bits/loccore.h: Simplify, clean, add wchar_t guards.
3147         * bits/loccore.tcc: Ditto.
3148         * bits/locfacets.h: Ditto.
3149         * src/locale-inst.cc: Ditto.
3150         * bits/locfacets.tcc: Add do_put long long here.
3152 1999-02-24  Benjamin Kosnik  <bkoz@cygnus.com>
3154         * bits/std_streambuf.h: Add cached ctype facet, _M_ctype.
3155         * bits/basic_ios.h: Clean. Replace _M_strbuf with
3156         _M_streambuf. Use cached _M_cvt in basic_streambuf.
3157         * bits/std_istream.h: Replace _M_strbuf with _M_streambuf.
3158         * bits/std_fstream.h: Tweak.
3160         * bits/char_traits.h: Remove fpos definitions from here. . .
3161         * bits/fpos.h: New file, put them here. Eventually, this may allow
3162         the severing of char_traits and fpos dependencies.
3163         * src/Makefile.in: Add fpos.h.
3164         * src/Makefile.am: Ditto.
3165         * bits/std_string.h: Add fpos.h include here.
3166         * bits/std_ios.h: And here.
3168         * bits/std_streambuf.h: Change _M_init to _M_initialized.
3169         * bits/ios_base.h: Remove cstdio include.
3170         * bits/std_ios.h: ... Place here.
3172 1999-02-23  Benjamin Kosnik  <bkoz@loony.cygnus.com>
3174         * src/Makefile.in (CXXFLAGS): Re-add -fvtable-thunks.
3175         * src/Makefile.am (CXXFLAGS): Re-add -fvtable-thunks.
3177         * bits/basic_file.h: Comment, adjust arguments.
3178         * src/basic_file.cc: Ditto.
3180         * bits/std_fstream.h(seekoff): Error is of fpos type, not integral
3181         type: check and convert accordingly. Re-interpet "resultant stream
3182         position" to indicate external byte sequence location, not internal
3183         buffer info.
3185 1999-02-22  Benjamin Kosnik  <bkoz@loony.cygnus.com>
3187         * mkcshadow: And change copyright here.
3188         * src/Makefile.am (CXXFLAGS): Add -g -O2. Add new header
3189         dependencies for stl_pthread_alloc.h, pthread_allocimpl.h,
3190         stl_thread.h, and stl_iterator_base.h.
3191         * src/Makefile.in (CXXFLAGS): Ditto.
3192         * stl/backward/pthread_alloc.h: Remove.
3194 1999-02-19  Benjamin Kosnik  <bkoz@loony.cygnus.com>
3196         * bits/std_streambuf.h (sungetc): Use standard defs for putback
3197         position.
3198         * bits/std_fstream.h (pbackfail): Correct.
3199         (sungetc): Test.
3200         (seekoff): Implement.
3201         (seekpos): Re-do.
3202         * testsuite/27/27filebuf.cc: Add test cases.
3204 1999-02-18  Benjamin Kosnik  <bkoz@loony.cygnus.com>
3206         * bits/std_fstream.h: Go with basic_file's interfaces for dealing
3207         with the external buffers, and stop mucking around with setting
3208         and re-setting the external buf's pointers. Aka, clarity and
3209         simplicity rule the day.
3210         * src/locale.cc: Use memcpy in codecvt::do_in and codecvt::do_out.
3211         Remove partial result and support code.
3213 1999-02-18  Ulrich Drepper  <drepper@cygnus.com>
3215         * configure.in: Add hypot, hypotf, atan2f, expf, and copysignf to
3216         list of function which have to be replaced.
3217         Remove expf from list of functions to test for.
3218         Define USE_LONG_DOUBLE in case the libm has partial support for long
3219         doubles.
3220         * Makefile.in: Regenerated.
3221         * config.h.in: Likewise.
3222         * configure: Likewise.
3223         * libio/Makefile.am (LIBIO_SRCS): Add missing backslash.
3224         * libio/Makefile.in: Regenerated.
3225         * src/Makefile.in: Regenerated.
3226         * string/Makefile.in: Regenerated.
3227         * math/Makefile.am (EXTRA_DIST): Add hypot.c, hypotf.c, hypotl.c,
3228         atan2f.c, expf.c, and $(EXTRA_yes).
3229         (EXTRA_yes): Add signbitl.c mycabsl.c.
3230         (libmath_la_LIBADD): Add $(EXTRA_$(USE_LONG_DOUBLE)).
3231         (libmath_la_SOURCES): remove long double versions.
3232         * math/Makefile.in: Regnerated.
3233         * math/atan2f.c: New file.
3234         * math/copysignf.c: New file.
3235         * math/expf.c: New file.
3236         * math/hypot.c: New file.
3237         * math/hypotf.c: New file.
3238         * math/hypotl.c: New file.
3239         * math/cargf.c: Use correct function and macro names.
3240         * math/ccos.c: Likewise.
3241         * math/ccosh.c: Likewise.
3242         * math/ccoshf.c: Likewise.
3243         * math/ccoshl.c: Likewise.
3244         * math/cexp.c: Likewise.
3245         * math/cexpf.c: Likewise.
3246         * math/cexpl.c: Likewise.
3247         * math/clog.c: Likewise.
3248         * math/clog10.c: Likewise.
3249         * math/clog10f.c: Likewise.
3250         * math/clog10l.c: Likewise.
3251         * math/clogf.c: Likewise.
3252         * math/clogl.c: Likewise.
3253         * math/copysignf.c: Likewise.
3254         * math/csin.c: Likewise.
3255         * math/csinf.c: Likewise.
3256         * math/csinh.c: Likewise.
3257         * math/csinhf.c: Likewise.
3258         * math/csinhl.c: Likewise.
3259         * math/csinl.c: Likewise.
3260         * math/csqrt.c: Likewise.
3261         * math/csqrtf.c: Likewise.
3262         * math/csqrtl.c: Likewise.
3263         * math/ctan.c: Likewise.
3264         * math/ctanf.c: Likewise.
3265         * math/ctanh.c: Likewise.
3266         * math/ctanhf.c: Likewise.
3267         * math/ctanhl.c: Likewise.
3268         * math/ctanl.c: Likewise.
3270 1999-02-17  Benjamin Kosnik  <bkoz@cygnus.com>
3272         * testsuite/27/27filebuf.cc: Add cases.
3273         * testsuite/27/27filebuf-1.txt: Remove inadvertent garbage.
3274         * bits/std_streambuf.h: Simplify, always have one return statement.
3275         * bits/std_fstream.h: Tweak comments in underflow.
3277 1999-02-17  Ulrich Drepper  <drepper@cygnus.com>
3279         * ltmain.sh: Update from libtool 1.2d and fix Solaris problems.
3280         * ltconfig: Likewise.
3282 1999-02-16  Christophe Pierret  <cpierret@businessobjects.com>
3284         * src/locale.cc: Fix assert.
3286 1999-02-16  Benjamin Kosnik  <bkoz@cygnus.com>
3288         FIXME: Still need some kind of solution for undefined math symbols.
3289         * src/Makefile.in (locale-inst.lo): Compile with
3290         -fimplicit-templates to fix Solaris link problem.
3291         * src/Makefile.am: Ditto.
3292         * libio/Makefile.in: Add stdfiles.c so that _IO_list_all is defined.
3293         * libio/Makefile.am: Ditto.
3294         * src/locale.cc: Provide some kind of def for _S_tolower.
3295         * bits/locfacets.h: Fix declarations of ctype<wchar_t> to
3296         match ctype<char> for _S_tolower, _S_toupper, _S_table.
3298 1999-02-10  Benjamin Kosnik  <bkoz@cygnus.com>
3300         * bits/loccore.tcc: Move member-template ctor inline...
3301         * bits/loccore.h: ...here.
3302         * src/locale-inst.cc: Add instantiation here.
3304         * testsuite/27/27stringstream.cc: Tweak.
3306         * bits/ostream.tcc: Include sbuf_iter.h.
3308         * bits/ostream.tcc: Convert *this to ostreambuf_iterator before
3309         passing to num_put, as num_put's first argument is an interator,
3310         not basic_ostream.
3312         * testsuite/make_check_libfree++: New file, runs through the
3313         existing test files in the testsuite directory and makes sure
3314         they link.
3316 1999-02-10  Brendan Kehoe  <brendan@cygnus.com>
3318         * testsuite/21/21compare.cc: Fix typo.
3319         * src/locale.cc (ctype<wchar_t>::_S_{toupper,tolower,table}):
3320         Don't try to provide non-linux versions, since it's impossible to
3321         initialize their const references with the integer 0, no matter
3322         how we try to cast it.
3324 1999-02-10  Benjamin Kosnik  <bkoz@cygnus.com>
3326         * bits/std_locale.h: Move std_vector.h dependency.
3327         * bits/std_ios.h: ...from here.
3328         * bits/std_string.h: ...and here.
3329         * src/locale.cc: ..to here.
3330         * bits/loccore.h: Ditto, add vector forward declaration,
3331         make locale::_Impl data members pointers not containers.
3332         * bits/loccore.tcc: Move out-of-line for now.
3333         * bits/locfacets.h: Move vector dependency from here...
3334         * bits/locfacets.tcc: ...to here.
3335         * src/localename.cc: ..and here.
3336         * src/locale-inst.cc: Add include of locfacets.tcc here.
3338         * stl/bits/stl_string_fwd.h: Make __get_c_string non-static.
3339         * bits/basic_string.h: Can't use sizeof on an incomplete type.
3340         * bits/string.tcc: Tweak.
3341         * src/string.cc: And add __get_c_string def here.
3343         * bits/std_fstream.h: Yeah, comment the fill_n idea out as impractical.
3345         * src/stlinst.cc: Add include of stl_config.h.
3347 1999-02-09  Benjamin Kosnik  <bkoz@cygnus.com>
3349         * stl/bits/std_bitset.h: Update to SGI STL 3.12.
3350         * stl/bits/stl_config.h: Tweak, update.
3351         * stl/bits/std_stdexcept.h: Ditto, change stl_exception to
3352         std_exception.
3353         * stl/bits/std_memory.h: Reconstructed auto_ptr, Ditto.
3354         * stl/bits/std_functional.h: Ditto.
3356         * stl/bits/stl_string.h: New file, SGI's string
3357         implementation. For reference only, corresponding to string in
3358         3.12 source.
3359         * stl/bits/stl_char_traits.h: As above.
3361         * stl/bits/pthread_allocimpl.h: New file corresponding to
3362         pthread_alloc.
3363         * stl/bits/stl_pthread_alloc.h: New file corresponding to
3364         pthread_alloc.h
3365         * stl/bits/stl_threads.h: New file.
3367         Note that SGI STL 3.12's file iterator.h is not used.
3368         * stl/bits/std_iterator.h: Ditto.
3369         * stl/bits/stl_iterator.h: Drop in replace.
3370         * stl/bits/stl_iterator_base.h: New file, drop in replace.
3372         * stl/bits/stl_queue.h, stl_rope.h, stl_set.h, stl_stack.h,
3373         stl_string_fwd.h, stl_tempbuf.h, stl_tree.h, stl_vector.h,
3374         stl_pair.h, stl_multimap.h, stl_multiset.h, stl_list.h,
3375         stl_hashtable.h, stl_hash_set.h, stl_hash_map.h, stl_function.h,
3376         stl_deque.h, stl_alloc.h, stl_algo.h, stl_algobase.h, ropeimpl.h:
3377         Drop-in replace (ie, stop changing __SGI_STL_* to _CPP_BITS_* for
3378         preprocessor guards, but fixup include paths and names according
3379         to new directory layout).
3381 1999-02-05  Benjamin Kosnik  <bkoz@cygnus.com>
3383         * bits/std_fstream.h: Remove _M_open data member.
3384         * bits/fstream.tcc: Ditto.
3386         * src/locale.cc: Tweak.
3388         * bits/std_sstream.h: Simplify.
3390         * bits/std_streambuf.h: Simplify.
3391         (sputc): Use correct definition of "write area."
3393         * bits/std_fstream.h: Fix uflow.
3394         * src/basic_file.cc: Tweak.
3395         * testsuite/27/27filebuf.cc: Add tests.
3396         * testsuite/27/27filebuf-3.txt: Rename to *-2.txt.
3398 1999-02-02  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
3400         * bits/ios_base.h: Make protected.
3402 1999-02-01  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
3404         * bits/ios_base.h: Changes in the class ios_base:
3405         Rename _M_exceptions member to _M_exceptions_data.
3406         Make the member functions rdstate(), clear(), exceptions()
3407         and exceptions(iostate) protected and add the "_M_" prefix.
3408         * src/ios.cc: Ditto.
3409         * bits/basic_ios.h: Adapt the changes from ios_base.
3411 1999-01-29  Benjamin Kosnik  <bkoz@cygnus.com>
3413         * bits/std_fstream.h: Remove _M_flags, _M_equilibrate  as unnecessary.
3414         * bits/fstream.tcc: Ditto.
3416         * bits/std_fstream.h (underflow): Resize deallocates memory and
3417         resets pointers in the internal cache according to new _M_buf. . dooh!
3418         * src/locale.cc: Mas changes with codecvt::do_in, do_out.
3420 1999-01-29  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
3422         * stl/bits/std_memory.h:  Modify auto_ptr::reset to reflect the
3423         standard.
3425 1999-01-28  Benjamin Kosnik  <bkoz@cygnus.com>
3427         * src/locale.cc (codecvt::do_in): Finer-grained tuning to take
3428         into account partial returns.
3429         (codecvt::do_out): Likewise.
3431         * bits/char_traits.h: Change streamsize to be a signed type, as
3432         required by 27.4.1 Types p 2. (Changing to _IO_ssize_t.)
3433         * bits/std_streambuf.h: Make
3434         in_avail() and showmanyc() have streamsize as return types, so
3435         that showmanyc()'s return of eof won't underflow in_avail's return
3436         value and give a bogus result.
3437         * src/misc-inst.cc: And more changes. . .
3439         * bits/std_streambuf.h (basic_streambuf): Add _M_buf_unified to keep
3440         track of joint in/out pointers into the internal buffer.
3441         (sbumpc): Add check for _M_buf_unified.
3442         (sputbackc): Ditto.
3443         (sungetc): Ditto.
3445         * testsuite/27/27filebuf.cc: Add cases.
3446         * testsuite/27/27stringbuf.cc: Add showmanyc case.
3448         * bits/std_fstream.h (close): Fix logic error.
3449         (open): Initialize internal pointers based on _M_buf and _M_buf_size.
3450         (showmanyc): Add underflow component, to match the standard.
3452         * bits/fstream.tcc: Ditto.
3454 1999-01-27  Benjamin Kosnik  <bkoz@cygnus.com>
3456         * bits/basic_file.h: Match vtables w/ _IO_FILE_plus.
3457         * src/basic_file.cc: Ditto.
3458         * src/Makefile.in: Add -fvtable-thunks to CXXFLAGS: preferred
3459         format for dealing with _IO_file in libio.
3461 1999-01-27  Ulrich Drepper  <drepper@cygnus.com>
3463         * src/basic_file.cc: Include fcntl.h.
3465 1999-01-27  Benjamin Kosnik  <bkoz@cygnus.com>
3467         * libio/Makefile.in: Add fileops.lo, genops.lo to objects to debug
3468         libio calls.
3469         * bits/std_streambuf.h: Redefine read posion.
3471         * bits/std_fstream.h: Temporary hack to get vtables working again.
3472         * bits/basic_file.h: Revert.
3473         * src/basic_file.cc: Ditto.
3474         * testsuite/27/27filebuf.cc: Tweak.
3476 1999-01-26  Benjamin Kosnik  <bkoz@cygnus.com>
3478         * bits/basic_file.h: Add showmanyc, underflow. .
3479         * src/basic_file.cc: Ditto.
3481         * bits/std_fstream.h (showmanyc): Add bits to ping libio to see if more
3482         chars can be read.
3484         * testsuite/27/27filebuf.cc: Add testcases.
3485         * src/basic_file.cc: Add O_CREAT to open calls with
3486         ios_base::trunc as part of the open mode.
3488 1999-01-26  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
3490         * bits/basic_ios.h: fix basic_ios::exceptions(iostate)
3492 1999-01-25  Benjamin Kosnik  <bkoz@nabi.net>
3494         * src/ios.cc (clear): Correct typo.
3495         * bits/ios_base.h: Tweak spacing.
3497 1999-01-25  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
3499         * bits/basic_ios.h: fix basic_ios::fail()
3501 1999-01-25  Benjamin Kosnik  <bkoz@loony.cygnus.com>
3503         * bits/basic_file.h: Include libioP.h from libio instead of here.
3504         * bits/iolibio.h: Remove.
3505         * bits/libio.h: Remove.
3507 1999-01-22  Benjamin Kosnik  <bkoz@lunatic.cygnus.com>
3509         * bits/std_fstream.h: Tweak cvt-> in call for newer egcs compilers.
3511 1999-01-22  Ulrich Drepper  <drepper@cygnus.com>
3513         * Makefile.am (SUBDIRS): Add libio.
3514         * configure.in: Add rule to test for glibc2.
3516         * src/Makefile.am (INCLUDES): Add -I to libio subdir.
3517         (libstdc___la_LIBADD): Add libio.la.
3519 1999-01-21  Benjamin Kosnik  <bkoz@cygnus.com>
3521         * bits/basic_file.h: Make new abstraction for underlying C library
3522         FILE, named __basic_file.
3523         * src/basic_file.cc: New file.
3524         * bits/os_raw.h: Delete.
3525         * src/os_raw.cc: Delete.
3526         * src/Makefile.in: Tweak.
3527         * src/Makefile.am: Tweak.
3528         * bits/iolibio.h: Add this here, for the time being.
3529         * bits/libioP.h: Ditto.
3531         * bits/ios_base.h: Delete unused defines.
3532         * src/locale.cc (codecvt<char, char, mbstate_t>::do_in): Use
3533         strcpy to copy between the two buffers.
3535         * testsuite/27/27stringbuf.cc: Change license, fix in_avail tests.
3536         * testsuite/27/27filebuf.cc: New file.
3537         * testsuite/27/27filebuf-1.txt: Data file for above test.
3538         * testsuite/27/27filebuf-2.txt: Ditto.
3540         * bits/std_streambuf.h (uflow): Re-implement default.
3541         * bits/std_fstream.h: Set _M_buf_size based on cstdio's BUFSIZ.
3542         Re-implement virtual functions.
3543         * bits/fstream.tcc: Delete unused mf's.
3545 Copyright (C) 1999 Free Software Foundation, Inc.
3547 Copying and distribution of this file, with or without modification,
3548 are permitted in any medium without royalty provided the copyright
3549 notice and this notice are preserved.