OSDN Git Service

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