11999-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
71999-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
131999-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
181999-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
311999-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
441999-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
511999-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
611999-12-21  Phil Edwards  <pedwards@jaj.com>
62
63	* docs/gentop/index:  Hold off on .7 announcement date.
64	* docs/index.html:  Regenerate.
65
661999-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
751999-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
871999-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
1031999-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
1181999-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
1391999-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
1451999-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
1501999-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
1751999-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
1831999-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
1891999-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
1951999-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
2051999-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
2151999-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
2301999-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
2361999-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
2481999-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
2721999-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
2841999-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
2921999-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
3021999-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
3081999-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
3191999-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
3271999-12-06  Mumit Khan  <khan@xraylith.wisc.edu>
328
329        * bits/istream.tcc (basic_istream::ignore): streamsize is not
330        necessarily an `int'.
331
3321999-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
3391999-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
3531999-12-04  Benjamin Kosnik  <bkoz@gnu.org>
354
355	* bits/std_sstream.h (streambuf::underflow): Check for mode == in.
356
3571999-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
3791999-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
3901999-12-01  Phil Edwards  <pedwards@jaj.com>
391
392        * mkcheck:  Support for compilation/execution timing.
393	* testsuite/printnow.c: New file.
394
3951999-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
4021999-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
4221999-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
4271999-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
4321999-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
4421999-11-29  Chip Salzenberg  <chip@valinux.com>
443
444	* Makefile.in: Tweaks for CXXFLAGS.
445	* */Makefile.in: Same.
446
4471999-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
4541999-11-29  Mumit Khan  <khan@xraylith.wisc.edu>
455
456        * acinclude.m4: Fix typo.
457        * src/complex.cc: Fix macro line continuation.
458
4591999-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
4641999-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
4701999-11-22  Mumit Khan  <khan@xraylith.wisc.edu>
471
472        * bits/locale_facets.tcc: Workaround for compiler crash on
473        ix86-*-mingw32.
474
4751999-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
4841999-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
5031999-11-19 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
504
505        * bits/valarray_meta.h: Don't forget to define tanh
506
5071999-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
5141999-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
5191999-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
5251999-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
5311999-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
5471999-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
5541999-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
5621999-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
5691999-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
5991999-11-11  Matthias Klose  <doko@cs.tu-berlin.de>
600
601	* stl_deque.h: Use static_casts<size_type>(signed_type).
602
6031999-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
6261999-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
6451999-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
6501999-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
6551999-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
6641999-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
6711999-11-09  Benjamin Kosnik  <bkoz@cygnus.com>
672
673	* src/Makefile.am (CXXFLAGS): Add -Winline.
674	* src/Makefile.in: Regenerate.
675
6761999-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
6821999-11-02  Benjamin Kosnik  <benjamin@cygnus.com>
683
684	* configure: Regenerate.
685
6861999-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
6931999-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
7091999-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
7191999-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
7371999-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
7511999-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
7571999-10-21  Benjamin Kosnik  <bkoz@cygnus.com>
758
759	* bits/ios_base.h: Change argument names.
760	* docs/17_intro/BADNAMES: Add __opr.
761
7621999-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
7771999-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
7861999-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
7941999-10-18  Vadim Egorov  <egorovv@HotPOP.com>
795
796        * src/basic_file.cc: ifdef instead of comment for binary mode
797
7981999-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
8051999-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
8121999-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
8191999-10-12  Chris Prince <prince@wcug.wwu.edu>
820
821	* bits/std_cstdio.h: Remove Solaris hacks.
822
8231999-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
8321999-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
8371999-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
8491999-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
8611999-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
8801999-10-04  Russell Davidson <russell@qed.econ.queensu.ca>
881
882	* src/basic_file.cc: Fix open modes.
883
8841999-10-04  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
885
886	* bits/locale_facets.tcc (num_get<>::do_get): Fix typo.
887
8881999-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
8941999-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
9071999-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
9131999-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
9201999-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
9511999-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
9581999-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
9671999-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
9731999-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
9841999-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
9901999-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
10031999-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
10101999-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
10161999-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
10281999-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
10431999-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
10481999-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
10851999-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
10941999-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
11001999-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
11291999-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
11411999-08-10  Kirat Singh  <singhki@jany.gs.com>
1142
1143	* bits/std_iomanip.h: Inline.
1144
11451999-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
11501999-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
11581999-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
11631999-07-29  Andreas Amann <amann@physik.tu-berlin.de>
1164
1165	* bits/valarray_meta.h: (_BinClos<>::_Binclos): fix typo causing
1166	segmentation fault.
1167
11681999-08-04  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1169
1170	* docs/index.html (host): Put in testing status.
1171
11721999-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
11801999-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
11971999-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
12071999-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
12201999-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
12331999-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
12401999-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
12611999-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
12811999-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
12921999-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
12981999-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
13151999-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
13311999-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
13411999-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
13701999-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
13971999-07-20  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1398
1399	* bits/basic_ios.h: Put into basic_ios namespace.
1400	Tweak widen/narrow.
1401
14021999-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
14121999-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
14291999-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
14341999-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
14431999-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
14641999-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
14701999-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
14831999-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
14901999-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
15001999-07-12  Nathan Myers <ncm@cantrip.org>
1501
1502	* stl/bits/stl_tree.h (__black_count): Optimize.
1503
15041999-07-09  Vadim Egorov  <egorovv@1c.ru>
1505
1506        * src/basic_file.cc: Cleanup in __basic_file destructor.
1507
15081999-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
15431999-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
15491999-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
15671999-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
15731999-07-02  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
1574
1575        * bits/string.tcc: Check the __res_arg for a length error.
1576
15771999-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
16021999-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
16181999-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
16301999-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
16361999-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
16421999-06-29  Benjamin Kosnik  <bkoz@happy.cygnus.com>
1643
1644	* testsuite/21_strings/capacity.cc (test01): Fix.
1645
16461999-06-29  Phil Edwards  <pedwards@ball.com>
1647
1648        * mknumeric_limits:  Exit script if gen-num-limits isn't built.
1649
16501999-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
16551999-06-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1656
1657	* mknumeric_limits (LDFLAGS): fix.
1658
16591999-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
16671999-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
16851999-06-25  John Potter  <jpotter@eagle.lhup.edu>
1686
1687	* stl/bits/stl_tree.h (insert_unique): Revert, just fix insert_equal.
1688
16891999-06-25  Gilles Zunino  <Gilles.Zunino@hei.fr>
1690
1691	* mknumeric_limits (LDFLAGS): Swap -lc and -lgcc.
1692
16931999-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
17181999-06-24  Vadim Egorov  <egorovv@1c.ru>
1719
1720        * bits/string.tcc(basic_string<>::_Rep::_S_create): Fixed
1721        allocated size
1722
17231999-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
17311999-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
17371999-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
17501999-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
17561999-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
17601999-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
17661999-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
17731999-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
17911999-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
18141999-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
18371999-06-08  Vadim Egorov  <egorovv@1c.ru>
1838
1839         * bits/fstream.tcc (_M_really_overflow): Fixed size of
1840         conversion buffer.
1841
18421999-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
18491999-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
18541999-06-08  Phil Edwards  <pedwards@ball.com>
1855
1856        * bits/fstream.tcc (basic_filebuf::underflow):  Fix, rename local vars.
1857
18581999-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
18671999-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
18761999-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
18921999-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
19001999-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
19271999-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
19341999-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
19401999-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
19461999-06-03  Benjamin Kosnik <bkoz@pacifica.cygnus.com>
1947
1948	* src/wstring-inst.cc: Fix.
1949
19501999-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
19821999-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
19951999-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
20261999 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
20311999-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
20371999-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
20551999-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
20651999-05-25  Phil Edwards  <pedwards@ball.com>
2066
2067	* bits/std_streambuf.h (streambuf::setbuf): Always return streambuf*.
2068
20691999-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
20741999-05-24  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2075
2076	* mknumeric_limits (LDFLAGS): set appropriate link flags.
2077
20781999-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
20891999-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
20961999-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
21611999-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
21711999-05-19  Phil Edwards  <pedwards@ball.com>
2172
2173	* docs/index.html: Tweak, update.
2174
21751999-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
21811999-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
21891999-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
22061999-05-18  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2207
2208	* docs/17_intro/CHECKLIST: update.
2209	* docs/17_intro/TODO: update.
2210
22111999-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
22191999-05-17  Benjamin Kosnik  <bkoz@unhappy.cygnus.com>
2220
2221	* src/Makefile.am (myinstallheaders): Missed removing missing.h.
2222	* Makefile.in*: Regenerate.
2223
22241999-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
22571999-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
22801999-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
22961999-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
23031999-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
23111999-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
23541999-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
23631999-05-07  Benjamin Kosnik  <bkoz@cygnus.com>
2364
2365	* src/string.cc:  Add missing member functions to instantiation list.
2366
23671999-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
23771999-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
23851999-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
23981999-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
24051999-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
24161999-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
24221999-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
24691999-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
24741999-05-04 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2475
2476	* src/gen-num-limits.cc (DO_DEFINE_MIN_MAX): fix typo.
2477
24781999-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
24891999-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
24991999-04-28  Benjamin Kosnik  <bkoz@happy.cygnus.com>
2500	    Ryszard Kabatek and Branko Cibej
2501
2502	* bits/locfacets.tcc: Modify.
2503
25041999-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
25251999-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
25371999-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
25471999-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
25571999-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
25721999-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
25961999-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
26211999-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
26321999-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
26491999-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
26581999-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
26671999-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
26791999-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
26941999-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
27091999-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
27251999-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
27321999-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
27451999-04-12   Mark Elbrecht  <snowball3@usa.net>
2746
2747	* src/basic_file.cc(sys_open) [O_BINARY]: Declare __testb.
2748
27491999-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
27581999-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
27651999-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
27741999-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
27891999-04-05  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2790
2791	* bits/valarray_array.h: tweak.
2792
27931999-04-06  Benjamin Kosnik  <bkoz@cygnus.com>
2794
2795	* bits/basic_string.h: Whoops--fix blip.
2796
27971999-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
28051999-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
28161999-04-02  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2817
2818	* src/gen-num-limits.cc: new file
2819	* mknumeric_limits: Ditto.
2820
28211999-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
28291999-03-30  Benjamin Kosnik  <bkoz@cygnus.com>
2830
2831	* bits/std_istream.h: Fix.
2832	* bits/istream.tcc: Fix.
2833
28341999-03-30  Philip Martin  <pm@corris.dircon.co.uk>
2835
2836	* testsuite/24/24iterator.cc: fix ++/-- tests
2837
28381999-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
28471999-03-26  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2848
2849	* bits/gslice.h (class gslice): fix friends template.
2850
28511999-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
28591999-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
28641999-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
29001999-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
29101999-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
29151999-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
29271999-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
29541999-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
29611999-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
29741999-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
29791999-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
29941999-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
30291999-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
30491999-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
30581999-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
30711999-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
30771999-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
30961999-02-27  Benjamin Kosnik  <bkoz@slap-happy.cygnus.com>
3097
3098	* bits/std_sstream.h: Ditto.
3099	* bits/std_fstream.h: Fix blip.
3100
31011999-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
31121999-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
31261999-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
31321999-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
31521999-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
31721999-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
31851999-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
31941999-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
32041999-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
32131999-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
32701999-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
32771999-02-17  Ulrich Drepper  <drepper@cygnus.com>
3278
3279	* ltmain.sh: Update from libtool 1.2d and fix Solaris problems.
3280	* ltconfig: Likewise.
3281
32821999-02-16  Christophe Pierret  <cpierret@businessobjects.com>
3283
3284	* src/locale.cc: Fix assert.
3285
32861999-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
32981999-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
33161999-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
33241999-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
33471999-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
33811999-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
33981999-02-02  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
3399
3400	* bits/ios_base.h: Make protected.
3401
34021999-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
34111999-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
34201999-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
34251999-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
34541999-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
34611999-01-27  Ulrich Drepper  <drepper@cygnus.com>
3462
3463	* src/basic_file.cc: Include fcntl.h.
3464
34651999-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
34761999-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
34881999-01-26  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
3489
3490	* bits/basic_ios.h: fix basic_ios::exceptions(iostate)
3491
34921999-01-25  Benjamin Kosnik  <bkoz@nabi.net>
3493
3494	* src/ios.cc (clear): Correct typo.
3495	* bits/ios_base.h: Tweak spacing.
3496
34971999-01-25  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
3498
3499	* bits/basic_ios.h: fix basic_ios::fail()
3500
35011999-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
35071999-01-22  Benjamin Kosnik  <bkoz@lunatic.cygnus.com>
3508
3509	* bits/std_fstream.h: Tweak cvt-> in call for newer egcs compilers.
3510
35111999-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
35191999-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
3545Copyright (C) 1999 Free Software Foundation, Inc.
3546
3547Copying and distribution of this file, with or without modification,
3548are permitted in any medium without royalty provided the copyright
3549notice and this notice are preserved.
3550