OSDN Git Service

2012-07-26 François Dumont <fdumont@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog-1999
1 1999-12-26  Phil Edwards  <pme@sourceware.cygnus.com>
2
3         * docs/gentop/status:  Add snapshot version column, update
4           for Solaris 7.
5         * docs/status.html:  Regenerated.
6
7 1999-12-26  Phil Edwards  <pme@sourceware.cygnus.com>
8
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.
12
13 1999-12-23  Phil Edwards  <pme@sourceware.cygnus.com>
14
15         * docs/gentop/download:  Add links to prebuilds for Cygwin/Mingw32.
16         * docs/download.html:  Regenerated.
17
18 1999-12-22  Phil Edwards  <pme@sourceware.cygnus.com>
19
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.
30
31 1999-12-21  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
32
33         * bits/c++config.h.in (__GLIBCPP__): 19991221.
34         * docs/index.html: Add correct information.
35
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.
39
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.
43
44 1999-12-21  Philip Martin  <pm@corris.dircon.co.uk>
45
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.
50
51 1999-12-21  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
52
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.
60
61 1999-12-21  Phil Edwards  <pedwards@jaj.com>
62
63         * docs/gentop/index:  Hold off on .7 announcement date.
64         * docs/index.html:  Regenerate.
65
66 1999-12-21  Benjamin Kosnik  <bkoz@kcygnus.com>
67
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.
74
75 1999-12-21  Phil Edwards  <pedwards@jaj.com>
76
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.
86
87 1999-12-20  Benjamin Kosnik  <bkoz@cygnus.com>
88
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.
92
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.
102
103 1999-12-20  Benjamin Kosnik  <bkoz@cygnus.com>
104
105         * docs/17_intro/RELEASE-NOTES: Fix typos.
106
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.
117
118 1999-12-19  Benjamin Kosnik  <bkoz@cygnus.com>
119             Ulrich Drepper  <drepper@cygnus.com>
120
121         * acconfig.h: Remove _GLIBCPP_USE_CTYPE_ISBIT.
122
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.
127
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.
132
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.
138
139 1999-12-19  Benjamin Kosnik  <bkoz@cygnus.com>
140             Ulrich Drepper  <drepper@cygnus.com>
141
142         * bits/locale_facets.h: Hack in solaris support.
143         * src/locale.cc: Here too.
144
145 1999-12-18  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
146
147         * docs/17_intro/TODO: Update
148         * docs/17_intro/RELEASE-NOTES (New): Update.
149
150 1999-12-17  Benjamin Kosnik  <bkoz@milou.cygnus.com>
151
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.
155
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.
162
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.
174
175 1999-12-17  Phil Edwards  <pedwards@jaj.com>
176
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.
182
183 1999-12-17  Phil Edwards  <pedwards@jaj.com>
184
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.
188
189 1999-12-16  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
190
191         * bits/valarray_array.h (__valarray_sum): Use operator+=, not
192         operator+.
193         * docs/17_intro/TODO: Update.
194
195 1999-12-15  Phil Edwards  <pme@sourceware.cygnus.com>
196
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.
204
205 1999-12-15  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
206
207         * mknumeric_limits (OUT_C): restart only if $OUT_C is present.
208
209         * bits/std_complex.h
210         (complex<float>::complex(const complex<double>&),
211         complex<float>::complex(const complex<long double>&)): Define.
212
213         * docs/17_intro/TODO: Update.
214
215 1999-12-13  Benjamin Kosnik  <bkoz@cygnus.com>
216
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.
229
230 1999-12-13  Phil Edwards  <pedwards@jaj.com>
231
232         * docs/gentop/*:  New directory, containing bits for the homepages.
233         * docs/*.html:  Regenerated from gentop.
234         * docs/*/*.html:  Entries added and regenerated.
235
236 1999-12-13  Benjamin Kosnik  <bkoz@gnu.org>
237
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.
245
246         * docs/17_intro/TODO: Update.
247
248 1999-12-12  Benjamin Kosnik  <bkoz@gnu.org>
249
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.
258
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.
264
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.
271
272 1999-12-10  Benjamin Kosnik  <bkoz@cygnus.com>
273
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.
280
281         Frank Ch. Eigler  <fche@cygnus.com>
282         * src/Makefile.am: Adjust CXXFLAGS, add AM_CXXFLAGS.
283
284 1999-12-08  Benjamin Kosnik  <bkoz@cygnus.com>
285
286         * bits/sstream.tcc (stringbuf::seekoff): Long overdue revamp. Make
287         in and out buffers update independently.
288
289         * bits/basic_ios.h: Minor formatting.
290         * bits/fstream.tcc (std): Fix indentation.
291
292 1999-12-08  Chip Salzenberg  <chip@valinux.com>
293
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.
301
302 1999-12-08  Benjamin Kosnik  <bkoz@cygnus.com>
303
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.
307
308 1999-12-06  Benjamin Kosnik  <bkoz@gnu.org>
309
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.
318
319 1999-12-06  Scott Snyder  <snyder@fnal.gov>
320
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().
326
327 1999-12-06  Mumit Khan  <khan@xraylith.wisc.edu>
328
329         * bits/istream.tcc (basic_istream::ignore): streamsize is not
330         necessarily an `int'.
331
332 1999-12-06  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
333
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.
338
339 1999-12-05  Benjamin Kosnik  <bkoz@gnu.org>
340
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.
352
353 1999-12-04  Benjamin Kosnik  <bkoz@gnu.org>
354
355         * bits/std_sstream.h (streambuf::underflow): Check for mode == in.
356
357 1999-12-03  Benjamin Kosnik  <bkoz@gnu.org>
358
359         * bits/locale_facets.tcc (num_put::do_put(bool): Fix.
360
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.
368
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.
378
379 1999-12-02  Benjamin Kosnik  <bkoz@gnu.org>
380
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.
385
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.
389
390 1999-12-01  Phil Edwards  <pedwards@jaj.com>
391
392         * mkcheck:  Support for compilation/execution timing.
393         * testsuite/printnow.c: New file.
394
395 1999-12-01  Phil Edwards  <pedwards@jaj.com>
396
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.
401
402 1999-11-30  Benjamin Kosnik  <bkoz@gnu.org>
403
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.
415
416         * bits/ostream.tcc (ostream::operator<<(arith)): Set badbit, not
417         failbit on failure, as per 27.6.2.5.2.
418
419         * stl/bits/std_vector.h: Allow bool specializations. Should move
420         ext/std_bvector to bits, not ext, maybe.
421
422 1999-11-30  Mumit Khan  <khan@xraylith.wisc.edu>
423
424         * configure.in: Fix checks for mbstate_t and WCHAR_MIN/MAX.
425         * configure: Regenerate.
426
427 1999-11-29  Benjamin Kosnik  <bkoz@gnu.org>
428
429         * bits/istream.tcc (get(streambuf, char)): Fix.
430         * testsuite/27_io/istream_unformatted.cc (test03): Add tests.
431
432 1999-11-29  Scott Snyder  <snyder@fnal.gov>
433
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.
441
442 1999-11-29  Chip Salzenberg  <chip@valinux.com>
443
444         * Makefile.in: Tweaks for CXXFLAGS.
445         * */Makefile.in: Same.
446
447 1999-11-29  Mumit Khan  <khan@xraylith.wisc.edu>
448
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.
453
454 1999-11-29  Mumit Khan  <khan@xraylith.wisc.edu>
455
456         * acinclude.m4: Fix typo.
457         * src/complex.cc: Fix macro line continuation.
458
459 1999-11-29  Petter Urkedal  <petter@matfys.lth.se>
460
461         * src/Makefile.am (CXXFLAGS): Add -Wno-format to allow non-
462         string literals in format, as used in locale-facets.tcc.
463
464 1999-11-28  Benjamin Kosnik  <bkoz@gnu.org>
465
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.
469
470 1999-11-22  Mumit Khan  <khan@xraylith.wisc.edu>
471
472         * bits/locale_facets.tcc: Workaround for compiler crash on
473         ix86-*-mingw32.
474
475 1999-11-21  Mumit Khan  <khan@xraylith.wisc.edu>
476
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.
483
484 1999-11-19  Mumit Khan  <khan@xraylith.wisc.edu>
485
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.
502
503 1999-11-19 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
504
505         * bits/valarray_meta.h: Don't forget to define tanh
506
507 1999-11-18  Philip Martin  <pm@corris.dircon.co.uk>
508
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
513
514 1999-11-18  Kevin Ediger  <kediger@licor.com>
515
516         * src/locale.cc (locale::_Imp::_Imp): Use auto_ptr to make
517         constructors for locale::_Impl exception safe.
518
519 1999-11-18  Scott Snyder  <snyder@fnal.gov>
520
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<>.
524
525 1999-11-18  Benjamin Kosnik  <bkoz@gnu.org>
526
527         * bits/std_sstream.h (stringbuf::_M_really_sync): Add __iend as a
528         parameter.
529         * bits/sstream.tcc: Adjust here too.
530
531 1999-11-17  Benjamin Kosnik  <bkoz@gnu.org>
532
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.
546
547 1999-11-16  Benjamin Kosnik  <bkoz@gnu.org>
548
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.
553
554 1999-11-16  Kevin Ediger  <kediger@licor.com>
555
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.
561
562 1999-11-15  Scott Snyder  <snyder@fnal.gov>
563
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.
568
569 1999-11-15  Benjamin Kosnik  <bkoz@gnu.org>
570
571         * docs/17_intro/contribute.html: Add link to assignment form.
572         * docs/17_intro/libstdc++-assign.txt: New file.
573
574         * mkcheck (TESTS_FILE): Move a copy of test files as well as
575         output files.
576
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.
598
599 1999-11-11  Matthias Klose  <doko@cs.tu-berlin.de>
600
601         * stl_deque.h: Use static_casts<size_type>(signed_type).
602
603 1999-11-11  Benjamin Kosnik  <bkoz@gnu.org>
604
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.
610
611         * bits/streambuf.tcc (_S_copy_streambufs): Fix.
612         * testsuite/27_io/istream_extractor_other.cc: Tweak comments.
613
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.
625
626 1999-11-10  Benjamin Kosnik  <bkoz@cygnus.com>
627
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.
632
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.
637
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.
644
645 1999-11-10  Benjamin Kosnik  <bkoz@cygnus.com>
646             Matthias Klose  <doko@cs.tu-berlin.de>
647
648         * stl/ext/stl_rope.h: Fix initialization order.
649
650 1999-11-09  Scott Snyder  <snyder@fnal.gov>
651
652         * bits/std_fstream.h (basic_filebuf::sync): Unconditionally call
653         _M_file->sync() so that redirection works correctly.
654
655 1999-11-09  Benjamin Kosnik  <bkoz@gnu.org>
656
657         * bits/istream.tcc: Re-order.
658         * bits/std_istream.h: Fix getline problems.
659         * testsuite/27_io/istream_unformatted.cc: New tests.
660
661         Clean up regressions.
662         * bits/std_sstream.h: Set initial stringbufs correctly.
663
664 1999-11-09  Scott Snyder <snyder@fnal.gov>
665
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.
670
671 1999-11-09  Benjamin Kosnik  <bkoz@cygnus.com>
672
673         * src/Makefile.am (CXXFLAGS): Add -Winline.
674         * src/Makefile.in: Regenerate.
675
676 1999-11-05  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
677
678         * bits/valarray_meta.h (_DEFINE_EXPR_UNARY_FUNCTION): When
679         building meta-expressions don't forget to take the contained
680         closures.
681
682 1999-11-02  Benjamin Kosnik  <benjamin@cygnus.com>
683
684         * configure: Regenerate.
685
686 1999-11-02  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
687
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.
692
693 1999-11-01  Benjamin Kosnik  <bkoz@cygnus.com>
694
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.
702
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.
706
707         * configure.in: Bump version to 2.90.7.
708
709 1999-10-31  Benjamin Kosnik  <bkoz@cygnus.com>
710
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.
718
719 1999-10-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
720
721         * bits/valarray_array.h (__valarray_sum): New function.
722         * bits/valarray_array.h (__valarray_product): Same.
723
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.
727
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.
736
737 1999-10-25  Benjamin Kosnik  <bkoz@cygnus.com>
738
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.
746
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.
750
751 1999-10-22  Petter Urkedal  <petter@matfys.lth.se>
752
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.
756
757 1999-10-21  Benjamin Kosnik  <bkoz@cygnus.com>
758
759         * bits/ios_base.h: Change argument names.
760         * docs/17_intro/BADNAMES: Add __opr.
761
762 1999-10-20  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
763
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.
767
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.
773
774         * bits/streambuf.tcc (pbackfail, overflow): Move back inline.
775         * bits/std_streambuf.h: From here.
776
777 1999-10-19  Benjamin Kosnik  <bkoz@cygnus.com>
778
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.
785
786 1999-10-18  Benjamin Kosnik  <bkoz@cygnus.com>
787
788         * bits/istream.tcc (operator>>): Tweak.
789         * bits/std_istream.h: Fix according to library issues list 68.
790         Add typedefs.
791
792         * bits/locale_facets.h: Fix table_size to be non-zero.
793
794 1999-10-18  Vadim Egorov  <egorovv@HotPOP.com>
795
796         * src/basic_file.cc: ifdef instead of comment for binary mode
797
798 1999-10-18  Russell Davidson  <russell@qed.econ.queensu.ca>
799
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.
804
805 1999-10-17  Benjamin Kosnik  <bkoz@cygnus.com>
806
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.
811
812 1999-10-14  Benjamin Kosnik  <bkoz@cygnus.com>
813
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.
818
819 1999-10-12  Chris Prince <prince@wcug.wwu.edu>
820
821         * bits/std_cstdio.h: Remove Solaris hacks.
822
823 1999-10-12  Phil Edwards  <philip.edwards@sn.wpafb.af.mil>
824
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.
831
832 1999-10-12  Petter Urkedal  <petter@matfys.lth.se>
833
834         * bits/std_cmath.h (abs(float)): When ::absf is not present, call
835         ::fabs(double) rather than ::abs(int).
836
837 1999-10-11  Benjamin Kosnik  <bkoz@milou.cygnus.com>
838
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.
848
849 1999-10-08  Benjamin Kosnik  <bkoz@haight.constant.com>
850
851         * bits/std_cmath.h: Correctly cast int to double.
852         * testsuite/26_numerics/c_math.cc: Add test.
853
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.
860
861 1999-10-06  Benjamin Kosnik  <bkoz@milou.cygnus.com>
862
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.
867
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.
876
877         * bits/fpos.h: Default initialize.
878         * testsuite/27_io/fpos.cc (test03): Add test.
879
880 1999-10-04  Russell Davidson <russell@qed.econ.queensu.ca>
881
882         * src/basic_file.cc: Fix open modes.
883
884 1999-10-04  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
885
886         * bits/locale_facets.tcc (num_get<>::do_get): Fix typo.
887
888 1999-09-23  Benjamin Kosnik  <bkoz@milou.cygnus.com>
889
890         * bits/streambuf.tcc: Yea. Fix this for real.
891         * testsuite/27_io/ostream_inserter_other.cc: Add file.
892         * src/Makefile.*: Regenerate.
893
894 1999-09-22  Benjamin Kosnik  <bkoz@milou.cygnus.com>
895
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.
906
907 1999-09-21  Benjamin Kosnik  <bkoz@milou.cygnus.com>
908
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.
912
913 1999-09-21  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
914
915         * bits/valarray_array.h: Fix typo.
916
917         * mknumeric_limits: Make sure we are regenerating things from
918         scratch.  Otherwise things get redefined.  Not good.
919
920 1999-09-20  Benjamin Kosnik  <bkoz@milou.cygnus.com>
921
922         * bits/std_ostream.h: Fix typo.
923         * bits/std_istream.h: Same.
924         * bits/std_iomanip.h: Same.
925
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.
931
932         * src/Makefile.am (headers): Add new file.
933         * src/Makefile.in (headers): Regenerated.
934
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.
945
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.
950
951 1999-09-17  Benjamin Kosnik  <bkoz@milou.cygnus.com>
952
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.
957
958 1999-09-16  Benjamin Kosnik  <bkoz@milou.cygnus.com>
959
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.
966
967 1999-09-15  Vadim Egorov  <egorovv@1c.ru>
968
969         * bits/streambuf.tcc (basic_streambuf::xsputn): Add check for
970         zero count puts.
971         * testsuite/21_strings/inserters_extractors.cc (test01): Add test.
972
973 1999-09-08  Benjamin Kosnik  <bkoz@milou.cygnus.com>
974
975         * bits/c++config.h.in: Add emacs hints.
976
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.
983
984 1999-08-31  Benjamin Kosnik  <bkoz@milou.cygnus.com>
985
986         * testsuite/27_io/istream_extractor_arith.cc: Fix.
987         * src/localename.cc: Tweak formatting, fix assignment to
988         const compiler errors.
989
990 1999-08-25  Benjamin Kosnik  <bkoz@cygnus.com>
991
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.
998
999         * src/locale.cc: Change.
1000         * bits/locale_facets.h: Fix.
1001         * testsuite/22_locale/ctype.cc: Add temporary tests.
1002
1003 1999-08-24  Benjamin Kosnik  <bkoz@cygnus.com>
1004
1005         * bits/fpos.h: Test.
1006
1007         * docs/index.html: Add powerpc-linux-gnu results with gcc-2.95.1.
1008         Fix database name for "libstdc++".
1009
1010 1999-08-23  Benjamin Kosnik  <bkoz@cygnus.com>
1011
1012         * mknumeric_limits (numeric_limits): Add default definitions to
1013         member functions.
1014         * testsuite/18_support/numeric_limits.cc: New file.
1015
1016 1999-08-18  Benjamin Kosnik  <bkoz@cygnus.com>
1017
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.
1023
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.
1027
1028 1999-08-17  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1029
1030         * src/Makefile.am (CXXFLAGS): Add -O2.
1031         * src/Makefile.in: Likewise.
1032
1033         * src/gen-num-limits.cc: Conditionally allow wchar_t. See what
1034         this breaks. . .
1035         * mknumeric_limits (numeric_limits): Uglify.
1036
1037         * bits/std_istream.h: Fix warnings.
1038         * bits/locale_facets.tcc: Collateral damage from
1039         char_traits<char>::int_type change.
1040
1041         * testsuite/27_io/istream_extractor_char.cc: Terminate strings.
1042
1043 1999-08-17  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1044
1045         * docs/index.html: Add mailing list form.
1046         * docs/27_io/howto.html: Add link to iostreams_hierarchy.pdf.
1047
1048 1999-08-16  Benjamin Kosnik  <bkoz@cygnus.com>
1049
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.
1056
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.
1061
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.
1067
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.
1082
1083         * docs/index.html: Link Stroustrup's C++ page.
1084
1085 1999-08-12  Michael Cook  <cook@sightpath.com>
1086
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.
1093
1094 1999-08-12  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1095             Russell Davidson <russell@ehess.cnrs-mrs.fr>
1096
1097         * bits/locale_facets.tcc (_M_extract): Finish off patch from yesterday.
1098         * src/Makefile.am (myinstallheaders): Tweak, remove PHONY.
1099
1100 1999-08-11  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1101
1102         * testsuite/27_io/istream_unformatted.cc: New file.
1103
1104         * testsuite/27_io/istream_extractor_arith.cc (test02): Add more
1105         elaborate tests for int types with noskipws.
1106
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*).
1112
1113         * testsuite/23_containers/vector_ctor.cc (test01): Add.
1114
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.
1120
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.
1128
1129 1999-08-10  Michael Cook  <cook@sightpath.com>
1130
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.
1140
1141 1999-08-10  Kirat Singh  <singhki@jany.gs.com>
1142
1143         * bits/std_iomanip.h: Inline.
1144
1145 1999-08-10  Alfred Minarik <a8601248@unet.univie.ac.at>
1146
1147         * bits/std_streambuf.h: Correct member initialization order.
1148         * src/ios.cc: Add definitions for ios_base data members.
1149
1150 1999-08-06  Phil Edwards  <pedwards@ball.com>
1151
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.
1157
1158 1999-08-05  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1159             Andreas Amann <amann@physik.tu-berlin.de>
1160
1161         * testsuite/26_numerics/binary_closure.cc (main): new test.
1162
1163 1999-07-29  Andreas Amann <amann@physik.tu-berlin.de>
1164
1165         * bits/valarray_meta.h: (_BinClos<>::_Binclos): fix typo causing
1166         segmentation fault.
1167
1168 1999-08-04  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1169
1170         * docs/index.html (host): Put in testing status.
1171
1172 1999-08-03  Benjamin Kosnik  <bkoz@cygnus.com>
1173
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.
1179
1180 1999-08-03  Benjamin Kosnik  <bkoz@cygnus.com>
1181
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.
1189
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.
1194
1195         * src/complex.cc: More tweaks.
1196
1197 1999-08-03  Benjamin Kosnik  <bkoz@cygnus.com>
1198
1199         * src/complex.cc: Same.
1200         * math/complex-stub.h: Change.
1201         * math/c_log10*.c: Change back to clog10*.c.
1202
1203         * configure.in (NEED_C_LOG10): Delete.
1204         * configure: Regenerate.
1205         * math/Makefile.am: Change.
1206
1207 1999-07-30  Benjamin Kosnik  <bkoz@cygnus.com>
1208
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.
1216
1217         * math/complex-stub.h: Change to c_log* variants.
1218         * src/complex.cc: And here.
1219
1220 1999-07-29  Benjamin Kosnik  <bkoz@cygnus.com>
1221
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.
1227
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.
1232
1233 1999-07-29  Benjamin Kosnik <bkoz@cygnus.com>
1234
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.
1239
1240 1999-07-28  Benjamin Kosnik <bkoz@cygnus.com>
1241
1242         * bits/std_cctype.h: Fix for solaris2.6 builds.
1243
1244         * bits/istream.tcc: Fix, thanks Alfred.
1245         * bits/std_istream.h: Formatting changes.
1246
1247         * libio/Makefile.am (libio_la_SOURCES): Remove cleanup.c, so that
1248         _IO_cleanup will not be undefined.
1249         * libio/*: Regenerate.
1250
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.
1258
1259         * mkcheck (TESTS_FILE): Tweaks.
1260
1261 1999-07-27  Benjamin Kosnik  <bkoz@cygnus.com>
1262
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.
1267
1268         * aclocal.m4: Regenerate by running `aclocal -I m4.`
1269
1270         * bits/istream.tcc: Fix.
1271         * bits/std_istream.h: More changes to extractors.
1272
1273         * testsuite/27_io/istream_extractor_char.cc: More.
1274         * testsuite/21_strings/inserters_extractors.cc (test01): Fix logic
1275         error in testsuite construction.
1276
1277         * bits/std_istream.h: Partially revert.
1278         * bits/std_ostream.h: Same.
1279         * bits/std_sstream.h: Revert.
1280
1281 1999-07-26  Benjamin Kosnik  <bkoz@cygnus.com>
1282
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.
1287
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.
1291
1292 1999-07-26  Ulrich Drepper  <drepper@happy.cygnus.com>
1293             Benjamin Kosnik  <bkoz@cygnus.com>
1294
1295         * aclocal.m4, config.guess, config.sub, ltconfig ltmain.sh: Update
1296         to libtool 1.3.3.
1297
1298 1999-07-26 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1299
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.
1310
1311         * src/complex.cc: Tweak.  Remove dependency on complex::__value().
1312         (sin, sinh, tan, than): Fix call to corresponding C9x function
1313         syntax.
1314
1315 1999-07-24  Benjamin Kosnik  <bkoz@fidel.cygnus.com>
1316
1317         * bits/istream.tcc (ws): Fix error with failbit being set.
1318
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.
1328
1329         * src/gen-num-limits.cc: Fix spelling inconsistencies.
1330
1331 1999-07-24  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1332
1333         * docs/18_support/howto.html: Start documentation.  Need to keep
1334         track of the ongoing discussion in th LWG reflector.
1335
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.
1340
1341 1999-07-23  Benjamin Kosnik  <bkoz@fidel.cygnus.com>
1342
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.
1347
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.
1359
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.
1363
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.
1369
1370 1999-07-22  Benjamin Kosnik  <bkoz@fidel.cygnus.com>
1371
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.
1385
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.
1389
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. . .
1396
1397 1999-07-20  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1398
1399         * bits/basic_ios.h: Put into basic_ios namespace.
1400         Tweak widen/narrow.
1401
1402 1999-07-19  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1403
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.
1408
1409         * mkcheck: Tweak. Add execution time field, even though it is not
1410         implemented yet. Simplify pass/fail status notation.
1411
1412 1999-07-18  Mumit Khan  <khan@xraylith.wisc.edu>
1413
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.
1428
1429 1999-07-18  Phil Edwards  <pedwards@ball.com>
1430
1431         * docs/faq/index.html:  Updated __black_count notes, fixed typos.
1432         * docs/faq/index.txt:  Regenerated.
1433
1434 1999-07-15  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1435
1436         * testsuite/27_io/stringbuf.cc: Cccchanges, latent bugs.
1437
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.
1442
1443 1999-07-14  Benjamin Kosnik  <bkoz@cygnus.com>
1444
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.
1454
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.
1463
1464 1999-07-14  Alfred Minarik <a8601248@unet.univie.ac.at>
1465
1466         * testsuite/*: Changes to make the testsuit compilable with
1467         -fhonor-std. Contains direct qualification of library names with
1468         std::.
1469
1470 1999-07-13  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1471
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.
1480
1481         * bits/basic_string.h: Fix typo from yesterday's patch.
1482
1483 1999-07-12  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
1484
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+.
1489
1490 1999-07-12  Phil Edwards  <pedwards@ball.com>
1491
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.
1499
1500 1999-07-12  Nathan Myers <ncm@cantrip.org>
1501
1502         * stl/bits/stl_tree.h (__black_count): Optimize.
1503
1504 1999-07-09  Vadim Egorov  <egorovv@1c.ru>
1505
1506         * src/basic_file.cc: Cleanup in __basic_file destructor.
1507
1508 1999-07-08  Benjamin Kosnik  <bkoz@cygnus.com>
1509
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.
1518
1519         * docs/27_io/iostreams_hierarchy.pdf: New file.
1520
1521         * docs/17_intro/CHECKLIST (basic_string<char>): Validation and
1522         acceptance. Wooo-hoo!
1523
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.
1527
1528         * bits/string.tcc (string::compare): Clean up, re-implement.
1529         * testsuite/21_strings/compare.cc: Tweak.
1530
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.
1537
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.
1542
1543 1999-07-07  Benjamin Kosnik  <bkoz@cygnus.com>
1544
1545         * bits/char_traits.h: Tweaks.
1546         * bits/basic_string.h: Tweak.
1547         * bits/fstream.tcc: Remove warning for _M_buf_size assignment.
1548
1549 1999-07-06  Benjamin Kosnik  <bkoz@cygnus.com>
1550
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.
1560
1561         * bits/ostream.tcc: Tweak.
1562         * bits/locale_facets.tcc: Fix typo in comments.
1563
1564         * testsuite/21_strings/inserters_extractors.cc (test01): Change
1565         state from good to not good, as eof() is set.
1566
1567 1999-07-05  Benjamin Kosnik  <bkoz@cygnus.com>
1568
1569         * bits/char_traits.h (char_traits::compare). Fix.
1570
1571         * config.guess, config.sub: Update.
1572
1573 1999-07-02  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
1574
1575         * bits/string.tcc: Check the __res_arg for a length error.
1576
1577 1999-07-01  Benjamin Kosnik  <bkoz@nabi.net>
1578
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.
1588
1589         * src/string-inst.cc: Add instantiations for inserters and
1590         extractors (operators << and >>, getline).
1591
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. . .
1595
1596         * bits/string.tcc: Change _S_max_size, as GNU malloc won't budge.
1597         * bits/std_sstream.h: Revert.
1598
1599         * testsuite/17_intro: header_[iosfwd, ios, iostream, iomanip,
1600         istream, ostream, streambuf, fstream, sstream].cc: New files.
1601
1602 1999-06-30  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
1603
1604         * bits/std_sstream.h (stringbuf::sync): Don't use string::begin()
1605         and string::end().
1606
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.
1611
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.
1617
1618 1999-06-30  Benjamin Kosnik  <bkoz@happy.cygnus.com>
1619
1620         * bits/basic_string.h: Fix _S_max_size.
1621         * bits/string.tcc: Add def here.
1622         * testsuite/21_strings/insert.cc: Fix.
1623
1624         * bits/sbuf_iter.h: Remove detritus.
1625         * testsuite/24_iterators/istreambuf_iterator.cc: Add tests.
1626
1627         * src/locale-inst.cc: Elaborate iterator/locale instantiations
1628         to resolve alpha-osf4 build problems.
1629
1630 1999-06-29  Benjamin Kosnik  <bkoz@happy.cygnus.com>
1631
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.
1635
1636 1999-06-29  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
1637
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.
1641
1642 1999-06-29  Benjamin Kosnik  <bkoz@happy.cygnus.com>
1643
1644         * testsuite/21_strings/capacity.cc (test01): Fix.
1645
1646 1999-06-29  Phil Edwards  <pedwards@ball.com>
1647
1648         * mknumeric_limits:  Exit script if gen-num-limits isn't built.
1649
1650 1999-06-29  Andreas Gruenbacher  <agruenba@pent224.infosys.tuwien.ac.at>
1651
1652         * stl/bits/stl_vector.h: Fix.
1653         * testsuite/23_containers/vector_cons.cc: Add.
1654
1655 1999-06-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1656
1657         * mknumeric_limits (LDFLAGS): fix.
1658
1659 1999-06-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1660
1661         * mknumeric_limits (LDFLAGS): set it according to the system.
1662
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.
1666
1667 1999-06-28  Benjamin Kosnik  <bkoz@haight.constant.com>
1668
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.
1673
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.
1678
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).
1682
1683         * src/Makefile.am (headers): Add std_utility to installed headers.
1684
1685 1999-06-25  John Potter  <jpotter@eagle.lhup.edu>
1686
1687         * stl/bits/stl_tree.h (insert_unique): Revert, just fix insert_equal.
1688
1689 1999-06-25  Gilles Zunino  <Gilles.Zunino@hei.fr>
1690
1691         * mknumeric_limits (LDFLAGS): Swap -lc and -lgcc.
1692
1693 1999-06-24  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1694
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.
1699
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.
1705
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.
1709
1710         * bits/basic_string.h: Tweak.
1711         * testsuite/21_strings/nonmember.cc: Add operator+ tests.
1712
1713         * src/valarray.cc: Rename to. . .
1714         * src/valarray-inst.cc: This.
1715         * src/Makefile.am (sources): Change here.
1716         * src/Makefile.in: Regenerated.
1717
1718 1999-06-24  Vadim Egorov  <egorovv@1c.ru>
1719
1720         * bits/string.tcc(basic_string<>::_Rep::_S_create): Fixed
1721         allocated size
1722
1723 1999-06-24  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1724             Tom Tromey  <tromey@cygnus.com>
1725
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.
1730
1731 1999-06-24  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1732             John Potter  <jpotter@eagle.lhup.edu>
1733
1734         * stl/bits/stl_tree.h (insert_equal): Fix.
1735         * testsuite/23_containers/multiset.cc: New file.
1736
1737 1999-06-23  Benjamin Kosnik  <bkoz@cygnus.com>
1738
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.
1744
1745         * bits/std_cwctype.h: Add missing 'w' to _S_iswpunct_helper name.
1746
1747         * testsuite/ext: New directory.
1748         * testsuite/ext/headers.cc: New file.
1749
1750 1999-06-23  Vadim Egorov  <egorovv@1c.ru>
1751
1752         * stl/ext/hash_set: include missing headers
1753         * stl/ext/hash_map: Same
1754         * stl/ext/slist: Same
1755
1756 1999-06-17  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1757
1758         * bits/std_cmath.h: comment out modf. Kills build on hpux10.20
1759
1760 1999-06-15  Benjamin Kosnik  <bkoz@cygnus.com>
1761
1762         * src/Makefile.am (sources): Regenerate.
1763         * mkcheck: Add TESTS_FILE as a way of controlling what testcases
1764         are run.
1765
1766 1999-06-14  Benjamin Kosnik  <bkoz@cygnus.com>
1767
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.
1772
1773 1999-06-12  Benjamin Kosnik  <bkoz@cygnus.com>
1774
1775         * mkcheck (LOG_FILE): Correctly append errors.
1776
1777         * stl/bits/stl_iterator.h: Revert previous, delirious, change.
1778
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.
1785
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.
1790
1791 1999-06-11  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1792
1793         * bits/valarray_array.h: __restrict__ify pointers.
1794
1795         * bits/std_valarray.h: Tweak.
1796         (valarray<T>::cshift, valarray<T>::shift): use __builtin_alloca.
1797
1798         * bits/gslice_array.h: Tweak. Reflect changes in bits/gslice.h
1799
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.
1806
1807         * src/valarray.cc: New file.
1808         (__gslice_to_index): turn a gslice into a valarray<size_t>
1809         (ctor gslice::_Indexer::_Indexer): implement.
1810
1811         * src/Makefile.am (sources): add valarray.cc
1812         * src/Makefile.in: regenerate.
1813
1814 1999-06-08  Benjamin Kosnik  <bkoz@cygnus.com>
1815
1816         * stl/bits/stl_iterator.h (__normal_iterator::const_iterator
1817         ctor): Put in a const_cast.
1818
1819         * testsuite/21_strings/invariants.cc: New file.
1820
1821         * testsuite/21_strings/insert.cc: Add exception handling bits.
1822         * testsuite/21_strings/ctor_copy_dtor.cc: Same.
1823
1824         * src/wstring-inst.cc: Add c++config.h include.
1825
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.
1834
1835         * testsuite/21_strings/element_access.cc: Add tests.
1836
1837 1999-06-08  Vadim Egorov  <egorovv@1c.ru>
1838
1839          * bits/fstream.tcc (_M_really_overflow): Fixed size of
1840          conversion buffer.
1841
1842 1999-06-08  Phil Edwards  <pedwards@ball.com>
1843
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.
1848
1849 1999-06-08  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1850
1851         * testsuite/23_containers/bitset_ctor.cc: New file.
1852         * stl/bits/std_bitset.h (__BITSET_WORDS): Fix integration bug.
1853
1854 1999-06-08  Phil Edwards  <pedwards@ball.com>
1855
1856         * bits/fstream.tcc (basic_filebuf::underflow):  Fix, rename local vars.
1857
1858 1999-06-07  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1859
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.
1866
1867 1999-06-07  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1868
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.
1873
1874         * bits/basic_string.h: Fix _S_max_size.
1875
1876 1999-06-06  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1877
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.
1884
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.
1889
1890         * src/locale.cc: Final separation for char/wchar_t bits.
1891
1892 1999-06-05  Phil Edwards  <pedwards@ball.com>
1893
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.
1897
1898         * bits/std_fstream.h: Tweak.
1899
1900 1999-06-05  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1901
1902         * src/ios.cc: Same here.
1903         * bits/std_iosfwd.h: More wchar_t defines.
1904
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.
1908
1909         * src/gen-c++config.cc: Fix comment.
1910
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>.
1918
1919         * bits/utility.h: Remove, again.
1920         * src/Makefile.am (std_headers): Remove utility.h.
1921         * src/Makefile.in (std_headers): Regenerate.
1922
1923         Alfred Minarik <a8601248@unet.univie.ac.at>
1924         * bits/basic_string.h: Move __out_of_range and __length_error into
1925         namespace std.
1926
1927 1999-06-05  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1928
1929         * testsuite/26_numerics/modf_float.cc: New file.
1930
1931         * bits/std_cmath.h (modf(float, float*)): Fix signature. Correct
1932         typo: use ::modff, not ::modf.
1933
1934 1999-06-03  Vadim Egorov  <egorovv@1c.ru>
1935
1936         * bits/string.tcc (basic_string::_M_mutate): Fixed memory
1937         allocation error
1938         * testsuite/21_strings/capacity.cc (test01): Test.
1939
1940 1999-06-03  Phil Edwards  <pedwards@ball.com>
1941
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).
1945
1946 1999-06-03  Benjamin Kosnik <bkoz@pacifica.cygnus.com>
1947
1948         * src/wstring-inst.cc: Fix.
1949
1950 1999-06-02  Benjamin Kosnik <bkoz@madcow.cygnus.com>
1951
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.
1957
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.
1963
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.
1968
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.)
1974
1975         * mknumeric_limits (LDFLAGS): Remove '-nodefaultlibs -lc', as
1976         -nodefaultlibs prevents linking under HPUX 10.20 as __main is not
1977         defined.
1978
1979         * docs/index.html: Add some useful links.
1980         * docs/17_intro/contribute.html: Fix broken links.
1981
1982 1999-06-02  Benjamin Kosnik <bkoz@rhino.cygnus.com>
1983
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.
1987
1988         * src/Makefile.am ($(generated_headers)): Remove comment.
1989         * Makefile*: Regenerate.
1990
1991         * bits/std_locale.h: Remove detritus.
1992         * bits/localefwd.h: Add <cctype> include to undefine the isspace
1993         macro.
1994
1995 1999-06-01  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
1996
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.
2005
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.
2009
2010         * bits/locale_facets.tcc (std): Change _G_USE_STRTO* to HAVE_STRTO*.
2011
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.
2015
2016         * src/Makefile.*: Regenerate.
2017         * bits/c++config.h: Add config.h include.
2018
2019         * bits/std_cwchar.h: Remove remaining #error guard.
2020
2021         * acconfig.h: Add bits for HAVE_LC_MESSAGES.
2022
2023         * configure.in (LIBS): Replace previous effort for mbstate_t and
2024         strtold/strtof with this implementation.
2025
2026 1999 06-01  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2027
2028         * bits/std_cmath.h: Tweak. Add more functions. Use __builtin_xxx
2029         whenever possible.
2030
2031 1999-05-28  Benjamin Kosnik  <bkoz@cygnus.com>
2032
2033         * bits/locale_facets.tcc (std): Eek: this left in. Autoconf bits
2034         for determining mbstate_t differences across various hosts not
2035         finished.
2036
2037 1999-05-26  Benjamin Kosnik  <bkoz@nabi.net>
2038
2039         * bits/locale_facets.tcc: Change to ifdef.
2040
2041         * bits/std_sstream.h (stringbuf::setbuf): Remove dynamic_cast.
2042         * bits/std_fstream.h (filebuf::setbuf): Same.
2043
2044         * bits/std_istream.h: Add ws declaration.
2045         * bits/istream.tcc: Stub out definition.
2046
2047         * docs/index.html: Fix broken link for design.txt.
2048
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.
2054
2055 1999-05-25  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
2056
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>*.
2064
2065 1999-05-25  Phil Edwards  <pedwards@ball.com>
2066
2067         * bits/std_streambuf.h (streambuf::setbuf): Always return streambuf*.
2068
2069 1999-04-25  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2070
2071         * bits/std_cmath.h: Tweak. Add float versions of the math functions
2072         in <math.h>.  <cmath> still incomplete and incorrekt.
2073
2074 1999-05-24  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2075
2076         * mknumeric_limits (LDFLAGS): set appropriate link flags.
2077
2078 1999-05-23  Phil Edwards  <pedwards@ball.com>
2079
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.
2088
2089 1999-05-21   Benjamin Kosnik  <bkoz@tintin.cygnus.com>
2090
2091         * bits/basic_string.h: Add Nathan's documentation on the string class.
2092
2093         * testsuite/27_io/ios_members_static.cc: New file, for testing
2094         ios_base::sync_with_stdio.
2095
2096 1999-05-21   Benjamin Kosnik  <bkoz@tintin.cygnus.com>
2097
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.
2109
2110         * src/locale-inst.cc: And here.
2111         * src/locale.cc: Ditto.
2112         * src/Makefile.am: Updated.
2113         * src/Makefile.in: Rengenerated.
2114
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.
2119
2120         * bits/sbuf_iter.h: Include std_streambuf.h
2121
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.
2125
2126         * bits/ios_base.h (ios_base::sync_with_stdio): Stub in.
2127
2128         * bits/char_traits.h: Tweak.
2129
2130         * bits/ios_base.h: Remove INT_MAX, use 1<<16.
2131
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.
2137
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.
2141
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.
2149
2150         * bits/fpos.h: Remove libio.h include.
2151         * bits/basic_file.h: And here.
2152         * bits/std_ios.h: Put here.
2153
2154         * src/ios.cc: Simplify includes, tweak.
2155         * bits/std_ios.h: Simplify include order.
2156         * bits/ios_base.h: Modify ios_base::failure.
2157
2158         * stl/bits/std_numeric.h: Change include from stl_iterator to
2159         std_iterator.
2160
2161 1999-05-19  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
2162
2163         * std/iostream: Remove static member __ioint.
2164         * bits/std_iostream.h: Put here.
2165
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.
2170
2171 1999-05-19  Phil Edwards  <pedwards@ball.com>
2172
2173         * docs/index.html: Tweak, update.
2174
2175 1999-05-18  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2176
2177         * docs/17_intro/RELEASE-NOTES: remove outdated
2178         documentation about numeric_limits. Correct CXXINCLUDE setting
2179         documentation.
2180
2181 1999-05-18  Phil Edwards  <pedwards@ball.com>
2182
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.
2188
2189 1999-05-18  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
2190
2191         * bits/c++config.h (__GLIBCPP__): Set version to 19990518.
2192
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.
2196
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.
2202
2203         * mkcheck (LOG_FILE): Fix filebuf directory oddness.
2204         * testsuite/27_io/filebuf.cc: Same.
2205
2206 1999-05-18  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2207
2208         * docs/17_intro/CHECKLIST: update.
2209         * docs/17_intro/TODO: update.
2210
2211 1999-05-17  Phil Edwards  <pedwards@ball.com>
2212
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.
2218
2219 1999-05-17  Benjamin Kosnik  <bkoz@unhappy.cygnus.com>
2220
2221         * src/Makefile.am (myinstallheaders): Missed removing missing.h.
2222         * Makefile.in*: Regenerate.
2223
2224 1999-05-17  Benjamin Kosnik  <bkoz@happy.cygnus.com>
2225
2226         * bits/std_streambuf.h: Same.
2227
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.
2232
2233         * testsuite/27_io/filebuf.cc: Adjust.
2234         * testsuite/21_strings/capacity.cc (test01): Add more
2235         string::reserve tests.
2236
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.
2241
2242         * bits/missing.h: Remove.
2243         * bits/std_locale.h: Remove missing.h include.
2244
2245         * stl/bits/std_bitset.h (bitset::bitset(string): Tweak to compile.
2246
2247         * src/Makefile.am (headers): Add bits/std_cwctype.h.
2248         INCLUDES: Add top_builddir.
2249         * src/Makefile.in: Regenerate.
2250
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.
2256
2257 1999-05-17  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2258
2259         * src/Makefile.in (myinstallheaders): add rule to install
2260         std_limits.h.
2261
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.
2265
2266         * Makefile.in (generate-limits-sources): fix typo.
2267
2268         * docs/text/TODO: update.
2269         * docs/text/CHECKLIST: update.
2270
2271         * bits/gslice.h (gslice): fix bugglet.
2272         (gslice::gslice): set _M_index_size to 0 whenever given lengths
2273         (lj) of size zero.
2274
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.  ]
2279
2280 1999-05-16 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2281
2282         * mknumeric_limits: tweak.
2283
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.
2289
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
2295
2296 1999-05-12  Phil Edwards  <pedwards@ball.com>
2297
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.
2302
2303 1999-05-12  Benjamin Kosnik  <bkoz@happy.cygnus.com>
2304
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.
2308
2309         * testsuite/27_io/filebuf.cc: Need to tweak directory structure.
2310
2311 1999-05-11  Benjamin Kosnik  <bkoz@loony.cygnus.com>
2312
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.
2317
2318         * bits/basic_string.h: Change.
2319
2320         * testsuite/make_check_libfree++: More tweaks.
2321         * testsuite/21/capacity.cc: New file.
2322
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.
2330
2331         * src/traits.cc: Remove.
2332         * src/wtraits.cc: Same.
2333
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.
2348
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.
2353
2354 1999-05-10  Benjamin Kosnik  <bkoz@loony.cygnus.com>
2355
2356         * src/string.cc: Add _S_copy_chars instantiation, as well as
2357         string::binary operators !=, ==, etc.
2358
2359         * src/Makefile.am (CXXFLAGS): Remove -fvtable-thunks.
2360         * src/Makefile.in (CXXFLAGS): Same here.
2361         * testsuite/make_check_libfree++ (CXX_FLAG): And here.
2362
2363 1999-05-07  Benjamin Kosnik  <bkoz@cygnus.com>
2364
2365         * src/string.cc:  Add missing member functions to instantiation list.
2366
2367 1999-05-07  Benjamin Kosnik  <bkoz@cygnus.com>
2368
2369         * src/misc-inst.cc: Remove unused string instantiations.
2370
2371         * bits/string.tcc: Tweak, fix.
2372         * bits/basic_string.h: Format. Fix reported error with c_str().
2373
2374         * testsuite/make_check_libfree++: Tweak for shared builds.
2375         * testsuite/21/operations.cc: New file for testing c_str() etc.
2376
2377 1999-05-06  Benjamin Kosnik  <bkoz@cygnus.com>
2378             Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
2379
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.
2384
2385 1999-05-06 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2386
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
2397
2398 1999-05-05  Benjamin Kosnik  <bkoz@cygnus.com>
2399
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.
2404
2405 1999-05-05  Benjamin Kosnik  <bkoz@cygnus.com>
2406             Ulrich Drepper <drepper@cygnus.com>
2407
2408         Solaris build issues.
2409         * bits/c++config.h: Define new macros, _G_USE_STRTOF and
2410         _G_USE_STRTOLD.
2411
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.
2415
2416 1999-05-04  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
2417
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.
2421
2422 1999-05-04  Benjamin Kosnik  <bkoz@cygnus.com>
2423
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.
2434
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.
2438
2439         * testsuite/make_check_libfree++ (LIB_PATH): Test installed
2440         headers, not source directory headers.
2441
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.
2445
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.
2454
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
2465
2466         * stl/bits/*: Update to SGI STL 3.20.
2467         * stl/ext/pthread_alloc: Delete this file.
2468
2469 1999-05-04 Phil Edwards <pedwards@ball.com>
2470
2471         * docs/faq/html/index.html: Add more entries
2472         * docs/faq/html/index.txt: regenerated.
2473
2474 1999-05-04 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2475
2476         * src/gen-num-limits.cc (DO_DEFINE_MIN_MAX): fix typo.
2477
2478 1999-04-29  Benjamin Kosnik  <bkoz@haight.cygnus.com>
2479
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.
2486
2487         * doc: Remove.
2488
2489 1999-04-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2490
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.
2498
2499 1999-04-28  Benjamin Kosnik  <bkoz@happy.cygnus.com>
2500             Ryszard Kabatek and Branko Cibej
2501
2502         * bits/locfacets.tcc: Modify.
2503
2504 1999-04-27  Benjamin Kosnik  <bkoz@happy.cygnus.com>
2505
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.
2510
2511         * testsuite/27/istringstream_formatted.cc: Add tests.
2512
2513         * bits/locfacets.h: Remove cruft from _Format_cache, continue
2514         commenting, simplify.
2515         * bits/locfacets.tcc: Same.
2516
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.
2524
2525 1999-04-26  Benjamin Kosnik  <bkoz@happy.cygnus.com>
2526
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.
2532
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.
2536
2537 1999-04-25  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2538
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.
2546
2547 1999-04-23  Benjamin Kosnik  <bkoz@cygnus.com>
2548
2549         * testsuite/27filebuf-2.txt: Delete.
2550         * testsuite/27/filebuf.cc: Put output files directly into the
2551         correct subdirectory (27).
2552
2553         Alexandre Petit-Bianco <apbianco@cygnus.com>
2554         * testsuite/make_check_libfree++: Check generated (*.txt) file
2555         against stored results file (*.tst).
2556
2557 1999-04-22  Benjamin Kosnik  <bkoz@nabi.net>
2558
2559         * bits/locfacets.tcc: Fix.
2560
2561         * bits/fstream.tcc (filebuf::seekoff): Output current out pointer.
2562         (filebuf::overflow): Simplify.
2563         (filebuf::xsputn): Correctly handle indeterminate state.
2564
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.
2571
2572 1999-04-21  Benjamin Kosnik  <bkoz@cygnus.com>
2573
2574         * bits/fstream.tcc (filebuf::xsputn): Add.
2575         * bits/std_fstream.h: Declare.
2576
2577         * src/basic_file.cc (__basic_file::open): Add O_CREAT to open
2578         calls using ios_base::trunc.
2579
2580         * bits/sstream.tcc (streambuf::overflow): Fix crasher.
2581
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.
2586
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.
2591
2592         * testsuite/*/*: Remove pre-pended chapter names, as they
2593         duplicate the chapter info contained in the enclosing directory
2594         anyway.
2595
2596 1999-04-20  Benjamin Kosnik  <bkoz@cygnus.com>
2597
2598         * bits/streambuf.tcc (streambuf::xsputn): Re-implement to conform
2599         to sputc conditions.
2600
2601         * bits/ios_base.h: Define here.
2602         * src/ios.cc (ios_base::_M_clear): Remove hack.
2603         * bits/basic_ios.h: Fix rdstate().
2604
2605         * bits/sstream.tcc (streambuf::seekoff): Fix.
2606         * bits/fstream.tcc (filebuf::seekoff): Tweak comments.
2607
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.
2614
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.
2620
2621 1999-04-19  Benjamin Kosnik  <bkoz@cygnus.com>
2622
2623         * bits/loccore.h: Format, move inline.
2624         * bits/locfacets.tcc: Same.
2625         * bits/locfacets.h: Same.
2626
2627         Ulrich Drepper  <drepper@cygnus.com>
2628         * aclocal.m4: Re-generate.
2629         * configure, configure.in: Same.
2630         * m4/lc_messages.m4: New file.
2631
2632 1999-04-18  Benjamin Kosnik  <bkoz@cygnus.com>
2633
2634         * bits/std_ostream.h: Fix typedef for wchar_t instantiations.
2635         * bits/sstream.tcc: Tweak.
2636
2637         * std/iostream: Put __ioinit inside macro guards.
2638
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.
2644
2645         * testsuite/make_check_libfree++: Efficiently format for minimal
2646         space. Enforce stricter execution tests by enabling
2647         -DDEBUG_ASSERT.
2648
2649 1999-04-16  Benjamin Kosnik  <bkoz@cygnus.com>
2650
2651         * docs/text/RELEASE-NOTES: Fix include typo.
2652
2653         * src/Makefile.am (headers): Add istream.tcc.
2654         * src/Makefile.in (headers): Add istream.tcc.
2655
2656         * ltconfig, ltmain.sh, libtool: Update to libtool-1.2g.
2657
2658 1999-04-16  Benjamin Kosnik  <bkoz@cygnus.com>
2659
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.
2663
2664         * bits/sbuf_iter.h (istreambuf_iterator::operator++()): Fix.
2665         * testsuite/27/27istringstream_formatted.cc: Add.
2666
2667 1999-04-16  Martin v. Löwis  <martin@mira.isdn.cs.tu-berlin.de>
2668
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::.
2678
2679 1999-04-15   Benjamin Kosnik  <bkoz@cygnus.com>
2680
2681         * C++STYLE: Add ChangeLog guidelines for member functions.
2682
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.
2687
2688         * bits/fstream.tcc: Change non-standard ctor to match Sun's sematics.
2689         * bits/std_fstream.h: Same.
2690         * src/ios.cc: Same.
2691
2692         * bits/locfacets.h: Touch.
2693
2694 1999-04-15  Ulrich Drepper  <drepper@cygnus.com>
2695
2696         * math/cexp.c (cexp): Use NAN instead of nan("").
2697         Reported by joel reed <joelreed@yahoo.com>.
2698
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>.
2708
2709 1999-04-15  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2710
2711         * docs: New directory.
2712         * docs/html: Likewise.
2713         * docs/text: Likewise.
2714         * docs/image: Likewise.
2715
2716         * bits/std_cmath.h: Add new functions.
2717         (abs): overload for long and double.
2718         (div): overload for long.
2719
2720         * bits/valarray_array.h: Fix.
2721         * bits/gslice.h: Adjust friend.
2722         * bits/slice_array.h: likewise.
2723         * bits/valarray_meta.h: likewise.
2724
2725 1999-04-13   Benjamin Kosnik  <bkoz@tintin.cygnus.com>
2726
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.
2731
2732 1999-04-13   Mark Elbrecht  <snowball3@usa.net>
2733
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.
2744
2745 1999-04-12   Mark Elbrecht  <snowball3@usa.net>
2746
2747         * src/basic_file.cc(sys_open) [O_BINARY]: Declare __testb.
2748
2749 1999-04-12   Benjamin Kosnik  <bkoz@tintin.cygnus.com>
2750
2751         * bits/locfacets.h: Tweak.
2752         * bits/locfacets.tcc(do_get): Clean/fix bool method.
2753
2754         * testsuite/21/21nonmember.cc: Same.
2755         * testsuite/21/21compare.cc: Fix license.
2756         * testsuite/27/27istringstream_formatted.cc: New file.
2757
2758 1999-04-12  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2759
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.
2764
2765 1999-04-08  Benjamin Kosnik  <bkoz@haight.constant.com>
2766
2767         * bits/locfacets.tcc: Fix, format.
2768         * bits/locfacets.h: Fix.
2769         * src/locale.cc: Same, plus format.
2770
2771         * bits/basic_string.h: Re-add definition here.
2772         * src/string.cc: Take out.
2773
2774 1999-04-08  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2775
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.
2788
2789 1999-04-05  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2790
2791         * bits/valarray_array.h: tweak.
2792
2793 1999-04-06  Benjamin Kosnik  <bkoz@cygnus.com>
2794
2795         * bits/basic_string.h: Whoops--fix blip.
2796
2797 1999-04-06  Benjamin Kosnik  <bkoz@cygnus.com>
2798
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.
2804
2805 1999-04-04 1999  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2806
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.
2815
2816 1999-04-02  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2817
2818         * src/gen-num-limits.cc: new file
2819         * mknumeric_limits: Ditto.
2820
2821 1999-03-30  Benjamin Kosnik  <bkoz@cygnus.com>
2822
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.
2828
2829 1999-03-30  Benjamin Kosnik  <bkoz@cygnus.com>
2830
2831         * bits/std_istream.h: Fix.
2832         * bits/istream.tcc: Fix.
2833
2834 1999-03-30  Philip Martin  <pm@corris.dircon.co.uk>
2835
2836         * testsuite/24/24iterator.cc: fix ++/-- tests
2837
2838 1999-03-29  Benjamin Kosnik  <bkoz@cygnus.com>
2839
2840         * bits/std_ostream.h: Looks like this, actually: Fix up eh-isms.
2841         * bits/ostream.tcc: Same.
2842
2843         * bits/std_istream.h: Bring over ostream changes, implement member
2844         functions. Baseline.
2845         * bits/istream.tcc: New file.
2846
2847 1999-03-26  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2848
2849         * bits/gslice.h (class gslice): fix friends template.
2850
2851 1999-03-23  Benjamin Kosnik  <bkoz@cygnus.com>
2852
2853         * bits/std_ostream.h: Fix sentry objects, implement seekp, tellp,
2854         delete cruft, etc.
2855         * bits/ostream.tcc: Same.
2856
2857         * bits/std_istream.h: Minor tweaks.
2858
2859 1999-03-18  Benjamin Kosnik  <bkoz@cygnus.com>
2860
2861         * src/locale-inst.cc: Remove duplicate instantiations.
2862         * bits/locfacets.tcc: Tweak definitions of static member.
2863
2864 1999-03-18  Benjamin Kosnik  <bkoz@cygnus.com>
2865
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.
2871
2872         * bits/sstream.tcc: Match.
2873         * bits/std_istream.h: Format.
2874         * src/locale-inst.cc: Add num_get instantiations.
2875
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.
2887
2888         * bits/std_fstream.h: While we're at it, make initializations sane
2889         here too. Now matches sstream.h.
2890
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.
2894
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.
2899
2900 1999-03-17  Benjamin Kosnik  <bkoz@happy.cygnus.com>
2901
2902         * configure.in (USE_LONG_DOUBLE): signbitl link error.
2903
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.
2909
2910 1999-03-17  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
2911
2912         * stl/bits/std_memory.h:  Modify auto_ptr::reset to reflect the
2913         standard. Re-apply this previous patch.
2914
2915 1999-03-17  Philip Martin  <pm@corris.dircon.co.uk>
2916
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.
2926
2927 1999-03-16  Benjamin Kosnik  <bkoz@cygnus.com>
2928
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.
2933
2934         * RELEASE-NOTES: Make more changes.
2935         * bits/c++config.h: Bump version number.
2936
2937         * testsuite/make_check_libfree++: Collect diagnostics.
2938
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.
2950
2951         * math/Makefile.in: Add missing files for shared link errors.
2952         * math/Makefile.am: Same.
2953
2954 1999-03-15  Benjamin Kosnik  <bkoz@cygnus.com>
2955
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().
2960
2961 1999-03-15  Benjamin Kosnik  <bkoz@cygnus.com>
2962
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.
2973
2974 1999-03-12  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2975
2976         * bits/gslice.h (class gslice): Make friends valarray,
2977         gslice_array and _GliceExpression.
2978
2979 1999-03-11  Benjamin Kosnik  <bkoz@cygnus.com>
2980
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.
2993
2994 1999-03-10  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
2995
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.
3005
3006         * bits/streambuf.tcc: Tweak.
3007         * bits/sstream.tcc: Here too.
3008
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.
3013
3014         * testsuite/27/27hello.cc: New file.
3015
3016         * bits/std_ostream.h: Move flush() inline.
3017         * bits/ostream.tcc: From here.
3018
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.
3023
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
3028
3029 1999-03-09  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
3030
3031         * bits/basic_ios.h: Change _M_ctype to _M_fctype.
3032
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.
3039
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.
3044
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.
3048
3049 1999-03-08  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
3050
3051         * bits/basic_file.h: Fix typo, add comments about what to expect
3052         from the various member functions in __basic_file.
3053
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. . .
3057
3058 1999-03-06  Benjamin Kosnik  <bkoz@haight.constant.com>
3059
3060         * bits/c++config.h (__GLIBCPP__): Add versioning macro.
3061
3062         * bits/basic_file.h(file_beg): New function.
3063         (file_cur): Ditto.
3064
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.
3070
3071 1999-03-03  Benjamin Kosnik  <bkoz@cygnus.com>
3072
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.
3076
3077 1999-03-02  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
3078
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.
3082
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.
3093
3094         * testsuite/27/27filebuf.cc: Tweak.
3095
3096 1999-02-27  Benjamin Kosnik  <bkoz@slap-happy.cygnus.com>
3097
3098         * bits/std_sstream.h: Ditto.
3099         * bits/std_fstream.h: Fix blip.
3100
3101 1999-02-26  Benjamin Kosnik  <bkoz@happy.cygnus.com>
3102
3103         * C++STYLE: Add cases.
3104         * bits/std_fstream.h: Format.
3105         * bits/std_streambuf.h: Ditto.
3106         * bits/std_sstream.h: Ditto.
3107
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.
3111
3112 1999-02-26  Benjamin Kosnik  <bkoz@happy.cygnus.com>
3113
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.
3122
3123         * src/Makefile.am (CXXFLAGS): Change up.
3124         * src/Makefile.in (CXXFLAGS): Ditto.
3125
3126 1999-02-25  Benjamin Kosnik  <bkoz@happy.cygnus.com>
3127
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.
3131
3132 1999-02-25  Benjamin Kosnik  <bkoz@cygnus.com>
3133
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.
3144
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.
3151
3152 1999-02-24  Benjamin Kosnik  <bkoz@cygnus.com>
3153
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.
3159
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.
3167
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.
3171
3172 1999-02-23  Benjamin Kosnik  <bkoz@loony.cygnus.com>
3173
3174         * src/Makefile.in (CXXFLAGS): Re-add -fvtable-thunks.
3175         * src/Makefile.am (CXXFLAGS): Re-add -fvtable-thunks.
3176
3177         * bits/basic_file.h: Comment, adjust arguments.
3178         * src/basic_file.cc: Ditto.
3179
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.
3184
3185 1999-02-22  Benjamin Kosnik  <bkoz@loony.cygnus.com>
3186
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.
3193
3194 1999-02-19  Benjamin Kosnik  <bkoz@loony.cygnus.com>
3195
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.
3203
3204 1999-02-18  Benjamin Kosnik  <bkoz@loony.cygnus.com>
3205
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.
3212
3213 1999-02-18  Ulrich Drepper  <drepper@cygnus.com>
3214
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.
3269
3270 1999-02-17  Benjamin Kosnik  <bkoz@cygnus.com>
3271
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.
3276
3277 1999-02-17  Ulrich Drepper  <drepper@cygnus.com>
3278
3279         * ltmain.sh: Update from libtool 1.2d and fix Solaris problems.
3280         * ltconfig: Likewise.
3281
3282 1999-02-16  Christophe Pierret  <cpierret@businessobjects.com>
3283
3284         * src/locale.cc: Fix assert.
3285
3286 1999-02-16  Benjamin Kosnik  <bkoz@cygnus.com>
3287
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.
3297
3298 1999-02-10  Benjamin Kosnik  <bkoz@cygnus.com>
3299
3300         * bits/loccore.tcc: Move member-template ctor inline...
3301         * bits/loccore.h: ...here.
3302         * src/locale-inst.cc: Add instantiation here.
3303
3304         * testsuite/27/27stringstream.cc: Tweak.
3305
3306         * bits/ostream.tcc: Include sbuf_iter.h.
3307
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.
3311
3312         * testsuite/make_check_libfree++: New file, runs through the
3313         existing test files in the testsuite directory and makes sure
3314         they link.
3315
3316 1999-02-10  Brendan Kehoe  <brendan@cygnus.com>
3317
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.
3323
3324 1999-02-10  Benjamin Kosnik  <bkoz@cygnus.com>
3325
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.
3337
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.
3342
3343         * bits/std_fstream.h: Yeah, comment the fill_n idea out as impractical.
3344
3345         * src/stlinst.cc: Add include of stl_config.h.
3346
3347 1999-02-09  Benjamin Kosnik  <bkoz@cygnus.com>
3348
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.
3355
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.
3360
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.
3366
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.
3371
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).
3380
3381 1999-02-05  Benjamin Kosnik  <bkoz@cygnus.com>
3382
3383         * bits/std_fstream.h: Remove _M_open data member.
3384         * bits/fstream.tcc: Ditto.
3385
3386         * src/locale.cc: Tweak.
3387
3388         * bits/std_sstream.h: Simplify.
3389
3390         * bits/std_streambuf.h: Simplify.
3391         (sputc): Use correct definition of "write area."
3392
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.
3397
3398 1999-02-02  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
3399
3400         * bits/ios_base.h: Make protected.
3401
3402 1999-02-01  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
3403
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.
3410
3411 1999-01-29  Benjamin Kosnik  <bkoz@cygnus.com>
3412
3413         * bits/std_fstream.h: Remove _M_flags, _M_equilibrate  as unnecessary.
3414         * bits/fstream.tcc: Ditto.
3415
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.
3419
3420 1999-01-29  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
3421
3422         * stl/bits/std_memory.h:  Modify auto_ptr::reset to reflect the
3423         standard.
3424
3425 1999-01-28  Benjamin Kosnik  <bkoz@cygnus.com>
3426
3427         * src/locale.cc (codecvt::do_in): Finer-grained tuning to take
3428         into account partial returns.
3429         (codecvt::do_out): Likewise.
3430
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. . .
3438
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.
3444
3445         * testsuite/27/27filebuf.cc: Add cases.
3446         * testsuite/27/27stringbuf.cc: Add showmanyc case.
3447
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.
3451
3452         * bits/fstream.tcc: Ditto.
3453
3454 1999-01-27  Benjamin Kosnik  <bkoz@cygnus.com>
3455
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.
3460
3461 1999-01-27  Ulrich Drepper  <drepper@cygnus.com>
3462
3463         * src/basic_file.cc: Include fcntl.h.
3464
3465 1999-01-27  Benjamin Kosnik  <bkoz@cygnus.com>
3466
3467         * libio/Makefile.in: Add fileops.lo, genops.lo to objects to debug
3468         libio calls.
3469         * bits/std_streambuf.h: Redefine read posion.
3470
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.
3475
3476 1999-01-26  Benjamin Kosnik  <bkoz@cygnus.com>
3477
3478         * bits/basic_file.h: Add showmanyc, underflow. .
3479         * src/basic_file.cc: Ditto.
3480
3481         * bits/std_fstream.h (showmanyc): Add bits to ping libio to see if more
3482         chars can be read.
3483
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.
3487
3488 1999-01-26  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
3489
3490         * bits/basic_ios.h: fix basic_ios::exceptions(iostate)
3491
3492 1999-01-25  Benjamin Kosnik  <bkoz@nabi.net>
3493
3494         * src/ios.cc (clear): Correct typo.
3495         * bits/ios_base.h: Tweak spacing.
3496
3497 1999-01-25  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
3498
3499         * bits/basic_ios.h: fix basic_ios::fail()
3500
3501 1999-01-25  Benjamin Kosnik  <bkoz@loony.cygnus.com>
3502
3503         * bits/basic_file.h: Include libioP.h from libio instead of here.
3504         * bits/iolibio.h: Remove.
3505         * bits/libio.h: Remove.
3506
3507 1999-01-22  Benjamin Kosnik  <bkoz@lunatic.cygnus.com>
3508
3509         * bits/std_fstream.h: Tweak cvt-> in call for newer egcs compilers.
3510
3511 1999-01-22  Ulrich Drepper  <drepper@cygnus.com>
3512
3513         * Makefile.am (SUBDIRS): Add libio.
3514         * configure.in: Add rule to test for glibc2.
3515
3516         * src/Makefile.am (INCLUDES): Add -I to libio subdir.
3517         (libstdc___la_LIBADD): Add libio.la.
3518
3519 1999-01-21  Benjamin Kosnik  <bkoz@cygnus.com>
3520
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.
3530
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.
3534
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.
3539
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.
3544