OSDN Git Service

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