OSDN Git Service

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