OSDN Git Service

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