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