OSDN Git Service

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