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