OSDN Git Service

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