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