OSDN Git Service

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