OSDN Git Service

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