* cppfiles.c (redundant_include_p): Provide length of token to
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob7c903fa40b9571bac64d484272fad03f196f5765
1 2000-04-29  Phil Edwards  <pme@sourceware.cygnus.com>
3         * docs/download.html:  Add link to list of mirror sites.
5 2000-04-28  Loren J. Rittle  <ljrittle@acm.org>
7         * mkcheck.in: Rely on exit status instead of the presence of a
8         core file.  Added comments on how/where to save core and exe
9         files.  Move shell wildcards outside quotes and fix core path.
10         
11 2000-04-27  scott snyder  <snyder@fnal.gov>
13         * src/misc-inst.cc: Explicitly instantiate ifstream and ofstream
14         classes.
16 2000-04-26  Nathan C. Myers  <ncm@cantrip.org>
18         * bits/basic_string.h: include <bits/atomicity.h> instead
19         of <atomicity.h>, and use the uglified names.
20         * config/cpu/*/atomicity.h: replace with bits/atomicity.h;
21         uglify names, eliminate dependence on <inttypes.h>.
22         * src/Makefile.in, src/Makefile.am: refer to correct place
23         for atomicity.h header.
25 2000-04-25 Steven King <sxking@uswest.net>
27         * bits/basic_string.h: Fix syntax error.
29 2000-04-25  Benjamin Kosnik  <bkoz@redhat.com>
31         * acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Improve checks for
32         USE_LONG_DOUBLE.
33         (GLIBCPP_ENABLE_DEBUG): If alpha, use -gdwarf-2.
34         * math/Makefile.am (EXTRA_LONG_DOUBLE_yes): Add all the long
35         versions to this as copysignl is needed anyway for these targets.
36         * math/Makefile.in: Regenerate.
37         
38         * bits/streambuf.tcc (streambuf::xsgetn): Tweak.
39         * bits/fstream.tcc (underflow): Cast to libio types.
40         * bits/basic_file.h (seekoff): Fixes for alpha: use __c_streamoff.
41         * config/c_io_libio.cc (seekoff): And here.
42         
43 2000-04-24  Loren J. Rittle  <ljrittle@acm.org>
45         * mkcheck.in: Report compiler version used for test.  Find
46         the built _G_config.h instead of any old installed version.
48 2000-04-24  Loren J. Rittle  <ljrittle@acm.org>
50         * config/generic/ctype.cc (do_toupper): Remove dependence on
51         non-portable/non-existent lookup table.
52         (do_tolower): Same.
53         
54 2000-04-24  Nathan Myers  <ncm@cantrip.org>
56         * src/string-inst.cc: More fixing.
58 2000-04-24  Benjamin Kosnik  <bkoz@gnu.org>
60         * bits/stl_iterator.h: Pedantic fixing.
61         * bits/std_sstream.h: And here.
62         * bits/string.tcc: And here.
64 2000-04-24  Felix Natter <fnatter@gmx.net> 
66         * docs/17_intro/howto.html: Add bits.
67         * docs/17_intro/porting-howto.html: New file.
68         
69 2000-04-24  Branko Cibej  <branko.cibej@hermes.si>
71         * acinclude.m4(GLIBCPP_CHECK_WCHAR_T_SUPPORT): Expand
72         @libinst_wstring_la@ to libinst-wstring.la when specializing for
73         wchar_t, to empty string otherwise.
74         * src/Makefile.am: (EXTRA_LTLIBRARIES): New.
75         (sources): Remove $(string_sources) and $(wstring_sources).
76         (libstdc___la_LIBADD): Add libinst-string.la and @libinst_wstring_la@.
77         (libstdc___la_DEPENDENCIES): New.
78         (libinst_string_la_SOURCES, libinst_wstring_la_SOURCES): New.
80 2000-04-20  Benjamin Kosnik  <bkoz@redhat.com>
82         * bits/std_sstream.h: Tweak formatting.
83         * bits/std_fstream.h: Make types public.
85         * testsuite/27_io/streambuf.cc: Fix for alpha.
87         Brad Garcia <bgarcia@laurelnetworks.com>
88         * bits/locale_facets.h (numpunct::numpunct(size_t)): Fix bool
89         initialization.
90         * testsuite/27_io/ios_manip_fmtflags.cc (test02): Add test for
91         bool formatting.
92         
93 2000-04-19  Nathan Myers  <ncm@cantrip.org>
95         * src/string-inst: consolidate _S_create,
96         destroy, leak, clone members into stringMAIN and stringMUTATE
97         object files.
98         * src/Makefile.am: Above, and eliminate dependence on
99         wstring-inst.cc.
100         * src/wstring-inst.cc: Remove.
102 2000-04-18  Benjamin Kosnik  <bkoz@redhat.com>
104         * src/Makefile.am (AC_CXXFLAGS): Activate debugging code, again.
105         Add flags for specialized rules dealing with instantiations.
106         
107         * src/string-inst.cc: Add instantiations missing from shared
108         libraries--see stringEQ, stringCONSC.
109         * src/Makefile.am (wstring_sources): Add.
110         (string_sources): Same.
111         * src/Makefile.in: Regenerate.
112         
113         * stl/*: Integrate contents of this directory into top-level
114         directories.
115         * ext/bvector hash_map hash_set rope ropeimpl.h slist
116         stl_bvector.h stl_hash_fun.h stl_hashtable.h stl_rope.h tree: Add.
117         * bits/pthread_allocimpl.h std_algorithm.h std_bitset.h
118         std_deque.h std_functional.h std_iterator.h std_list.h std_map.h
119         std_memory.h std_numeric.h std_queue.h std_set.h std_stack.h
120         std_stdexcept.h std_strstream.h std_utility.h std_vector.h
121         stl_algo.h stl_algobase.h stl_alloc.h stl_config.h stl_construct.h
122         stl_deque.h stl_function.h stl_heap.h stl_iterator.h
123         stl_iterator_base.h stl_list.h stl_map.h stl_multimap.h
124         stl_multiset.h stl_numeric.h stl_pair.h stl_pthread_alloc.h
125         stl_queue.h stl_range_errors.h stl_raw_storage_iter.h stl_relops.h
126         stl_set.h stl_stack.h stl_string_fwd.h stl_tempbuf.h stl_threads.h
127         stl_tree.h stl_uninitialized.h stl_vector.h type_traits.h: Add.
128         * backward/algo.h algobase.h alloc.h bvector.h defalloc.h deque.h
129         function.h hash_map.h hash_set.h hashtable.h heap.h iterator.h
130         list.h map.h multimap.h multiset.h pair.h rope.h set.h slist.h
131         stack.h tempbuf.h tree.h vector.h: Add.
132         * README (file): Update.
133         * docs/documentation.html: README not being found.
134         * src/Makefile.am (sources): Take out stl directory.
135         * mkcheck.in (SRC_DIR): And here.
136         * src/Makefile.in: Regenerate.
137         
138 2000-04-18  Levente Farkas  <lfarkas@mindmaker.hu>
140         * stl/bits/stl_function.h: Add bits so that const and non-const
141         both work.
142         
143 2000-04-18  scott snyder  <snyder@fnal.gov>
145         * stl/bits/stl_map.h (class map): Fix default for _Alloc template
146         parameter.  Get rid of use of __STL_DEFAULT_ALLOCATOR and
147         __STL_LIMITED_DEFAULT_TEMPLATES macros.
148         * stl/bits/stl_multimap.h (class multimap): Likewise.  Get rid of
149         use of __STL_DEPENDENT_DEFAULT_TMPL macro.
151 2000-04-18  scott snyder  <snyder@fnal.gov>
153         * stl/bits/stl_config.h (__STL_DEPENDENT_DEFAULT_TMPL): Deleted
154         this macro.
156         * stl/ext/hash_map (class hash_map, class hash_multimap): Get rid
157         of use of __STL_DEPENDENT_DEFAULT_TMPL macro.
158         * stl/ext/hash_set (class hash_set, class hash_multiset):
159         Likewise.
160         * stl/bits/stl_function.h (struct constant_unary_fun, struct
161         constant_binary_fun): Likewise.
162         * stl/bits/stl_queue.h (class queue, class priority_queue): Likewise.
163         * stl/bits/stl_stack.h (class stack): Likewise.
164         * stl/bits/stl_set.h (class set): Likewise.
165         * stl/bits/stl_multiset.h (class multiset): Likewise.
167         * stl/bits/stl_iterator.h (class reverse_bidirectional_iterator,
168         class reverse_iterator): Get rid of use of
169         __STL_LIMITED_DEFAULT_TEMPLATES macro.
171         * stl/bits/stl_config.h (__STL_DEFAULT_ALLOCATOR): Deleted this
172         macro.
174         * stl/bits/stl_deque.h (class deque): Get rid of use of
175         __STL_DEFAULT_ALLOCATOR macro.
176         * stl/bits/stl_list.h (class list): Likewise.
177         * stl/bits/stl_multiset.h (class multiset): Likewise.
178         * stl/bits/stl_set.h (class set): Likewise.
179         * stl/bits/stl_string_fwd.h (class basic_string): Likewise.
180         * stl/bits/stl_tree.h (class _Rb_tree, class rb_tree): Likewise.
181         * stl/bits/stl_vector.h (class vector): Likewise.
182         * stl/ext/ropeimpl.h (rotate): Likewise.
183         * stl/ext/hash_map (class hash_map, class hash_multimap):
184         Likewise.
185         * stl/ext/hash_set (class hash_set, class hash_multiset):
186         Likewise.
187         * stl/ext/slist (class slist): Likewise.
188         * stl/ext/stl_bvector.h (class bit_vector): Likewise.
189         * stl/ext/stl_rope.h (class rope): Likewise.
190         * src/locale.cc (_Impl): Likewise.
191         * src/localename.cc (_Impl): Likewise.
192         * bits/localefwd.h (_Impl): Likewise.
194 2000-04-18  Phil Edwards  <pme@sourceware.cygnus.com>
196         * docs/install.html:  Cleanup, minor changes.
197         * docs/17_intro/howto.html:  Ditto.
199 2000-04-18  Nathan Myers  <ncm@cantrip.org>
201         * bits/basic_string.h: Remove "inline" from member _S_find.
202         
203         * src/string-inst.cc: Rewrite to reflect non-inline template
204         instantiations in string.tcc.
205         
206         * src/stringADDCS.cc, stringADDPS.cc, stringADDSC.cc, stringADDSP.cc,
207         stringADDSS.cc, stringBIST.cc, stringBOST.cc, stringCHTR.cc,
208         stringEQPS.cc, stringEQSP.cc, stringEQSS.cc, stringEXTRA.cc,
209         stringGEPS.cc, stringGESP.cc, stringGESS.cc, stringGETLI.cc,
210         stringGTPS.cc, stringGTPS.cc, stringGTSP.cc, stringGTSS.cc,
211         stringINSER.cc, stringLEPS.cc, stringLESP.cc, stringLESS.cc,
212         stringLESP.cc, stringLTPS.cc, stringLTPS.cc, stringLTSP.cc,
213         stringLTSS.cc, stringMAIN.cc, stringNEPS.cc, stringNESP.cc,
214         stringNESS.cc, stringSCOPY.cc: Remove.
215         * src/wstringADDCS.cc, etc: Remove.
217         Benjamin Kosnik  <bkoz@haight.constant.com>
218         * src/Makefile.am: Modify to reflect above.
219         * src/Makefile.in: Regenerate.
220         
221 2000-04-17  Benjamin Kosnik  <bkoz@cygnus.com>
223         * docs/install.html (--enable-libstdcxx-v3): Clean up install docs.
225 2000-04-13  Benjamin Kosnik  <bkoz@haight.cygnus.com>
227         * bits/std_fstream.h (filebuf::sync): Need to use the abstracted
228         io interface here instead of the libio particulars.
230         * config/threads-posix.h: Consistency with stl_config.h.
232         * mkcheck.in (CXX_FLAG): Add DDEBUG_ASSERT back in.
233         
234 2000-04-13  Loren J. Rittle  <ljrittle@acm.org>
236         * mknumeric_limits: Rename generic type template parameter name
237         '_T' to '_Tp'.
238         * stl/bits/type_traits.h: Ditto.
240 2000-04-06  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
242         * mkcheck.in (SRC_DIR): Change default mkcheck behavior, so that
243         it is more useful for --enable-libstdcxx-v3. Use the built
244         compilers with v3, instead of compilers in PATH, and don't
245         re-include include directories for checking the install.
247 2000-04-05  Benjamin Kosnik  <bkoz@cygnus.com>
249         * src/Makefile.am (AM_CXXFLAGS): Disable NAMESPACES, as this is on
250         by default when using --enable-libstdcxx-v3.
251         * src/Makefile.in: Regenerate.
252         * configure.in: Disable GLIBCPP_ENABLE_NAMESPACES,
253         GLIBCPP_ENABLE_RELIBGCC for --enable-libstdcxx-v3 flag.
254         * configure: Regenerate.
255         * mkcheck.in: Deal with NAMESPACES.
256         
257 2000-04-05  Petter Urkedal  <petter@matfys.lth.se>
259         * src/cmath.cc: New file...
260         (pow(*, int)): Define functions...
261         * src/Makefile.am (sources): ...register file.
262         * src/Makefile.in: Regenerate.
263         * bits/std_cmath.h (pow): ...declare functions here, and remove
264         old definitions.
266 2000-04-04  Benjamin Kosnik  <bkoz@redhat.com>
267         
268         * acinclude.m4 (GCC_OBJDIR): Tweaks
270 2000-04-03  Benjamin Kosnik  <bkoz@redhat.com>
271         
272         * acinclude.m4 (GLIBCPP_CHECK_CPU): Add arm configure bits.
273         * config/cpu/arm: New directory.
275         Jesper Skov  <jskov@redhat.com>
276         * config/cpu/arm/atomicity.h: New file.
277         
278 2000-03-31  Benjamin Kosnik  <bkoz@redhat.com>
280         * stl/bits/stl_config.h: Make _STL_THREADS depend on _REENTRANT.
281         Remove unused bits. Clean.
282         
283 2000-03-29  Benjamin Kosnik  <bkoz@cygnus.com>
285         * testsuite/25_algorithms: New directory.
286         * testsuite/25_algorithms/min_max.cc: New file.
288 2000-03-29  scott snyder  <snyder@fnal.gov>
290         * bits/locale_facets.tcc (do_put): Allow a couple extra digits of
291         precision beyond that which we get from numeric_limits::digits10.
293         * stl/bits/stl_algobase.h (max, min): Don't use comparison
294         operator.
296         * testsuite/23_containers/bitset_shift.cc: Fix.
298         * testsuite/27_io/ios_manip_fmtflags.cc (test01): Don't give a
299         temporary to imbue().
301         * bits/std_fstream.h (sync): Resync libio's idea of the current
302         file position with the external file.
304 2000-03-28  Benjamin Kosnik  <bkoz@cygnus.com>
306         * testsuite/27_io/istream_extractor_arith.cc.cvs: Fix merge
307         mistake.
309         * bits/std_fstream.h (filebuf::is_open): Check for _M_file before
310         attempting calls to it. 
311         * bits/fstream.tcc (ctors): Don't call _M_init_filebuf in
312         ctors. Instead, call _M_init_filebuf ...
313         (open): Here, as suggested by 27.8.1.3. 
314         * src/ios.cc (ios_base::Init::Init()): Clean up default filebufs
315         properly when initializing cout/cin/cerr.
317 2000-03-27  Russell Davidson  <russell@ehess.cnrs-mrs.fr>
319         * testsuite/23_containers/multiset.cc (main): Clean up for namespaces.
320         * testsuite/22_locale/ctype_char_members.cc: And here.
321         * testsuite/27_io/streambuf.cc (streambuf): And here.
322         * testsuite/27_io/ostream_inserter_char.cc (test06): And here.
323         * testsuite/27_io/istream_unformatted.cc (test05): And here.
324         * testsuite/27_io/istream_extractor_arith.cc: And here.
325         * testsuite/27_io/ios_manip_basefield.cc (test02): And here.
326         * testsuite/27_io/ios_base_members_static.cc: And here.
327         * bits/std_climits.h (_CPP_CLIMITS): Fix typo.
329 2000-03-27  Chris Faylor  <cgf@cygnus.com>
330         
331         * configure.in: Remove setting of CXX if canadian cross.
332         * configure: Regenerate.
334 2000-03-27  Nathan Myers  <ncm@zembu.com>
336         * bits/sstream.tcc: Optimize.
337         * bits/basic_string.h(string::append): Don't inline.
338         * bits/string.tcc: Move out-of-line.
339         
340 2000-03-27  Phil Edwards  <pme@sourceware.cygnus.com>
342         * acinclude.m4:  (GLIBCPP_CHECK_COMPILER_VERSION)  When using <2.96,
343           define WERRORSUPPRESS so that the inlining warnings won't kill us.
344         * aclocal.m4:  Regenerate.
345         * configure:  Regenerate.
346         * src/Makefile.am:  Use WERRORSUPPRESS for the files that need it.
347         * src/Makefile.in:  Regenerate.
349         * docs/install.html:  Almost complete rewrite.
351 2000-03-25  Phil Edwards  <pme@sourceware.cygnus.com>
353         * docs/install.html:  Explain -Werror problem at "#Werror" mark.
354         * docs/faq/index.html:  Testsuite will die horribly if new libgcc.a
355           not installed.
356         * docs/faq/index.txt:  Regenerate.
358 2000-03-24  Alexandre Oliva  <oliva@lsd.ic.unicamp.br> 
360         * src/Makefile.am (libio_headers_install): Fix.
361         * src/Makefile.in: Regenerate.
362         
363 2000-03-24  Benjamin Kosnik  <bkoz@cygnus.com>
365         * docs/17_intro/RELEASE-NOTES: Fix typos.
366         * docs/index.html: Update.
367         * docs/17_intro/BUGS: Update.
368         * docs/status.html: Update for 2.90.8 release.
370 2000-03-23  Phil Edwards  <pme@sourceware.cygnus.com>
372         * Makefile.am:  Better error message when missing libgcc2.ready.
373         * Makefile.in:  Regenerate.
374         * acinclude.m4:  Fastidious nitpicking reformatting.
375         * aclocal.m4:  Regenerate.
376         * configure:  Regenerate.
377         * mkcheck.in:  Must use same namespace settings as the library being
378           tested.  Also log ST_FLAG, since it's being passed.
379         * docs/install.html:  Add brief chunk on configuration.
380         * docs/17_intro/RELEASE-NOTES:  Fix minor Cygwin typo.
381         * docs/23_containers/howto.html:  Mention MT-safe string.
382         * docs/faq/index.html:  Minor updates.
383         * docs/faq/index.txt:  Regerarate.
385 2000-03-22  Benjamin Kosnik  <bkoz@cygnus.com>
387         * bits/sstream.tcc (seekoff): Fix for gptr() null cases.
388         Return newoff. 
389         * bits/fstream.tcc (seekoff): Sync.
390         (seekpos): Sync.
391         * testsuite/27_io/ostream_unformatted.cc: New file.
392         * testsuite/27_io/stringbuf.cc: Fix.
393         * testsuite/27_io/istream_unformatted.cc (test04): Fix.
394         
395         * config/newlib/bits/ctype_base.h (ctype_base): Fix.
396         * config/newlib/ctype.cc (ctype): Change __ctype -> _ctype_.
398         * src/complex_io.cc (operator>>complex): Tweak.
400         * config/cpu/alpha/atomicity.h: Explicitly typedef uint32_t, int32_t if
401         <inttypes.h> does not exist.
402         * config/cpu/sparc/sparc64/atomicity.h: Same.
403         * config/cpu/sparc/sparc32/atomicity.h: Same.
404         * config/cpu/powerpc/atomicity.h: Same.
405         * config/cpu/i386/atomicity.h: Same.
406         * config/cpu/generic/atomicity.h: Same.
407         * configure.in: Check for inttypes.h.
408         * configure: Regnerate.
410 2000-03-21  Benjamin Kosnik  <bkoz@cygnus.com>
412         * bits/std_sstream.h (_M_init_stringbuf): Set initial ate position
413         correctly.
414         * testsuite/27_io/ostream_inserter_char.cc (test06): Add tests for ate.
416         * docs/17_intro/RELEASE-NOTES (New): Add bits.
418         * configure.in: Move AC_CHECK_HEADERS to a point where we know we
419         are compiling natively.
421         * libio/*: Update to CVS libio from egcs.
422         
423 2000-03-21  Phil Edwards  <pme@sourceware.cygnus.com>
425         * docs/download.html:  Document use of -z9 for CVS.
426         * docs/index.html:  Add target date (no link) for future snapshot.
428 2000-03-21  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
430         * bits/slice_array.h: Rename generic type template parameter name
431         '_T' to '_Tp'. 
432         * bits/mask_array.h: Ditto
434 2000-03-20  Benjamin Kosnik  <bkoz@cygnus.com>  
436         * *: Change copyright holder from "Cygnus Solutions" to "Free
437         Software Foundation, Inc."
438         
439         * docs/configopts.html: Explain what "hella versions" means.
440         * docs/install.html: Some tweaks--nice job on this Phil.
441         * docs/documentation.html: Add a direct link to configuration options.
443         * src/Makefile.am (OPTIMIZE_CXXFLAGS): Add in extras.
444         * docs/17_intro/RELEASE-NOTES (New): Add.
445         * bits/c++config.h (__GLIBCPP__): Bump version.
447         * config/c_io_libio.cc (__basic__file(__c_lock*)): Change argument
448         type to match prototype.
450 2000-03-20  Phil Edwards  <pme@sourceware.cygnus.com>
452         * docs/install.html:  Update for new funky build procedure.  Move
453           description of 'configure' options to...
454         * docs/configopts.html:  ...here.  New file.
455         * docs/17_intro/howto.html:  Updates for new snapshot.
456         * docs/20_util/howto.html:  Ditto.
457         * docs/21_strings/howto.html:  Ditto.
458         * docs/21_strings/stringtok_std_h.txt:  Fix example typos.
459         * docs/22_locale/howto.html:  Ditto.
460         * docs/23_containers/howto.html:  Ditto.
461         * docs/faq/index.html:  Ditto.
463 2000-03-18  Petter Urkedal  <petter@matfys.lth.se>
464             Benjamin Kosnik  <bkoz@gnu.org>
465         
466         * acinclude.m4 (GLIBCPP_CHECK_COMPLEX_SUPPORT): Move code for main
467         to the right place.
468         * aclocal.m4: Regenerate.
469         * configure: Regenerate.
471 2000-03-16  Benjamin Kosnik  <bkoz@cygnus.com>
472             scott snyder  <sss@karma.fnal.gov>
473         
474         * config/c_io_libio.h: Add __c_lock.
475         * config/threads-no.h: Same here.
476         * config/threads-posix.h: Add __mutext_type typedef.
477         * config/c_io_libio.cc: basic_file ctor takes lock arg. 
478         * bits/basic_file.h: Ctor takes lock arg. 
479         * bits/std_fstream.h: Add _M_lock.
480         * bits/fstream.tcc: Supply it to basic_file ctor.
482         * mkcheck.in (resultstext): Change [[ to [.
484         * testsuite/27_io/ostream_inserter_char.cc (test06): Tweak.
486         * bits/locale_facets.h: Tweak.  
488         * stl/bits/stl_config.h: Fix defines.
489         
490 2000-03-16  Benjamin Kosnik  <bkoz@cygnus.com>
492         * mkcheck.in (INC_PATH): Add paths from cpu_include_dir to find
493         atomicity.h
494         * configure: Regenerate.
495         * aclocal.m4: Regnerate.
496         
497 2000-03-16  Nathan Myers  <ncm@zembu.com>
499         * bits/string.tcc: Add MT support.
500         * bits/basic_string.h: Same.
501         
502 2000-03-16  Phil Edwards  <pme@sourceware.cygnus.com>
504         * configure.in:  Make --enable-namespaces and -libgcc-rebuild=../..
505           the defaults.
506         * configure:  Regenerate.
508         * config/solaris/solaris2.7/ctype.cc:  Fix unsigned/signed comparison.
510 2000-03-16  Phil Edwards  <pme@sourceware.cygnus.com>
512         * acinclude.m4 (GLIBCPP_CHECK_CTYPE):  If Sol2.5 ctype is found, keep
513           checking for 2.[67].  (GLIBCPP_ENABLE_RELIBGCC):  No longer ignore
514           any defaults passed in.
515         * aclocal.m4:  Regenerate.
517 2000-03-16  Phil Edwards  <pme@sourceware.cygnus.com>
519         * mkcheck.in:  Report total successes and failures.
521 2000-03-15  Benjamin Kosnik  <bkoz@cygnus.com>
523         * config/cpu: New directory, intended to be used to provide
524         cpu-specific configuration files. In particular, assembly language
525         primitives for thread safety.
526         * config/cpu/alpha: Populate.
527         * config/cpu/alpha/atomicity.h: New file.
528         * config/cpu/arm: Populate.
529         * config/cpu/generic: Populate.
530         * config/cpu/generic/atomicity.h: New file.
531         * config/cpu/hppa: Populate.
532         * config/cpu/i386: Populate.
533         * config/cpu/i386/atomicity.h: New file, take from i486.
534         * config/cpu/m68k: Populate.
535         * config/cpu/mips: Populate.
536         * config/cpu/powerpc: Populate.
537         * config/cpu/powerpc/atomicity.h: New file.
538         * config/cpu/sparc: Populate.
539         * config/cpu/sparc/sparc32: Populate.
540         * config/cpu/sparc/sparc64: Populate.
541         * config/cpu/sparc/sparc32/atomicity.h: New file.
542         * config/cpu/sparc/sparc64/atomicity.h: New file.       
544         * src/Makefile.am (myinstallheaders): Add install routines.
545         * acinclude.m4 (GLIBCPP_CHECK_CPU):Add configuration for the
546         cpu dir.
547         * configure.in: Add.
549         * config/default: Adopt glibc naming conventions, and so move to
550         * config/generic: Here.
551         * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Modify default case to generic.
552         
553 2000-03-15  Bill Thompson  <billt@toast.net>
555         * testsuite/27_io/ostream_inserter_char.cc (test06): Add test.
557 2000-03-14  Phil Edwards  <pme@sourceware.cygnus.com>
559         * docs/17_intro/howto.html:  Add missing "TOC" entry, and new section.
561         * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Fixup.
562         * aclocal.m4: Regenerate.
563         * configure: Regenerate.
565 2000-03-13  scott snyder  <snyder@fnal.gov>
566             Jason Merrill  <jason@cygnus.com>
567         
568         * bits/locale_facets.h (class ctype, class ctype<char>, class
569         ctype<wchar_t>): More mask fixes.
570         * testsuite/22_locale/ctype.cc: Test for the problem.
572 2000-03-13  Benjamin Kosnik  <bkoz@cygnus.com>
574         * acconfig.h: Add bits.
575         * configure.in: Move AM_PROG_LIBTOOL up in file.
576         Tweak cross compiling info. 
577         * configure: Regenerate.
579         * mknumeric_limits (XCOMPILE): Echo compilation line for
580         gen-num-limits.cc
582         * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Add aix checks.
583         * aclocal.m4: Regenerate.
584         * configure: Regenerate.
585         * config/aix/ctype.cc (ctype): Tweak.
586         * config/aix/bits/ctype_base.h (ctype_base): Tweak.
587         * config/aix/bits/ctype_specializations.h: New file.
589 2000-03-10  scott snyder  <snyder@fnal.gov>
591         * stl/bits/stl_vector.h (_M_assign_aux): Fix for __normal_iterator 
592         conversions.
593         * testsuite/23_containers/vector_modifiers.cc (test01): Add a
594         regression test for the problem.
596 2000-03-09  Benjamin Kosnik  <bkoz@fidel.cygnus.com>
597         
598         * testsuite/27_io/streambuf.cc (class testbuf): Same here.      
599         * bits/fpos.h: And here.
600         * bits/std_ostream.h: Same here.
601         * bits/std_istream.h: Same here.
602         * bits/basic_ios.h: Same here.
603         * bits/std_fstream.h: Same here.
604         * bits/sbuf_iter.h (std): Here too.
605         * bits/std_sstream.h: Make types public.
607         * src/misc-inst.cc: Use size_t instead of unsigned int. 
608         * bits/locale_facets.tcc (_S_format): For now, cast to char. I
609         suppose this should be ctype::narrow... all the ctype<wchar_t>
610         stuff needs to be cleaned up.
612 2000-03-09  Phil Edwards  <pme@sourceware.cygnus.com>
614         * docs/gentop:  Remove entire directory, finally.
616 2000-03-09  scott snyder  <snyder@fnal.gov>
618         * bits/std_cmath.h (modf): Fix pointer overrun.
619         * testsuite/26_numerics/c_math.cc (test04, main): Add a regression 
620         test for the problem.
622 2000-03-09  Phil Edwards  <pme@sourceware.cygnus.com>
624         Looks like changes to the #include'd files must be followed by a
625         change to the #include'ing files to take effect.  Caveat emptor.
626         * docs/header.html:  New file, for server-side include.
627         * docs/footer.html:  New file, for server-side include.
628         * docs/documentation.html:  Change to use SSI.
629         * docs/download.html:  Ditto.
630         * docs/index.html:  Ditto.
631         * docs/mail.html:  Ditto.
632         * docs/status.html:  Ditto.
633         * docs/thanks.html:  Ditto, plus minor updates.
634         * docs/how.html:  Remove.
636 2000-03-09  Benjamin Kosnik  <bkoz@gnu.org>
638         Preliminary alpha-linux support.
639         * src/locale.cc (ctype<wchar_t>): Use correct types...
640         * bits/locale_facets.h (ctype<char>): Add __table_type typedef.
641         (ctype<wchar_t>): Same.
642         * bits/locale_facets.h (ctype<wchar_t>): Have char and wchar_t
643         types match for table_size (size_t).
645         * config/gnu-linux/ctype.cc (ctype): Change char_type to wchar_t
646         as per char specialization.
647         * config/*/ctype.cc: Same.
648         
649 2000-03-09  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
651         * bits/locale_facets.h (_Ctype<>::mask): Import from base class
652         _Ctype_nois<>.  Template base classes are never examinated in
653         first-phase name-lookup. 
655 2000-03-08  Benjamin Kosnik  <bkoz@gnu.org>
657         Add Solaris 2.5.1 support.
658         * config/solaris/solaris2.5/bits/ctype_base.h (ctype_base): And here.
659         * config/solaris/solaris2.5/ctype.cc: Fixup.
660         * config/solaris/solaris2.5/bits/ctype_specializations.h: Add.
661         * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Add bits for solaris2.5.1.
662         * aclocal.m4: Regenerate.
663         * configure: Regenerate.
664         
665         * config/default/ctype.cc (ctype): Fixup.
667 2000-03-07  Benjamin Kosnik  <bkoz@blues.cygnus.com>
669         * testsuite/27_io/filebuf.cc: Activate init code from yesterday...
670         * testsuite/27_io/ostream_inserter_arith.cc (testcases): Fix for
671         non-wchar_t case.
673 2000-03-07  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
675         * bits/cpp_type_traits.h: Expand on this file purpose.
677 2000-03-06  Benjamin Kosnik  <bkoz@gnu.org>
679         * bits/locale_facets.h (ctype<char>): Remove static members, and
680         re-work initialization code.
681         (ctype<wchar_t>): Same.
682         Move _S_touppper to _M_toupper and initialize in ctor.
683         Move _S_tolower  to _M_tolower and initialize in ctor.  
684         Move _S_table to _M_ctable and intialize in ctor.
685         * bits/locale_facets.h (std): And here.
686         * src/locale.cc (std): Tweak.
687         * config/gnu-linux/ctype.cc: Change initialization here.
688         * config/newlib/ctype.cc: And here.
689         * config/solaris/solaris2.7/ctype.cc: And here.
690         * config/solaris/solaris2.6/ctype.cc: And here.
691         
692         * bits/localefwd.h: Tweak.
693         * bits/std_streambuf.h: Tweak formatting.
695         * testsuite/27_io/filebuf.cc: Remove BUFSIZ dependancies.
697 2000-03-05  Chip Salzenberg  <chip@valinux.com>
699         * src/misc-inst.cc (basic_iostream<>):  Instantiate.
701 2000-03-02  Phil Edwards  <pme@sourceware.cygnus.com>
702             Kevin Atkinson  <kevinatk@home.com> 
704         Initial grab of SGI's strstream implementation with minor
705         modifications.
706         * src/strstream.cc:  New file.
707         * std/strstream:  New file.
708         * stl/bits/std_strstream.h:  New file.
709         * bits/std_streambuf.h:  Add public access.
710         * src/Makefile.am:  Add strstream sources to list of dependancies.
711         * src/Makefile.in:  Regenerate.
713 2000-03-03 2000  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
715         * bits/valarray_meta.h: Fix typo.
716         
717 2000-03-02  Alexandre Oliva  <oliva@lsd.ic.unicamp.br> 
718             Chip Salzenberg  <chip@valinux.com>
719             Petter Urkedal  <petter@matfys.lth.se>
721         * src/Makefile.am (myinstallheaders): Hack to avoid
722         `for i in ; do'.
723         * src/Makefile.in: Regenerate.
724         
725 2000-03-02  Chip Salzenberg  <chip@valinux.com>
727         * libio/Makefile.an, math/Makefile.an, src/Makefile.am
728         (LINK): Put quotes around "$(CC)" for libtool link mode,
729         so libtool will use "-B" options during GCC bootstrap.
730         * */Makefile.in: Regenerate.
731         
732 2000-03-02  Petter Urkedal  <petter@matfys.lth.se>
734         * config/c_io_libio.h: Enclose it all in ::std.
735         * bits/basic_string.h (basic_string<>): Make types and
736         `npos' public.
737         * mkc++config: Truncate output file before writing.
739 2000-03-01  Benjamin Kosnik  <bkoz@gnu.org>
741         * math/cabsf.c (__mycabsf): Rename to cabsf.
742         * math/cabs.c (__mycabs): Rename to cabs.
744 2000-02-29  LLeweLLyn Reese  <llewelly@198.dsl.xmission.com>
746        * bits/basic_string.h: Move declarations of __out_of_range(),
747        __length_error() and accompanying macros ...
748        * bits/exception_support.h: here. (Newly created file).
749        * bits/basic_string.h: #include <bits/exception_support.h>
750        * stl/bits/stl_vector.h: #include <bits/exception_support.h>
751        * src/Makefile.am (headers): Add.
752        * src/Makefile.in: Regenerate.
753         
754 2000-02-29  Benjamin Kosnik  <bkoz@cygnus.com>
755         
756         * bits/cpp_type_traits.h: Rename structs so they don't clash with
757         type_traits.h.
758         * bits/valarray_array.h: Synch. Fix typos.
760         * libio/Makefile.am: Change to only compile source files that
761         config/c_io_libio.cc actually needs.
762         * libio/Makefile.in: Regnerate.
763         * libio/PlotFile.hes SFile.h builtinbuf.h editbuf.h floatconv.c
764         floatio.h fstream.h indstream.h iofclose.c iofdopen.c iofeof.c
765         ioferror.c iofflush.c iofgetpos.c iofgets.c iofopen.c iofprintf.c
766         iofputs.c iofread.c iofscanf.c iofsetpos.c ioftell.c iofwrite.c
767         iogetc.c iogetdelim.c iogetline.c iogets.c ioignore.c iomanip.h
768         iopadn.c ioperror.c iopopen.c ioprims.c ioprintf.c ioputc.c
769         ioputs.c ioscanf.c ioseekoff.c ioseekpos.c iosetbuffer.c
770         iosetvbuf.c iosprintf.c iosscanf.c iostream.h iostrerror.c
771         ioungetc.c iovfprintf.c iovfscanf.c iovsprintf.c iovsscanf.c
772         istream.h list.out ostream.h outfloat.c parsestream.h peekc.c
773         pfstream.h procbuf.h stdiostream.h stream.h streambuf.h strfile.h
774         strops.c strstream.h: Delete.
776         * bits/basic_file.h: Stub out or delete unused bits in this
777         interface.
778         (filepos_beg): Remove.  
779         (filepos_cur): Remove.
780         (filepos_valid): Remove.
781         * config/c_io_libio.cc: Resynch with the changes to basic_file.
783 2000-02-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
785         * bits/cpp_type_traits.h: Correct typo.
787 2000-02-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
789         * bits/cpp_type_traits.h: New file.
790         
791         * bits/valarray_array.h: Tweak.  #include <bits/cpp_type_traits.h>
792         Improve array construction.
793         (_Array_default_ctor): New dispatcher class. 
794         (__valarray_default_construct): New function.
795         (_Array_copy_ctor): New dispatcher class.
796         (__valarray_copy_construct): New function.
797         (_Array<>::free_data): Remove.
799         * src/Makefile.am (headers): Add cpp_type_traits.h
800         * src/Makefile.in: Regenerate.
802 2000-02-28  Benjamin Kosnik  <bkoz@cygnus.com>
804         Prune libio directory to match files in libio/Makefile.
805         * libio/PlotFile.cc,indstream.cc, isgetsb.cc, sbform.cc,
806         stream.cc, SFile.cc, ioassign.cc, isscan.cc, sbgetline.cc,
807         streambuf.cc, builtinbuf.cc, ioextend.cc, osform.cc, sbscan.cc,
808         strstream.cc, editbuf.cc, iomanip.cc, parsestream.cc,
809         stdiostream.cc, filebuf.cc, iostream.cc, pfstream.cc,
810         stdstrbufs.cc, fstream.cc, isgetline.cc, procbuf.cc,
811         stdstreams.cc: Remove.
812         * libio/floatio.h, iolibio.h, iostdio.h, iostreamP.h: Remove.
813         * libio/iofflush_u.c: Remove.
814         
815         * libio/dbz: Remove.  
816         * libio/include: Remove.  
817         * libio/stdio: Remove.  
818         * libio/tests: Remove.  
819         * libio/testsuite: Remove.
820         
821         * config/c_io_libio.cc: Add fcntl.h include for Solaris.
823         * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Add bits.
824         * configure.in: Replace 'grep -e' with 'grep' for Solaris.
825         * configure: Regenerate.
827 2000-02-25  Benjamin Kosnik  <bkoz@gnu.org>
829         Abstract out the underlying "C" io bits.
830         * bits/std_new.h: Remove <stl_config> include, as well as <cstddef>.
831         * stl/bits/stl_string_fwd.h: Remove <stddef> include.
832         * bits/std_cwchar.h: Wrap with _GLIBCPP_USE_WCHAR_T guards. Don't
833         include <cstddef>.
834         * stl/bits/stl_config.h: Don't include _G_config.h.
836         * bits/basic_file.h: Allow for non-inheritance based __basic_files.
837         * config/c_io_libio.h (_GLIBCPP_BASIC_FILE_INHERITANCE): Define.
838         * config/c_io_libio.cc: Tweak.
840         * src/Makefile.am (TOPLEVEL_INCLUDES): Add includedir.
841         * src/Makefile.in: Regenerate.
842         * Makefile.am (AM_MAKEFLAGS): Define includedir so that
843         prefix/include files will be picked up.
844         * Makefile.in: Regenerate.
845         * math/Makefile.am (TOPLEVEL_INCLUDES): And here.
846         * libio/Makefile.am (TOPLEVEL_INCLUDES): And here.
847         
848         * bits/std_ios.h: Include <bits/c++io.h> instead of libio.
849         * bits/fpos.h: And here.        
850         * bits/basic_file.h (get_fileno): Move definition from ...
851         * src/basic_file.cc (std): To here.
852         * bits/fpos.h: Move types for streamoff, streampos to..
853         * bits/basic_file.h: Move __c_file_type and fpos typedefs to...
854         * config/c_io_libio.h: ...here.
855         (_GLIBCPP_[BOOLALPHA, HEX, DEC, FIXED, INTERNAL, LEFT, OCT, RIGHT,
856         SCIENTIFIC, SHOWBASE, SHOWPOINT, SHOWPOS, SKIPWS, UNITBUF,
857         UPPERCASE, ADJUSTFIELD, BASEFIELD, FLOATFIELD, BADBIT, EOFBIT,
858         FAILBIT, GOODBIT, APP, ATE, BINARY, IN, OUT, TRUNC): New macros to
859         abstract out bits in ios_base.
860         * bits/ios_base.h: Re-macrofy.  
861         * src/basic_file.cc : Rename, move to
862         * config/c_io_libio.cc: Here. 
863         * config/c_io_libio.h: New file. Include libio.
864         * bits/c++config.h: Don't define _GLIBCPP_USE_LIBIO.
865         * configure.in (blddir): Add enabling bits for GLIBCPP_ENABLE_CSTDIO.
866         * configure: Regenerate.
867         * src/Makefile.am (sources): Take out basic_file.cc and add c++io.cc.
868         (generated_headers): Add c++io.h
869         * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): New function to select
870         underlying "C" io library.
871         * acinclude.m4 (GLIBCPP_CHECK_LIBIO): Roll functionality into
872         GLIBCPP_ENABLE_CSTDIO.
873         
874         * configure.in: Add configure bits for cross compiling non-newlib
875         targets. .
876         GLIBCPP_CHECK_COMPILER_VERSION: Take out this test for this
877         target, as we assume g++ support is not the limiting factor.
878         GLIBCPP_CHECK_LIBIO: Same, know we don't need libio.  
879         * configure: Regenerate.
880         
881 2000-02-22  Benjamin Kosnik  <bkoz@cygnus.com>
883         * Makefile.am (INTERFACE): Define.
884         * Makefile.in: Regenerate.
885         * libio/ChangeLog: Add entry.
887 2000-02-21  Benjamin Kosnik  <bkoz@cygnus.com>
889         * docs/install.html: Update install directions.
891         * docs/status.html: Fix sidebar to be consistent.
892         * docs/thanks.html: Same.
893         * docs/links.html: Same.
894         * docs/mail.html: Same.
895         * docs/download.html: Same.
897         * testsuite/27_io/filebuf.cc: Change BUFSIZ to buffer_size, and
898         kill the macro BUFSIZ. I think the solaris fails lie elsewhere
899         however, in the ctype_char_members.cc fail (for instance.)
900         * testsuite/17_intro/headers.cc: Remove extraneous fails for hosts
901         that do not have wchar_t enabled.
902         * testsuite/27_io/ostream_inserter_arith.cc (struct _TestCase):
903         Same here.
904         * testsuite/27_io/iostream_objects.cc: And here.
906         * libio/gen-params (CONFIG_NM): Specifically add in nm as the
907         default CONFIG_NM.
908         
909 2000-02-18  Benjamin Kosnik  <bkoz@haight.constant.com>
910             Tom Tromey  <tromey@cygnus.com>
912         * configure.in: Manually add MULTISUBDIR.
913         * configure: Regenerate.
914         * src/Makefile.am (MULTISUBDIR): Add the lesser evil of Tom's two
915         "Eww" hacks to get multilib installs working correctly.
916         ($(headers): Test for MULTISUBDIR before installing.
917         * Makefile.am (AM_MAKEFLAGS): Don't define MULTISUBDIR, instead
918         have configure hack it in.
919         * Makefile.in: Regenerate.
920         * acinclude.m4 (GLIBCPP_CXXFLAGS): Tweak wording. 
921         Add enabling bits for native Cygwin ctypes, and other newlib-based
922         Oses.
923         
924 2000-02-17  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
926         * mkc++config (OUT_H): Remove EOF in cygwin.
927         * acinclude.m4 (LIBS): Tweaks to allow cygwin to configure.
929         Tom Tromey  <tromey@cygnus.com>
930         * src/Makefile.am: Tweaks for installing multilibs.
932 2000-02-17  Benjamin Kosnik  <bkoz@cygnus.com>
934         * src/Makefile.am: 
935         (toolexeclib_LTLIBRARIES): Use this instead of lib_LTLIBRARIES.
936         Add USE_LIBDIR bits here, not...
937         * src/Makefile.in: Regenerate.
938         * Makefile.am: ...here.
939         * Makefile.in: Regenerate.
940         
941 2000-02-17  Benjamin Kosnik  <bkoz@gnu.org>
943         * acinclude.m4 (LIBS): Fix typos.
944         * configure.in: _GLIBCPP_BUGGY_FLOAT_COMPLEX,
945         _GLIBCPP_BUGGY_COMPLEX for crosses.
946         * src/Makefile.am (std_headers): Add libio.h as install include,
947         as with _G_config.h
948         * src/Makefile.in: Regenerate.
950         * mkcheck.in: Add bits to set CXX to cross compiler.
952         * src/complex_io.cc: Tweak.
953         * configure.in: _GLIBCPP_BUGGY_COMPLEX for crosses.
954         * configure: Regenerate.
955         
956         * config/newlib/ctype.cc: Tweaks.
957         * config/newlib/bits/ctype_base.h (ctype_base): Set mask to char,
958         not const char.
959         * src/complex_io.cc (operator>>(istream, complex): Define out if
960         BUGGY_COMPLEX.
962 2000-02-16  Benjamin Kosnik  <bkoz@cygnus.com>
964         * config/newlib/bits/ctype_base.h: Correct _S_table.
966         Reconfigure ctype support for "C" libraries that don't use arrays.
967         * testsuite/22_locale/ctype_char_members.cc: New file. Test for
968         basic ctype<char> functionality.
969         * src/locale.cc: Move host-specific ctype functions that are not
970         inlines to config/*/ctype.cc files.
971         (ctype<char>::do_tolower): For instance.
972         (ctype<char>::do_toupper): For instance.
973         (ctype<wchar_t>::do_tolower): For instance.
974         (ctype<wchar_t>::do_toupper): For instance.
975         * config/gnu-linux/ctype.cc: Modify.
976         * config/default/ctype.cc: Modify.
977         * config/newlib/ctype.cc: Modify.
978         * config/solaris/solaris2.6/ctype.cc: Modify.
979         * config/solaris/solaris2.7/ctype.cc: Modify.
981         * bits/locale_facets.h (ctype<char>::is): Mark inline, move
982         out-of-line.
983         (ctype<char>::scan_is): Here too.
984         (ctype<char>::scan_not): Here too.
985         Move out of line defs to config/*/bits/ctype_specializations.h.
986         * config/gnu-linux/bits/ctype_specializations.h: ...here. New file.
987         * config/default/bits/ctype_specializations.h: ...here. New file.
988         * config/newlib/bits/ctype_specializations.h: ...here. New file.
989         * config/solaris/solaris2.6/bits/ctype_specializations.h: New file.
990         * config/solaris/solaris2.7/bits/ctype_specializations.h: New file.
991         * src/Makefile.am (headers): Add ctype_specializations.h.
992         * src/Makefile.in: Regenerate.
993         
994         Aaron Weiss <weiss@clearway.com> 
995         * Makefile.am (AM_MAKEFLAGS): Add NM_FOR_BUILD, NM_FOR_TARGET, and
996         CONFIG_NM for Solaris builds.
997         * Makefile.in: Regenerate.
998         
999         * src/locale.cc: Tweak formatting.
1001 2000-02-15  Benjamin Kosnik  <bkoz@cygnus.com>
1003         Jim Parsons  <parsons@clearway.com> 
1004         * testsuite/27_io/istream_unformatted.cc (test06): Add test.
1005         * bits/istream.tcc (read): Set failbit if !good(). Don't increment
1006         gcount if eof.
1007         (readsome): Same.
1009         Michel Decima  <michel.decima@cnet.francetelecom.fr>
1010         * testsuite/27_io/streambuf.cc: Add test.
1011         * bits/streambuf.tcc (xsgetn): Don't test for valid mode.
1012         (xsputn): Same.
1013         
1014         * src/Makefile.am (AM_CXXFLAGS): Pass down AC_CXXFLAGS,
1015         OPTIMIZE_CXXFLAGS, etc. So --enable-debug and --enable-namespaces
1016         will work correctly, for instance.
1017         * src/Makefile.in: Regenerate.
1019         * bits/locale_facets.h: Fix merge error.
1020         (num_put::put(unsigned long long): And here.
1021         * mknumeric_limits (trait_name): Same.
1022         
1023 2000-02-15  Chip Salzenberg  <chip@valinux.com>
1025         Support 'configure --enable-long-long'.
1026         * bits/c++config.h (_GLIBCPP_USE_LONG_LONG): Remove.
1027         * stl/bits/stl_config.h (__STL_LONG_LONG): Remove '#if 0'.
1028         * acconfig.h (_GLIBCPP_USE_LONG_LONG): Add.  Default to undef.
1029         * acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Define flag macro.
1030         * configure.in (GLIBCPP_ENABLE_LONG_LONG): Use it.
1032         * aclocal.m4: Regenerate.
1033         * config.h.in: Regenerate.
1034         * configure: Regenerate.
1036 2000-02-15  Chip Salzenberg  <chip@valinux.com>
1038         Improve (complete?) 'long long' support.
1039         * mknumeric_limits: Call $CXX with $CPPFLAGS.  Define statics
1040         for {,unsigned} long long if the limits header declares them.
1041         * src/gen-num-limits.cc: Include <bits/c++config.h> early.
1042         (__USE_GNU, _GNU_SOURCE): Define if _GLIBC_USE_LONG_LONG.
1043         (long long, unsigned long long): Gen limits if _GLIBC_USE_LONG_LONG.
1044         * bits/locale_facets.h (num_get<>::get(..., long long &)): Define.
1045         (num_put<>::put(..., long long)): Likewise.
1046         (num_put<>::put(..., unsigned long long)): Likewise.
1047         * bits/locale_facets.tcc (_S_format): Rename from _S_format_long.
1048         Templatize last parameter to support 'long long'.
1049         (num_put<>::put(...)): Call _S_format with new name.
1050         (num_put<>::put(..., long long)): Define.
1051         (num_put<>::put(..., unsigned long long)): Likewise.
1052         * src/locale-inst.cc (_S_format): Instantiate under new name.
1054 2000-02-15  Petter Urkedal  <petter@matfys.lth.se>
1056         * src/complex.cc (operator<<, operator>>): Moved from here...
1057         * src/complex_io.cc: ...to new file.
1058         (operator>>): Stub replaced by the real thing.
1059         * src/Makefile.am (sources): Inserted complex_io.cc.
1060         * src/Makefile.in: Regenerate.
1061         * testsuite/26_numerics/complex_inserters_extractors.cc: Check it.
1063 2000-02-14  Benjamin Kosnik  <bkoz@gnu.org>
1065         Add in ctype information for newlib "C" libraries.
1066         * config/newlib: New directory
1067         * config/newlib/bits/ctype_base.h: New file.
1068         * config/newlib/ctype.cc: New file.
1070         * ctype/config/linux/*: Rename, move to...
1071         * ctype/config/gnu-linux/*: Here.
1072         
1073         Finish off multilib work.
1074         * configure.in: Don't set CXX if not Canadian cross.
1075         * configure: Regenerate.
1076         * acinclude.m4 (GLIBCPP_CHECK_LIBIO): Tweak messages.
1077         * aclocal.m4: Regenerate.
1078         * config.h.in: Regenerate.
1080         * install-sh: Remove, as AC_CONFIG_AUX_DIR(..) picks this out of
1081         the top-level gcc directory now.
1082         * mkinstalldirs: Remove.
1083         * missing: Remove
1084         * ltconfig: Remove.
1085         * ltmain.sh: Remove.
1086         * config.guess: Remove.
1087         * config.sub: Remove.
1088         
1089 2000-02-13  Benjamin Kosnik  <bkoz@cygnus.com>
1091         * configure.in (glibcpp_basedir): Add glibcpp_basedir.
1092         * Makefile.am: Move mutlilib stuff to src/Makefile.am. 
1093         * Makefile.in: Regenerate.
1094         * src/Makefile.am: Add multilib bits.
1095         * src/Makefile.in: Regenerate.
1096         
1097 2000-02-12  Benjamin Kosnik  <bkoz@cygnus.com>
1099         * configure.in: Clean, add some multilib support.
1100         * configure: Regenerate.
1101         * configure.host: New file.
1103         * acinclude.m4: GLIBCPP_CHECK_LIBIO. Take bits from configure.in and 
1104         roll a new function, checks for presence of libio.
1105         GLIBCPP_CHECK_COMPILER_VERSION: Same.
1106         GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT: Same.
1107         GLIBCPP_CHECK_MATH_SUPPORT: Same.
1108         GLIBCPP_CHECK_WCHAR_T_SUPPORT: Same.
1109         GLIBCPP_CHECK_LIBIO: Same.
1110         GLIBCPP_CHECK_CTYPE: Same.
1111         * aclocal.m4: Regenerate.
1112         * config.h.in: Regenerate.      
1114         * Makefile.am: Tweaks.
1115         * Makefile.in: Regenerate.
1116         
1117 2000-02-11  Benjamin Kosnik  <bkoz@cygnus.com>
1119         * configure.in: Make outputing the libio/Makefile
1120         conditional. Haha, yeah right. Anyway, we instead do this thing
1121         where if libio is found, then we build a null library, as there is
1122         no point in duplicating the found libio.
1123         * Makefile.am: Tweak.
1124         * Makefile: Regenerate.
1125         * libio/Makefile.am: Add _G_config.h stuff. Now cross compilers
1126         are happy happy happy.
1127         * libio/Makefile.am: Regenerate.
1128         * libio/gen-params: New file.
1129         * src/Makefile.am: Make libio.la non-conditional, as it is now a
1130         null library if it's not needed. At least we are being consistent,
1131         if not as elegant as we could be.
1132         * src/Makefile: Regenerate.
1133         
1134 2000-02-10  Benjamin Kosnik  <bkoz@gnu.org>
1136         * Makefile.am (SUBDIRS): Add libio again.
1137         * Makefile.in: Regenerate.
1138         * configure.in (BUILD_LIBIO_INCLUDE): And here.
1139         (AC_OUTPUT): Generate libio/Makefile again.
1140         * configure: Regnerate.
1141         * src/Makefile.am (libstdc___la_LIBADD): Change path so that
1142         libio.la is referring back to the libio subdir again.
1143         (LIBIO_INCLUDES): And here.
1144         * src/Makefile.in: Regenerate.
1145         
1146 2000-02-09  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1148         * math/complex-stub.h: Missed one. Change __mycabs* to cabs*.
1150 2000-02-09  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1152         * bits/valarray_array.h (<bits/std_new.h>): #include.
1153         (__valarray_get_memory): New function.
1154         (__valarray_release_memory): Likewise.
1155         (__valarray_default_construct): New functions.
1156         (__valarray_fill_construct): New function.
1157         (__valarray_copy_construct): New funstions.
1158         (__valarray_destroy_elements): New function.
1160         * bits/valarray_array.tcc (__valarray_copy_construct): New
1161         functions. 
1163         * bits/std_valarray.h (valarray<>::valarray): Use
1164         __valarray_get_memory and __valarray_fill_construct,
1165         __valarray_copy_construct, __valarray_default_construct to
1166         properly construct valarrays.  
1167         (valarray<>::~valarray): Use __valarray_destroy_elements to
1168         destroy elements and __valarray_release_memory to return memory.
1169         (valarray<>::shift): Tweak. 
1170         (valarray<>::cshift): Likewise.
1171         (valarray<>::resize): Robustify.
1173 2000-02-09  Benjamin Kosnik  <bkoz@cygnus.com>
1175         * mknumeric_limits (XCOMPILE): Add support for cross compiling.
1176         * bits/limits_generic.h: New file, defaults.
1177         * src/limits_generic.cc: New file, defaults.    
1178         * configure.in (LIBS): Run mknumeric_limits at configure time.
1179         * acconfig.h: Remove PACKAGE VERSION HAVE_COMPLEX
1180         HAVE_LC_MESSAGES, tidy, clean, etc.
1181         * src/Makefile.am (geberated_sources): Remove.
1183         * bits/fpos.h: Use _GLIBCPP_USE_LIBIO guards for libio typenames
1184         (_IO_off_t, _IO_ssize_t)
1186         * src/complex.cc: Use glibc's <complex.h> if
1187         possible. . . apparently this was not being done before. Include
1188         tweaks.
1189         (abs): Enable cabs if it's around, instead of mycabs.
1190         * src/complexf.cc (FCT): Add global scope to match complex.cc.
1191         * src/complexl.cc (FCT): Same.
1192         * math/Makefile.am (EXTRA_LONG_DOUBLE_yes): Change mycabsl to cabsl.
1193         (libmath_la_SOURCES): And here.
1194         * math/(mycabs.c, mycabsf.c, mycabsl.c): Move to. . .
1195         * math/(cabs.c, cabsf.c, cabsl.c): . . . Here.
1196         * math/complex-stub.h: Move c_log declarations into. . . 
1197         * math/mathconf.h: Here. This is because glibc's <complex.h>
1198         declares cclog, not c_log. The case of the dueling standards. . .
1199         * math/mathconf.h: Add _GLIBCPP_HAVE_* to macros.
1200         * math/Makefile.am: Change.
1201         * math/nan.c (nan): Change signature.
1202         * math/mathconf.h (NAN): Same.
1203         * math/complex-stub.h (nan): And here.
1204         
1205         * Makefile.am (rebuild-stamp): Remove libio and libio
1206         dependancies.  Plan to take out libio subdir and just merge with
1207         libio in top level gcc directory. Of course, this assumes there is
1208         a libio in the top level directory (ie ../src_dir). This will
1209         probably change the way this library is configured by default.
1210         * libio/*: Remove.
1212 2000-02-09  Chip Salzenberg  <chip@valinux.com>
1214         * localefwd.h (locale): Make public: facet, id, category.
1215         
1216 2000-02-09  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1218         * testsuite/26_numerics/buggy_complex.cc: Fix Origin:.
1220         * acinclude.m4: Patch only once!
1222 2000-02-09  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1224         * testsuite/26_numerics/buggy_complex.cc: New file.
1226 2000-02-05  Petter Urkedal  <petter@matfys.lth.se>
1228         * acinclude.m4: New GLIBCPP_CHECK_COMPLEX_SUPPORT macro. Based
1229         on the 1999-11-21 entries by Mumit Khan.
1230         * configure.in: Use.
1231         * acconfig.h: New _GLIBCPP_BUGGY_COMPLEX macro.
1232         * bits/std_complex.h: Use.
1233         
1234 2000-02-04  Philip Martin <pm@corris.dircon.co.uk>
1236        * stl/bits/stl_algobase.h: Add traits based dispatch for
1237        __normal_iterator in the copy_backward()algorithm
1238        * stl/bits/stl_vector.h: Reduce use of __normal_iterator
1239        base() function.
1241 2000-02-04  Mumit Khan  <khan@xraylith.wisc.edu>
1242         
1243         * src/gen-num-limits.cc (signal_handler): Work around signal
1244         handling problem on Cygwin. 
1245         Thanks to Chris Faylor <cgf@cygnus.com>.
1247 2000-02-03  Benjamin Kosnik  <bkoz@cygnus.com>
1249         * configure.in: Add (preliminary) support for cross compiles and
1250         multilibs.
1251         Remove AC_C_BIGENDIAN tests. Why is this necessary? Cross
1252         compilation freaks on this.
1253         * configure: Regenerate.
1254         * src/Makefile.am: Add support for cross compiles.
1255         * src/Makefile: Regenerate.
1256         * Makefile.am: Add support for cross compiles.
1257         * Makefile.in: Regenerate.
1258         
1259 2000-02-02  Benjamin Kosnik  <bkoz@cygnus.com>
1261         * configure.in (LIBS): Remove unused subdirs.   
1262         * configure: Regenerate.
1263         * Makefile.am (SUBDIRS): And here.
1264         * Makefile.in: Regenerate.
1265         * src/Makefile.am (sources): And here.
1266         * src/Makefile.in: Regenerate.
1267         * string/*: Remove.
1268         * amm1/*: Remove.
1269         * generic/*: Remove.
1270         * glibc/*: Remove.
1271         * mkcheck.in (INC_PATH): Include $BUILD_DIR before any source dirs.
1273         * libtool: Update to libtool-1.3.4.
1274         * ltconfig: Same
1275         * ltmain.sh: Same
1276         * config.sub: Same.
1277         * config.guess: Same.
1279 2000-02-02  Benjamin Kosnik  <bkoz@cygnus.com>
1280             Alexandre Petit-Bianco  <apbianco@cygnus.com>    
1282         * mkc++config: New file. Put autoconf macros into _GLIBCPP_
1283         namespace instead of polluting global namespace with duplicate
1284         autoconf output.
1285         * configure.in (AC_OUTPUT): Don't need to generate bits/config.h
1286         here anymore. . .
1287         (AC_OUTPUT_COMMANDS): Make it here.
1288         * configure: Regenerate.
1289         * bits/c++config.h.in (_CPP_CPPCONFIG): Change. Tweak. Remove
1290         endif, as now we will add it manually.
1291         Move to this file. . .
1292         * bits/c++config.h: New file. Same as old c++config.h.in except
1293         the ending macro guard is now appended manually.
1295         * bits/locale_facets.tcc: Change HAVE_* macros to _GLIBCPP_HAVE_*.
1296         * bits/std_cmath.h: Same here.
1297         * bits/std_cwchar.h: And here.
1298         * src/locale.cc: And here.
1299         * src/complexl.cc: And here.
1300         * math/mathconf.h: Change to include "config.h" instead of
1301         bits/c++config.h.
1302         
1303 2000-02-01  Benjamin Kosnik  <bkoz@gnu.org>
1305         * configure.in: Add support for threads. Try a model closer to
1306         libjava, as hopefully if the thread bits are added carefully
1307         enough, the source code will not have gross hacks. Besides, the
1308         libstdc++-v2 model could be easily emulated without the necessity
1309         of linking files in (as currently done)--all that needs to be done
1310         is AC_DEFINE(-D_PTHREADS) etc. However, let's try something
1311         new. . . and see if we arrive at a more elegant solution.
1312         * configure: Regenerated.
1313         * config/threads-no.h: New file. 
1314         * config/threads-posix.h: New file. 
1315         * src/Makefile.am (myinstallheaders): Install c++threads.h.
1316         * src/Makefile.in: Regenerated.
1317         
1318 2000-01-31  Benjamin Kosnik  <bkoz@gnu.org>
1320         META-QUESTION: Can we just make a "header.html" file and a
1321         "footer.html" and just include them in all the doc sub-pages. The
1322         duplication of the header info is kind of gross, and weak
1323         considering that if you change order or layout then all this stuff
1324         has to be changed in all the sub-files.
1326         * docs/17_intro/contribute.html: Take out duplicate file info.
1327         * README: Should just contain a link to the docs/index.html
1328         page. Duplicate information removed.
1329         * docs/faq/index.html: Remove indexes into HOWTOS.
1330         * docs/17_intro/howto.html: Make intro and docs part more
1331         centralized. Move intro stuff to documentation.html.
1332         * docs/how.html: Tweak. Does this file need to exist? What calls it?
1333         * docs/README.html: Move documentation files to
1334         documentation.html. Should this file be renamed
1335         "config_and_install.html" as that is what is apparently covered
1336         here. . .
1337         * docs/install.html: Yes. New file, moved and renamed README.html.
1338         * docs/documentation.html: New file. This is the index file for
1339         the documentation.
1340         * docs/index.html: Edit sidebar order. Insert new link to new
1341         documentation spine, documentation.html.
1343 2000-01-31  Scott Snyder  <snyder@fnal.gov>
1345         * bits/istream.tcc (operator>>(istream&, string&)): Set failbit if 
1346         we don't extract any characters.
1347         * testsuite/21_strings/inserters_extractors.cc (main): New tests.
1348         
1349 2000-01-31  Anders Widell  <awl@hem.passagen.se>
1351         * stl/bits/std_bitset.h (_M_do_left_shift): Handle case when shift
1352         step is a multiple of the word size.
1353         (_M_do_right_shift): Same.
1354         * testsuite/23_containers/bitset_shift.cc: New file.
1355         
1356 2000-01-31  Nathan Myers  <ncm@zembu.com>
1357         
1358         * README (Documentation): Add path info, fix typos.
1359         
1360 2000-01-26  Benjamin Kosnik  <bkoz@redhat.com>
1361         
1362         * bits/locale_facets.tcc (num_get::_M_extract): Add the freaking
1363         crazy group checking for numpunct, for real this time. At some
1364         point, the local variable __grp should probably get replaced a
1365         char array, or something a bit more lightweight.
1366         (num_get::do_get(bool)): Simplify. Don't set bool reference to
1367         parsed value unless err isn't failbit.
1368         (num_get::do_get(*)): Same, make consistent.
1370         Nathan Myers  <ncm@zembu.com>
1371         Jim Parsons  <parsons@clearway.com>
1372         * testsuite/27_io/istream_extractor_arith.cc (test08): Add
1373         more grouping tests, tweak, scold, wine.
1374         
1375 2000-01-24  Benjamin Kosnik  <bkoz@gnu.org>
1377         * testsuite/27_io/istream_extractor_arith.cc (test07): Add
1378         grouping tests.
1379         * bits/locale_facets.tcc (num_get::_M_extract): Change to fix
1380         grouping bugs. Only allow thousands_sep if _M_use_groupings is
1381         true.
1383         via <llewelly@198.dsl.xmission.com>
1384         * stl/bits/stl_vector.h (vector::_M_range_check): Throw
1385         out_of_range instead of range_error.
1387 2000-01-17  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1389         * bits/std_iomanip.h (setw): Fix typo.
1391 2000-01-14  Benjamin Kosnik  <bkoz@gnu.org>
1393         * testsuite/27_io/istream_extractor_arith.cc: Fix.
1394         * bits/locale_facets.tcc (do_get(...void)): Change to strtoul.
1395         * testsuite/27_io/istream_unformatted.cc (test04): Tweak.
1396         
1397 2000-01-14  Phil Edwards  <pme@sourceware.cygnus.com>
1399         * docs/README.html:  Reformat, more installation instructions.
1400         * docs/gccrebuild.html:  New file.
1401         * docs/faq/index.html:  Update for new testsuite output filenames.
1402         * docs/faq/index.txt:  Regenerate.
1404 2000-01-14  Phil Edwards  <pme@sourceware.cygnus.com>
1406         * Makefile.am (rebuild-stamp, all-local):  New targets.
1407         * Makefile.in:  Regenerated.
1408         * acinclude.m4:  New macro, GLIBCPP_ENABLE_RELIBGCC.
1409         * aclocal.m4:  Regenerated.
1410         * configure.in:  Call new macro.  Also do some sanity checks
1411           for combinations of --enable's that may not make sense.
1412         * configure:  Regenerated.
1414 2000-01-13  Benjamin Kosnik  <bkoz@cygnus.com>
1416         * testsuite/27_io/istream_extractor_arith.cc: Add checks for void*.
1417         * bits/locale_facets.tcc (do_get::(...void)): Set fmtflags
1418         correctly for hex-formatted input.
1420         * testsuite/27_io/istream_manip.cc (test01): Fix, as per setting
1421         eofbit instead of eofbit | failbit.
1422         * testsuite/27_io/istream_unformatted.cc (test04): Fix, as
1423         ifstreams now are opened or'd with ios_base::in (as is correct).
1424         * bits/fstream.tcc (filebuf::seekoff): Simplify.
1425         * testsuite/27_io/ios_base_members_static.cc (test01): Fix thinko.
1427 2000-01-12  Benjamin Kosnik  <bkoz@gnu.org>
1429         * bits/std_fstream.h: Add ios_base as a friend to basic_filebuf.
1430         * bits/basic_file.h (basic_file::filepos_cur): Remove incorrect
1431         (misleading) code.
1432         (__basic_file::filepos_valid): Same.
1433         (__basic_file::filepos_beg): Same.
1434         (__baseic_file::get_fileno): New function.
1435         * bits/ios_base.h (ios_base::sync_with_stdio): Implement, including
1436         feedback from LWG 49.
1437         * src/ios.cc: Move definition here.
1438         * testsuite/27_io/ios_base_members_static.cc (test01): Add tests.
1439         
1440         * bits/std_sstream.h (_M_really_sync): Simplify argument list. Set
1441         output part of internal buffer based on string size, so that
1442         _M_out_end is set consistently with filebufs. Correct comments.
1443         * bits/sstream.tcc (stringbuf::overflow): Update here too.
1444         * testsuite/27_io/stringbuf.cc: Changes.
1445         
1446 2000-01-11  Benjamin Kosnik  <bkoz@gnu.org>
1448         * bits/sstream.tcc (seekoff): Set based on end of written buffer,
1449         not buffer size.
1450         * testsuite/27_io/stringbuf.cc: Add tests for seekoff(end).
1452         * bits/std_fstream.h (ifstream::open): Add ios_base::in to openmode.
1453         (ofstream::open): Add ios_base::out to openmode.
1455         * bits/locale_facets.tcc (_M_extract): Have consistency between
1456         istream::sentry and extractors, where failbit | eofbit is
1457         set. Don't change this, but instead change. . (do some formatting
1458         tweaks.)  
1459         * bits/istream.tcc (istream::sentry): Only set eofbit.
1460         
1461 2000-01-10  Benjamin Kosnik  <bkoz@gnu.org>
1463         * testsuite/27_io/istringstream_members.cc: New file.
1465 2000-01-09  Benjamin Kosnik  <bkoz@gnu.org>
1467         * bits/istream.tcc (istream::sentry): Flush.
1469         * configure.in (AC_OUTPUT_COMMANDS): Simplify.
1470         * configure: Regenerate.
1471         * src/Makefile.am (generated_headers): Remove bits/c++config.h so
1472         that make clean will not delete it.
1473         * src/Makefile: Regenerate.
1474         
1475 2000-01-07  Phil Edwards  <pme@sourceware.cygnus.com>
1477         * mkcheck.in:  Use host-specific invocation of size(1);
1478           GNU binutils isn't necessarily there (more's the pity).
1480 2000-01-06  Benjamin Kosnik  <bkoz@cygnus.com>
1482         * configure.in (LIBS): Better tests for solaris2.6.
1483         * configure: Regenerate.
1485          <vakatov@ncbi.nlm.nih.gov>
1486         * bits/std_sstream.h: As per libstdc++20.
1488 2000-01-06  Benjamin Kosnik  <bkoz@gnu.org>
1490         Break out configuration on solaris.
1491         * configure.in (ctype_solaris): Add in bits for solaris2.6 and 2.7.
1492         * config/solaris/ctype.cc: Delete and move to proper version.
1493         * config/solaris/bits: Same.
1494         * config/solaris/solaris2.5: Add this directory, with subdir bits
1495         and file ctype.cc. Probably doesn't work.
1496         * config/solaris/solaris2.6: Same.
1497         * config/solaris/solaris2.7: Same, as per specs via Phil Edwards.
1498         
1499         * Makefile.am: Change paths to mkcheck.
1500         * Makefile: Regenerate.
1501         * configure.in (AC_OUTPUT_COMMANDS): Build mkcheck here.
1502         * configure: Regenerate.
1503         * src/Makefile.am (generated_headers): Add bits/c++config.h.
1505         * mkcheck: Now autogenerated by configure and renamed. . .
1506         * mkcheck.in (INC_PATH): Add glue for ctype_include_dir.        
1507         Have longer-style dates.
1508         Raja R Harinath  <harinath@cs.umn.edu>
1509         * mkcheck: Change path to #!/usr/clocal/bin/bash.
1511         * docs/README.html: Correct links, maybe. FAQ, install notes, and
1512         general documentation need to be organized around each other, not
1513         fight against each other. . .
1515 2000-01-04  Phil Edwards  <pme@sourceware.cygnus.com>
1516             Nicolai Josuttis <nicolai.josuttis@braunschweig.netsurf.de>
1518         * README:  Add a note referring to README.html.
1519         * docs/README.html:  New file from Nicolai.
1520         * docs/faq/index.html:  Move "how to get a copy" to here.
1521         * docs/gentop/footchunk.html:  Update.
1522         * docs/gentop/headchunk.html:  New links according to
1523           bkoz's idea for "How to..." stuff.
1524         * docs/gentop/thanks:  Actually put people here.
1525         * docs/download.html:  Regenerated.
1526         * docs/index.html, docs/links.html, docs/mail.html,
1527           docs/status.html, docs/thanks.html, docs/faq/index.txt:  Ditto.
1528         * docs/how.html:  Ditto.  (This file should go away soon.)
1530 1999-12-26  Phil Edwards  <pme@sourceware.cygnus.com>
1532         * docs/gentop/status:  Add snapshot version column, update
1533           for Solaris 7.
1534         * docs/status.html:  Regenerated.
1536 1999-12-26  Phil Edwards  <pme@sourceware.cygnus.com>
1538         * docs/faq/index.html:  Turn README and RELEASE-NOTES into links
1539           from installation FAQ, and specify location of text files.
1540         * docs/faq/index.txt:  Regenerated.
1542 1999-12-23  Phil Edwards  <pme@sourceware.cygnus.com>
1544         * docs/gentop/download:  Add links to prebuilds for Cygwin/Mingw32.
1545         * docs/download.html:  Regenerated.
1547 1999-12-22  Phil Edwards  <pme@sourceware.cygnus.com>
1549         * docs/faq/index.html:  Update 'what works' for .7 snapshot,
1550           clean up various links.
1551         * docs/faq/index.txt:  Regenerated.
1552         * docs/gentop/gentop:  Smarter regeneration script.
1553         * docs/gentop/{head,foot}chunk.html:  Updated with new
1554           contributors link and mod date.
1555         * docs/gentop/index:  Snapshot relase date.
1556         * docs/gentop/thanks:  New contributors page added.
1557         * docs/{download,how,index,links,mail,status,thanks}.html:
1558           Regenerated from gentop; thanks.html created.
1560 1999-12-21  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1562         * bits/c++config.h.in (__GLIBCPP__): 19991221.
1563         * docs/index.html: Add correct information.     
1565         * config/irix: New directory.
1566         * config/irix/ctype.cc: Add irix-6.5 info. Not tested.
1567         * config/irix/bits/ctype_base.h: And here.
1569         * config/aix: New directory.
1570         * config/aix/ctype.cc: Add aix-4.2 info. Not tested.
1571         * config/aix/bits/ctype_base.h: And here.
1572         
1573 1999-12-21  Philip Martin  <pm@corris.dircon.co.uk>
1575         * bits/basic_string.h: Add special case handling for integral
1576         "iterators".
1577         * bits/std_string.h: include type_traits.h
1578         * testsuite/21_strings/ctor_copy_dtor.cc: Tweak.
1579         
1580 1999-12-21  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
1582         * bits/fstream.tcc (seekoff): Output buffer based on _M_*_in and
1583         _M_*_end now.
1584         * bits/std_fstream.h (sync): And here.
1585         * testsuite/27_io/filebuf.cc: Revisions.
1586         * testsuite/27_io/filebuf-2.tst: Correct, remove weird character
1587         at the end of the file.
1588         * testsuite/27_io/filebuf-3.tst: Correct.
1589         
1590 1999-12-21  Phil Edwards  <pedwards@jaj.com>
1592         * docs/gentop/index:  Hold off on .7 announcement date.
1593         * docs/index.html:  Regenerate.
1595 1999-12-21  Benjamin Kosnik  <bkoz@kcygnus.com>
1597         * bits/std_fstream.h (sync): Move _M_file->sync() to
1598         _M_really_overflow().
1599         * bits/fstream.tcc (seekoff): Call sync, not _M_really_overflow so
1600         as to get the _M_file->sync action, which forces the external
1601         buffer to update itself.
1602         (underflow): Same here.
1604 1999-12-21  Phil Edwards  <pedwards@jaj.com>
1606         * bits/c++config.h.in:  Uncomment _GLIBCPP_USE_NAMESPACES and move...
1607         * acconfig.h:  ...to here.
1608         * config.h.in:  Regenerate from aclocal.
1609         * acinclude.m4:  Add GLIBCPP_ENABLE_DEBUG, GLIBCPP_ENABLE_NAMESPACES.
1610         * aclocal.m4:  Regenerate from acinclude.
1611         * configure.in:  Use ENABLE macros here.
1612         * configure:  Regenerate.
1613         * src/Makefile.am:  Use results from ENABLE macros.
1614         * src/Makefile.in:  Regenerate.
1616 1999-12-20  Benjamin Kosnik  <bkoz@cygnus.com>
1617         
1618         * mkcheck (SRC_DIR): Now have to include config/* dir if "make
1619         check" and not "make check-install." Temporarily hack in linux
1620         support.
1621         
1622         * bits/std_streambuf.h: Tweaks.
1623         * bits/streambuf.tcc (xsgetn): Tweaks.
1624         * bits/std_fstream.h (sync): Make _M_really_overflow consistent.
1625         * bits/fstream.tcc (filebuf::underflow): Simplify.
1626         * bits/std_sstream.h (streambuf::underflow): Minor change to make
1627         checks for read position precisely implement the standard.
1628         * bits/basic_file.h (filepos_cur): Base this on _offset.
1629         * testsuite/21_strings/inserters_extractors.cc (test05): Tweaks.
1630         * testsuite/27_io/filebuf.cc: Tweak.
1632 1999-12-20  Benjamin Kosnik  <bkoz@cygnus.com>
1634         * docs/17_intro/RELEASE-NOTES: Fix typos.
1636         * bits/locale_facets.h (ctype): Modify, use __to_type to abstract
1637         out platform-specific bits.
1638         * config/default/ctype.cc: And here.
1639         * config/defaults/bits/ctype_base.h: And here.
1640         * config/linux/ctype.cc: And here.
1641         * config/linux/bits/ctype_base.h (ctype_base): And here.
1642         * config/solaris/bits/ctype_base.h (ctype_base): Add
1643         __to_type. Comment, as it looks like this is for solaris2.6 and
1644         above: solaris2.5.1 doesn't seem to have the same definitions.
1645         * config/solaris/ctype.cc: And here.
1647 1999-12-19  Benjamin Kosnik  <bkoz@cygnus.com>
1648             Ulrich Drepper  <drepper@cygnus.com>
1649         
1650         * acconfig.h: Remove _GLIBCPP_USE_CTYPE_ISBIT.
1652         * src/locale.cc: Take out platform-specific hacks.
1653         * config/linux/ctype.cc: Put here.
1654         * config/solaris/ctype.cc: Put here.
1655         * config/default/ctype.cc: Put here.    
1657         * bits/locale_facets.h: Take out platform-specific hacks.
1658         * config/linux/bits/ctype_base.h: Put here.
1659         * config/solaris/bits/ctype_base.h: Put here.
1660         * config/default/bits/ctype_base.h: Put here.   
1662         * configure.in: Bump version.
1663         Add tests for top-level config directory.
1664         * configure: Regenerated.
1665         * src/Makefile.am (INCLUDES): Add platform-specific dir.
1666         * src/Makefile: Regenerate.
1667         
1668 1999-12-19  Benjamin Kosnik  <bkoz@cygnus.com>
1669             Ulrich Drepper  <drepper@cygnus.com>
1671         * bits/locale_facets.h: Hack in solaris support.
1672         * src/locale.cc: Here too.
1674 1999-12-18  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1676         * docs/17_intro/TODO: Update
1677         * docs/17_intro/RELEASE-NOTES (New): Update.
1679 1999-12-17  Benjamin Kosnik  <bkoz@milou.cygnus.com>
1681         * bits/c++config.h.in (__GLIBCPP__): Bump.
1682         * docs/17_intro/RELEASE-NOTES: Update, Gaby please add your stuff.
1683         * docs/17_intro/TODO: Update.   
1685         * bits/locale_facets.h: Touch this too.
1686         * bits/localefwd.h: Add typedefs for loooooong vector names.
1687         * bits/locale_facets.tcc (locale::operator()): Need parens.
1688         (has_facet): Simplify.
1689         * src/locale-inst.cc: Add instantiations.
1690         * src/locale.cc: Tweaks.
1691         
1692         * bits/std_streambuf.h: Move indeterminates into. . 
1693         * bits/std_fstream.h: Here.     
1694         * bits/fstream.tcc (underflow): Rewind just for ios_base::out
1695         streams.
1696         * bits/sstream.tcc: Very minor formatting tweaks.
1697         * bits/std_streambuf.h (_M_set_determinate): If exclusively an
1698         input buffer, set _M_buf to offset.
1699         * bits/istream.tcc (std): Tweaks.
1700         * testsuite/27_io/istream_unformatted.cc (test05): More tweaks,
1701         include fstream.
1702         * testsuite/27_io/filebuf.cc: Tweaks.
1703         
1704 1999-12-17  Phil Edwards  <pedwards@jaj.com>
1706         * configure.in:  Add OPTLEVEL, -O2 for gcc 2.96+, nothing otherwise.
1707         * configure:  Regenerate.
1708         * src/Makefile.am:  Use OPTLEVEL in CXXFLAGS.
1709         * src/Makefile.in:  Regenerate.  Also picks up OTHER_CXXFLAGS rename
1710           to OPTIMIZE_CXXFLAGS from a previous revision (1.96) to Makefile.am.
1712 1999-12-17  Phil Edwards  <pedwards@jaj.com>
1714         * docs/21_strings/stringtok_std_h.txt:  New algorithm
1715           suggested by Chris King.
1716         * docs/21_strings/howto.html:  Link to new version.
1718 1999-12-16  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1720         * bits/valarray_array.h (__valarray_sum): Use operator+=, not
1721         operator+.
1722         * docs/17_intro/TODO: Update.
1724 1999-12-15  Phil Edwards  <pme@sourceware.cygnus.com>
1726         * docs/gentop/footchunk.html:  Updated, fixed CRLFs.
1727         * docs/gentop/gentop:  Ditto.
1728         * docs/gentop/headchunk.html:  Ditto.
1729         * docs/*.html:  Regenerated from gentop.
1730         * docs/*/howto.html:  Updated as test.
1731         * docs/faq/index.html:  Updated, fixed CRLFs.
1732         * docs/faq/index.txt:  Regenerated.
1734 1999-12-15  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1736         * mknumeric_limits (OUT_C): restart only if $OUT_C is present.
1738         * bits/std_complex.h 
1739         (complex<float>::complex(const complex<double>&),
1740         complex<float>::complex(const complex<long double>&)): Define.
1742         * docs/17_intro/TODO: Update.
1744 1999-12-13  Benjamin Kosnik  <bkoz@cygnus.com>
1746         * bits/istream.tcc (seekg): Don't set _M_gcount.
1747         (tellg): Same.
1748         * bits/fstream.tcc (filebuf::underflow): Re-sync
1749         external byte sequence's input buffer only. . .
1750         * testsuite/27_io/istream_unformatted.cc (test04): New tests for
1751         tellg, seekg and filebufs.
1752         (test05): Same for stringbufs.
1753         * testsuite/27_io/istream_unformatted-2.tst: New file.
1754         * testsuite/27_io/istream_unformatted-1.tst: New file.
1755         * testsuite/27_io/istream_unformatted-1.txt: New file.  
1756         * testsuite/21_strings/inserters_extractors.cc (test05): Change
1757         output file.
1759 1999-12-13  Phil Edwards  <pedwards@jaj.com>
1761         * docs/gentop/*:  New directory, containing bits for the homepages.
1762         * docs/*.html:  Regenerated from gentop.
1763         * docs/*/*.html:  Entries added and regenerated.
1765 1999-12-13  Benjamin Kosnik  <bkoz@gnu.org>
1767         Efforts to get -O2 to work with -Winline -Werrors.
1768         * bits/valarray_array.h (__valarray_fill(_Tp*, size_t, const
1769         _Tp&): Remove inline declaration, as cannot be inlined and
1770         -Winline -Werror complains. An interesting question is why this
1771         cannot be inlined, as I can see no real reason to disqualify it.
1772         (__valarray_product(const _Tp*, const _Tp*)): Same here.
1773         * bits/std_valarray.h (valarray::operator[](size_t)): Same here.
1774         
1775         * docs/17_intro/TODO: Update.
1777 1999-12-12  Benjamin Kosnik  <bkoz@gnu.org>
1779         * bits/std_fstream.h (seekpos): Tweaks, fixes. Move definition to
1780         fstream.tcc.
1781         * bits/basic_file.h (filepos_cur()): Make pointers themselves be
1782         the resultant position.
1783         * bits/fstream.tcc (seekoff): Explicitly set return value to
1784         resultant external byte sequence position, not value returned from
1785         _M_file->seekoff. Need to make 
1786         (seekpos): New definition.
1787         
1788         * bits/istream.tcc (seekg): As per Library Issues List 136, set to
1789         just istream. Necessary, or else tellg will give an invalid stream
1790         position, but seekg will return a valid stream position, which is
1791         not groovy: see testcase addition.
1792         * bits/ostream.tcc (seekp): Same.
1793         
1794         * bits/streambuf.tcc (_S_copy_streambufs): Simplify.
1795         * bits/sstream.tcc: Tweaks.
1796         * bits/locale_facets.tcc: Tweaks.
1797         (num_put::do_put(iter_type, ios_base, char_type, const void*)):
1798         Re-write in a way that is easier for the inliner to work with.
1799         * bits/ios_base.h: Use explicit static_cast<int>(...) notation.
1801 1999-12-10  Benjamin Kosnik  <bkoz@cygnus.com>
1803         * bits/locale_facets.tcc: Tweaks.
1804         * bits/locale_facets.h (use_facet): Can't inline, remove inline
1805         from declaration.
1806         * bits/localefwd.h: And here.
1807         * bits/std_ostream.h: Tweaks, sentry ctor can't be inlined.
1808         * bits/ostream.tcc: Put here.
1809         
1810         Frank Ch. Eigler  <fche@cygnus.com> 
1811         * src/Makefile.am: Adjust CXXFLAGS, add AM_CXXFLAGS. 
1813 1999-12-08  Benjamin Kosnik  <bkoz@cygnus.com>
1815         * bits/sstream.tcc (stringbuf::seekoff): Long overdue revamp. Make
1816         in and out buffers update independantly.
1818         * bits/basic_ios.h: Minor formatting.
1819         * bits/fstream.tcc (std): Fix indentation.
1821 1999-12-08  Chip Salzenberg  <chip@valinux.com>
1823         * bits/char_traits.h (char_traits<>): Move not_eof() functions
1824         after corresponding eof() functions, so they're easier for the
1825         compiler to inline.
1826         * bits/locale_facets.h (money_base::__default_pattern): Move
1827         static variable out of inline functions.
1828         (_Moneypunct<>::do_{pos,neg}_format): Use it.
1829         * src/locale-inst.cc (money_base::__default_pattern): Define it.
1831 1999-12-08  Benjamin Kosnik  <bkoz@cygnus.com>
1833         * bits/std_fstream.h (filebuf::open): Tweak.
1834         * bits/fstream.tcc (filebuf::seekoff): Simplify, fix.
1835         * bits/std_ios.h: Minor tweaks for headers.
1837 1999-12-06  Benjamin Kosnik  <bkoz@gnu.org>
1839         * bits/c++config.h.in (_GLIBCPP_FULLY_COMPLIANT_HEADERS): New macro.
1840         * src/string-inst.cc: Add guards . . .
1841         * src/misc-inst.cc: And here.
1842         * bits/std_sstream.h: And here.
1843         * bits/std_fstream.h: And here.
1844         * bits/std_streambuf.h: And here.
1845         * bits/std_istream.h: And here.
1846         * bits/std_ostream.h: And here.
1848 1999-12-06  Scott Snyder  <snyder@fnal.gov>
1850         * bits/istream.tcc (basic_istream::read): Try to handle __n == 0
1851         case.
1852         (basic_istream::readsome): And here as well.
1853         * testsuite/27_io/istream_unformatted.cc: Test a zero-length
1854         read().
1856 1999-12-06  Mumit Khan  <khan@xraylith.wisc.edu>
1858         * bits/istream.tcc (basic_istream::ignore): streamsize is not 
1859         necessarily an `int'.
1861 1999-12-06  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
1863         * mknumeric_limits: Don't use $CXXFLAGS when building
1864         gen-num-limits. It's definitely wrong to use it since $CXXFLAGS
1865         generally instructs the compiler not to emit template
1866         instantiations and we end up with undefined symbols. Sigh.
1868 1999-12-05  Benjamin Kosnik  <bkoz@gnu.org>
1870         * bits/locale_facets.tcc: Tweak.
1871         (_S_format_long): Adjust showpos formatting for hex and oct.
1872         * bits/std_ostream.h (operator<<(short)): Correctly deal with hex
1873         and oct by formatting as unsigned.
1874         (operator<<(int)): Same here.
1875         * bits/ostream.tcc (operator<<(long)): Same.
1876         (operator<<(long long)): Same.
1877         (_S_pad_char): Actually treat ios_base::internal as something
1878         worth doing correctly. Remove const designation on ios argument.
1879         * testsuite/27_io/ios_manip_basefield.cc (test02): Add tests.
1880         * testsuite/27_io/ostream_inserter_arith.cc (test03): Add tests.
1881         
1882 1999-12-04  Benjamin Kosnik  <bkoz@gnu.org>
1884         * bits/std_sstream.h (streambuf::underflow): Check for mode == in.
1886 1999-12-03  Benjamin Kosnik  <bkoz@gnu.org>
1888         * bits/locale_facets.tcc (num_put::do_put(bool): Fix.
1890         * bits/sstream.tcc (streambuf::seekoff): Add parens.
1891         * bits/istream.tcc (istream::get(sb)): Handle exceptional events.
1892         (operator>>(istream, _CharT*)): Change streamsize to int_type.
1893         (operator>>(istream, _CharT&)): Fix typedef'd type to be _CharT.
1894         * bits/ostream.tcc (ostream::operator<<(const char*)): Stub out
1895         unused argument.
1896         (ostream::operator<<(_CharT)): Fix.
1897         
1898         * bits/std_sstream.h: Temporarily disable including sstream.tcc to
1899         see if this will increase compile speed.
1900         * bits/std_ostream.h: Likewise. . .
1901         * bits/std_istream.h: And here.
1902         * bits/std_fstream.h: And here.
1903         * src/misc-inst.cc: Add relevant header file includes for
1904         instantiation purposes.
1905         * src/string-inst.cc: And here.
1906         * testsuite/27_io/ostream_inserter_arith.cc: Add test case.
1907         
1908 1999-12-02  Benjamin Kosnik  <bkoz@gnu.org>
1910         * testsuite/27_io/istream_unformatted.cc (test03): Add tests.
1911         * bits/istream.tcc (get(streambuf)): More fixes. 
1912         (istream::ignore): Get specific about numeric_limits<int>::max()
1913         requirements.
1915         * bits/fstream.tcc (filebuf::open): Tweaks for _M_last_overflowed.
1916         (filebuf::close): Same.
1917         * testsuite/27_io/filebuf.cc: Add tests for ios_base::ate.
1918         
1919 1999-12-01  Phil Edwards  <pedwards@jaj.com>
1921         * mkcheck:  Support for compilation/execution timing.
1922         * testsuite/printnow.c: New file.
1923         
1924 1999-12-01  Phil Edwards  <pedwards@jaj.com>
1926         * bits/std_cwchar.h:  Test for _GLIBCPP_USE_WCHAR_T.
1927         * configure.in:  Test for presence of wchar.h before testing
1928           for any of its features.
1929         * configure:  Regenerate.
1931 1999-11-30  Benjamin Kosnik  <bkoz@gnu.org>
1933         Preliminary istream validations complete.
1934         * bits/istream.tcc (istream::getline): Fixes. Tweaks to make
1935         formatting more consistent. Removal of if-statements inside of for
1936         loops.
1937         (ignore): Fix.
1938         (get): Same.
1939         (putback): Same.
1940         * bits/std_istream.h: Same.
1941         * bits/sstream.tcc (stringbuf::pbackfail): Fix.
1942         * testsuite/27_io/stringbuf.cc: Tweak.
1943         * testsuite/27_io/istream_unformatted.cc (test02): Mo' tests.   
1945         * bits/ostream.tcc (ostream::operator<<(arith)): Set badbit, not
1946         failbit on failure, as per 27.6.2.5.2.
1948         * stl/bits/std_vector.h: Allow bool specializations. Should move
1949         ext/std_bvector to bits, not ext, maybe.
1951 1999-11-30  Mumit Khan  <khan@xraylith.wisc.edu>
1953         * configure.in: Fix checks for mbstate_t and WCHAR_MIN/MAX.
1954         * configure: Regenerate.
1955         
1956 999-11-29  Benjamin Kosnik  <bkoz@gnu.org>
1958         * bits/istream.tcc (get(streambuf, char)): Fix.
1959         * testsuite/27_io/istream_unformatted.cc (test03): Add tests.
1960         
1961 1999-11-29  Scott Snyder  <snyder@fnal.gov>
1963         * bits/basic_string.h (append(const _Char*, size_type)): The
1964         length of the appended string is given exactly by the second arg,
1965         regardless of the data in the character array.
1966         * bits/string.tcc (basic_string(const _CharT*, size_type, const
1967         _Alloc&)): Likewise.
1968         * testsuite/21_strings/append.cc (test01): Remove erroneous test
1969         of basic_string::append.
1971 1999-11-29  Chip Salzenberg  <chip@valinux.com>
1973         * Makefile.in: Tweaks for CXXFLAGS.
1974         * */Makefile.in: Same.
1976 1999-11-29  Mumit Khan  <khan@xraylith.wisc.edu>
1978         * conficd bgure.in: Check for wide character support.
1979         * bits/c++config.h.in (_GLIBC_USE_WCHAR_T): Move from here ...
1980         * acconfig.h (_GLIBC_USE_WCHAR_T): to here.
1981         * bits/string.tcc (wstring::_S_find): Guard wchar_t specialization.
1982         
1983 1999-11-29  Mumit Khan  <khan@xraylith.wisc.edu>
1985         * acinclude.m4: Fix typo.
1986         * src/complex.cc: Fix macro line continuation.
1987         
1988 1999-11-29  Petter Urkedal  <petter@matfys.lth.se>
1990         * src/Makefile.am (CXXFLAGS): Add -Wno-format to allow non-
1991         string literals in format, as used in locale-facets.tcc.
1993 1999-11-28  Benjamin Kosnik  <bkoz@gnu.org>
1995         * testsuite/27_io/istream_unformatted.cc (test03): Add tests.
1996         * bits/istream.tcc (istream::get): Extract to argument minus one.
1997         Various tweaks and fixes.
1998         
1999 1999-11-22  Mumit Khan  <khan@xraylith.wisc.edu>
2001         * bits/locale_facets.tcc: Workaround for compiler crash on
2002         ix86-*-mingw32.
2004 1999-11-21  Mumit Khan  <khan@xraylith.wisc.edu>
2006         * acinclude.m4: New file. New _GLIBCPP_CHECK_FLOAT_SUPPORT macro.
2007         * configure.in: Use.
2008         * acconfig.h: New _GLIBCPP_BUGGY_FLOAT_COMPLEX macro.
2009         * src/complexf.cc: New _GLIBCPP_FLOAT_SPECIALIZATION macro.
2010         * bits/std_complex.h: Use.
2011         * src/complex.cc: Use.
2013 1999-11-19  Mumit Khan  <khan@xraylith.wisc.edu>
2015         * testsuite/18_support/numeric_limits.cc: Add missing std:: prefix.
2016         * testsuite/21_strings/inserters_extractors.cc: Likewise.
2017         * testsuite/22_locale/ctype.cc: Likewise.
2018         * testsuite/23_containers/multiset.cc: Likewise.
2019         * testsuite/23_containers/vector_ctor.cc: Likewise.
2020         * testsuite/26_numerics/binary_closure.cc: Likewise.
2021         * testsuite/27_io/fpos.cc: Likewise.
2022         * testsuite/27_io/ios_base_callbacks.cc: Likewise.
2023         * testsuite/27_io/istream_extractor_arith.cc: Likewise.
2024         * testsuite/27_io/istream_extractor_char.cc: Likewise.
2025         * testsuite/27_io/istream_extractor_other.cc: Likewise.
2026         * testsuite/27_io/istream_sentry.cc: Likewise.
2027         * testsuite/27_io/ostream_inserter_char.cc: Likewise.
2028         * testsuite/27_io/ostream_inserter_other.cc: Likewise.
2029         * testsuite/27_io/streambuf.cc: Likewise.
2030         * testsuite/27_io/stringstream.cc: Likewise.
2032 1999-11-19 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2034         * bits/valarray_meta.h: Don't forget to define tanh
2036 1999-11-18  Philip Martin  <pm@corris.dircon.co.uk>
2038        * src/stl-inst.cc: Use typedef to refer to iterator
2039        * stl/bits/stl_algobase.h: Add traits based dispatch for
2040        __normal_iterator in the copy()algorithm
2041        * stl/bits/type_traits.h: Add _Is_normal_iterator trait support
2043 1999-11-18  Kevin Ediger  <kediger@licor.com>
2045         * src/locale.cc (locale::_Imp::_Imp): Use auto_ptr to make
2046         constructors for locale::_Impl exception safe.
2048 1999-11-18  Scott Snyder  <snyder@fnal.gov>
2050         * stl/bits/stl_queue.h: The C++ standard gives the default for the
2051         _Sequence template argument of priority_queue<> as vector<>, not
2052         deque<>.
2054 1999-11-18  Benjamin Kosnik  <bkoz@gnu.org>
2056         * bits/std_sstream.h (stringbuf::_M_really_sync): Add __iend as a
2057         parameter.
2058         * bits/sstream.tcc: Adjust here too.
2059         
2060 1999-11-17  Benjamin Kosnik  <bkoz@gnu.org>
2062         * bits/sbuf_iter.h (istreambuf_iter::equal): Tweak.
2063         * bits/istream.tcc (operator>>): Replace iostate(0) with
2064         iostate(ios_base::goodbit), which is the same thing, but hopefully
2065         a bit clearer.
2066         * bits/locale_facets.tcc (do_get(bool)): Streamline, deal with
2067         libraries issue list 17.
2068         (do_gets): Don't set goodbit explicitly, instead only set on
2069         failures as good bit is the default setting.
2070         * bits/ios_base.h (setf): Set correctly.
2071         * bits/fstream.tcc: Tweak.
2072         * bits/std_sstream.h (_M_really_sync): Fix ibuffer positioning for
2073         in|out bufs that are empty. . .
2074         * testsuite/27_io/istream_extractor_arith.cc (test03): Add.
2075         
2076 1999-11-16  Benjamin Kosnik  <bkoz@gnu.org>
2078         * testsuite/27_io/streambuf.cc (class testbuf): Don't set _M_buf_size.
2079         * bits/std_streambuf.h (setp): Set _M_buf_size, _M_mode.
2080         Add comments "all about _M_buf."
2081         (setg): Set _M_mode.
2083 1999-11-16  Kevin Ediger  <kediger@licor.com>
2085         * bits/locale_facets.tcc (_S_build_float_format): New function.
2086         (_S_output_float): New function.
2087         (num_put::do_put(double)): Use 'em.
2088         (num_put::do_put(long double)): Use 'em.
2089         * testsuite/27_io/ostream_inserter_arith.cc: New file.
2091 1999-11-15  Scott Snyder  <snyder@fnal.gov>
2093         * bits/basic_file.h: Type of __off parm should be __c_streampos, to
2094         match how libio is calling us.
2095         * src/basic_file.cc (sys_seek): Likewise.
2096         * bits/std_fstream.h (basic_filebuf::sync): Restore sync call.
2098 1999-11-15  Benjamin Kosnik  <bkoz@gnu.org>
2100         * docs/17_intro/contribute.html: Add link to assignment form.
2101         * docs/17_intro/libstdc++-assign.txt: New file.
2103         * mkcheck (TESTS_FILE): Move a copy of test files as well as
2104         output files.
2106         * bits/std_streambuf.h (_M_buf_bump): New function.
2107         * bits/streambuf.tcc: Mods to support _M_buf_bump.
2108         (xsputn): Here. Also add checks for output valid.
2109         (xsgetn): Add checks for input valid.
2110         (sputc): Here.
2111         (sgetc): Set _M_in_end to _M_buf + _M_buf_end.
2112         * bits/std_sstream.h (_M_really_sync): Set _M_buf.
2113         Set _M_out_end to variable-length-end.
2114         * bits/sstream.tcc (overflow): Use _M_buf_bump.
2115         (seekpos): Same.
2116         (seekoff): Same.
2117         * bits/fstream.tcc (std): Tweak formatting.
2118         (filebuf::overflow): Simplify.
2119         (filebuf::showmanyc): Same.
2120         (filebuf::underflow): Same.
2121         * testsuite/27_io/filebuf.cc: Fix.
2122         * testsuite/27_io/ostream_inserter_other.cc: Fix.
2123         * testsuite/27_io/ostream_inserter_other-2.tst: New file.
2124         * testsuite/27_io/stringbuf.cc: Tweak.  
2125         * testsuite/27_io/streambuf.cc: Tweak.  
2126         * testsuite/27_io/istream_extractor_other.cc: Fix.
2128 1999-11-11  Matthias Klose  <doko@cs.tu-berlin.de>
2130         * stl_deque.h: Use static_casts<size_type>(signed_type).
2132 1999-11-11  Benjamin Kosnik  <bkoz@gnu.org>
2134         Cleanups for callbacks, more regression hunting. Remaining
2135         failures (1) due to last unresolved stringstream issues, not
2136         regressions per se.
2137         * bits/std_fstream.h: Revert. Disable call to _M_file->sync as
2138         killing 27_io/filebuf.cc tests. . . need another solution.
2140         * bits/streambuf.tcc (_S_copy_streambufs): Fix.
2141         * testsuite/27_io/istream_extractor_other.cc: Tweak comments.
2143         * bits/basic_ios.h: Add cached facets here. UGH. The standard
2144         foils all attempts at a graceful, minimal implementation.
2145         * bits/basic_ios.tcc: Tweaks.
2146         * bits/istream.tcc: Fix.
2147         * bits/ostream.tcc: Fix.
2148         * bits/std_istream.h: Fix.
2149         * bits/std_ostream.h: Fix.
2150         * src/ios.cc (ios_base::imbue): Set _M_locale_ios before calling
2151         callbacks.
2152         * bits/locale_facets.tcc (std): Minor, minor formatting tweak.
2153         (_S_pad_numeric): Make comprehensible.
2155 1999-11-10  Benjamin Kosnik  <bkoz@cygnus.com>
2157         * bits/std_ostream.h: Add callbacks for _M_fnumput.
2158         (_S_ostream_fcache): New function.
2159         Move functions out-of-line.
2160         * bits/ostream.tcc: Put here.
2162         * bits/std_istream.h: Add callbacks for _M_fnumget.
2163         (_S_istream_fcache): New function.
2164         Move functions out-of-line.
2165         * bits/istream.tcc: Put here.
2166         
2167         * bits/basic_ios.tcc (basic_ios::imbue): Tweaks, remove call to
2168         _M_call_callbacks(), as ios_base::imbue does this already.
2169         * src/ios.cc (register_callback): Clean.
2170         (_M_call_callbacks): Same.
2171         * bits/ios_base.h: Callback work.
2172         * testsuite/27_io/ios_base_callbacks.cc (test01): New file.
2173         
2174 1999-11-10  Benjamin Kosnik  <bkoz@cygnus.com>  
2175             Matthias Klose  <doko@cs.tu-berlin.de>
2177         * stl/ext/stl_rope.h: Fix initialization order.
2179 1999-11-09  Scott Snyder  <snyder@fnal.gov>
2181         * bits/std_fstream.h (basic_filebuf::sync): Unconditionally call
2182         _M_file->sync() so that redirection works correctly.
2184 1999-11-09  Benjamin Kosnik  <bkoz@gnu.org>
2186         * bits/istream.tcc: Re-order.
2187         * bits/std_istream.h: Fix getline problems.
2188         * testsuite/27_io/istream_unformatted.cc: New tests.
2189         
2190         Clean up regressions.
2191         * bits/std_sstream.h: Set initial stringbufs correctly.
2193 1999-11-09  Scott Snyder <snyder@fnal.gov>
2195         * stl_vector.h (_M_range_insert): Fix mixing pointers and
2196         vector::iterator.
2197         * testsuite/23_containers/vector_modifiers.cc (test01): New file,
2198         tests.
2199         
2200 1999-11-09  Benjamin Kosnik  <bkoz@cygnus.com>
2202         * src/Makefile.am (CXXFLAGS): Add -Winline.
2203         * src/Makefile.in: Regenerate.
2205 1999-11-05  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2207         * bits/valarray_meta.h (_DEFINE_EXPR_UNARY_FUNCTION): When
2208         building meta-expressions don't forget to take the contained
2209         closures. 
2211 1999-11-02  Benjamin Kosnik  <benjamin@cygnus.com>
2213         * configure: Regenerate.
2214         
2215 1999-11-02  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2217         * bits/valarray_meta.h (_Expr<>::sum): Tweak. Use copy-initialization
2218         syntax.
2219         * bits/valarray_meta.h (min): Likewise.
2220         * bits/valarray_meta.h (max): Likewise.
2222 1999-11-01  Benjamin Kosnik  <bkoz@cygnus.com>
2224         * bits/std_sstream.h (_M_really_sync): Take into account in | out bufs.
2225         * bits/std_streambuf.h (_S_copy_streambufs): New function.
2226         * bits/streambuf.tcc: Define.
2227         * bits/istream.tcc (istream::operator>>(streambuf)): Rewrite.
2228         * bits/ostream.tcc (ostream::operator<<(streambuf)): Rewrite.
2229         * testsuite/27_io/ostream_inserter_other.cc: Add tests.
2230         * testsuite/27_io/ostream_inserter_other-1.tst: New file.
2232         * bits/basic_string.h: Explicitly cast npos to unsigned type,
2233         reported by Richard Atterer.
2234         * bits/char_traits.h: For consistency's sake, here too.
2235         
2236         * configure.in: Bump version to 2.90.7.
2237         
2238 1999-10-31  Benjamin Kosnik  <bkoz@cygnus.com>
2240         * testsuite/27_io/ostream_inserter_char-1.tst: Check file output.
2241         * testsuite/27_io/ostream_inserter_char.cc (test05, test01): Add tests.
2242         * bits/streambuf.tcc (xsputn): Treat--size const char for long loops.
2243         (xsgetn): Same.
2244         * bits/sstream.tcc (seekpos): Tricks, mostly: check _M_mode before
2245         writing into buffer.
2246         (seekoff): Same.
2247         
2248 1999-10-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2250         * bits/valarray_array.h (__valarray_sum): New function.
2251         * bits/valarray_array.h (__valarray_product): Same.
2253         * bits/std_valarray.h (valarray<T>::product): Comment out.
2254         * bits/std_valarray.h (valarray<T>::sum): Use __valarray_sum
2255         instead of accumulate. 
2257         * src/valarray-inst.cc: Remove explicit intantiation of
2258         class multiplies<size_t>, accumulate, valarray<size_t>::product. 
2259         * src/valarray-inst.cc (__valarray_product): Instantiate
2260         explicitly. 
2261         * src/valarray-inst.cc (__valarray_product(const
2262         valarray<size_t>&)): New function.   
2263         * src/valarray-inst.cc (gslice::_Indexer::_Indexer): Don't use
2264         valarray<size_t>::product. Use __valarray_product instead.
2265         
2267 1999-10-25  Benjamin Kosnik  <bkoz@cygnus.com>
2269         * bits/std_ostream.h (ostream.inserters.char): Correctly pad output.
2270         (_S_pad_char): New function. Not done: ios_base::internal.
2271         * bits/ostream.tcc: Clean for above.
2272         * bits/locale_facets.tcc (_S_fill): Remove ostreambufiterator
2273         specialization that was commented out, as ostreams now have to
2274         correctly deal with padding.
2275         * testsuite/27_io/ostream_inserter_char.cc (main): Add tests.
2276         
2277         * testsuite/21_strings/ctor_copy_dtor.cc(test02): Add test case
2278         from mailing list. This is a bug, and should be fixed.
2279         * testsuite/21_strings/inserters_extractors.cc (main): Tweak, fix typo.
2280         
2281 1999-10-22  Petter Urkedal  <petter@matfys.lth.se>
2283         * stl/bits/stl_numeric.h (__power): Replaced argument name `__opr'
2284         to avoid conflict with gcc name mangling.
2285         * stl/bits/stl_algo.h (__transform): Same.
2287 1999-10-21  Benjamin Kosnik  <bkoz@cygnus.com>
2289         * bits/ios_base.h: Change argument names.
2290         * docs/17_intro/BADNAMES: Add __opr.
2291         
2292 1999-10-20  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
2293         
2294         Work on compilation slowdowns from 10-5 to 10-12, which are
2295         related to the _Callback_list inlining/merge-ifcation, which is
2296         still a pending issue, but this stuff is necessary cleanup anyway.
2298         * src/ios.cc: Re-arrange.
2299         * bits/ios_base.h: Tweak.
2300         * bits/basic_ios.tcc: Move out of line definitions here, move
2301         small out-of-line definitions inline.
2302         * bits/basic_ios.h: From here.
2303         
2304         * bits/streambuf.tcc (pbackfail, overflow): Move back inline.
2305         * bits/std_streambuf.h: From here.
2307 1999-10-19  Benjamin Kosnik  <bkoz@cygnus.com>
2309         * testsuite/27_io/istream_extractor_char.cc: Add tests.
2310         * bits/std_istream.h: Tweaks--set eofbit on eof condition.
2311         * bits/istream.tcc (operator>>(istream&, string&): Remove
2312         vestigial issspace hacks and use ctype::is instead.
2313         (getline): Remove unnecessary loops, fortify and pasteurize.
2314         (ws): Same.
2315         
2316 1999-10-18  Benjamin Kosnik  <bkoz@cygnus.com>
2318         * bits/istream.tcc (operator>>): Tweak.
2319         * bits/std_istream.h: Fix according to library issues list 68.
2320         Add typedefs.
2322         * bits/locale_facets.h: Fix table_size to be non-zero.
2324 1999-10-18  Vadim Egorov  <egorovv@HotPOP.com>
2326         * src/basic_file.cc: ifdef instead of comment for binary mode
2328 1999-10-18  Russell Davidson  <russell@qed.econ.queensu.ca>
2330         * bits/std_sstream.h: Stringbuf initialization based on actual,
2331         not allocated, size.
2332         * testsuite/21_strings/inserters_extractors.cc (test06): Add test
2333         case.
2334         
2335 1999-10-17  Benjamin Kosnik  <bkoz@cygnus.com>
2337         * testsuite/26_numerics/c_math.cc (test03): Tweak.
2338         * testsuite/27_io/istream_manip.cc (test01): Corrections due to
2339         sentry change.
2340         * testsuite/21_strings/inserters_extractors.cc (test01): Same.
2342 1999-10-14  Benjamin Kosnik  <bkoz@cygnus.com>
2344         * bits/std_istream.h: Tweaks.
2345         * bits/istream.tcc (istream::sentry::sentry()): Simplify, correct
2346         as per issues list addition--set failbit, eof on empty buffers.
2347         * testsuite/27_io/istream_sentry.cc: New file.
2348         
2349 1999-10-12  Chris Prince <prince@wcug.wwu.edu> 
2351         * bits/std_cstdio.h: Remove Solaris hacks.
2353 1999-10-12  Phil Edwards  <philip.edwards@sn.wpafb.af.mil>
2355         * docs/index.html:  Fix minor typos and tweaks.
2356         * docs/17_intro/contribute.html:  Ditto.
2357         * docs/*/howto.html:  Ditto.  More "EGCS"->"GCC" conversion, notes on
2358         thread safety and binary I/O, links to external sites.
2359         * docs/faq/index.html: EGCS/GCC cleanup, new entries for Cygwin
2360         and MT.
2362 1999-10-12  Petter Urkedal  <petter@matfys.lth.se>
2364         * bits/std_cmath.h (abs(float)): When ::absf is not present, call
2365         ::fabs(double) rather than ::abs(int).
2367 1999-10-11  Benjamin Kosnik  <bkoz@milou.cygnus.com>
2369         * bits/std_streambuf.h: Fix minor blip--should explicitly return
2370         *gptr(), not the result of underflow.
2371         (pbackfail): Conform to default behavior.
2372         (overflow): Same.
2373         * bits/streambuf.tcc: Add out-of-line streambuf members.
2374         (xsputn): Tweak.
2375         (xsgetn): Tweak.
2376         * testsuite/27_io/streambuf.cc: New file.
2377         * testsuite/27_io/filebuf.cc: Correct test.
2379 1999-10-08  Benjamin Kosnik  <bkoz@haight.constant.com>
2381         * bits/std_cmath.h: Correctly cast int to double.
2382         * testsuite/26_numerics/c_math.cc: Add test.
2384         * mknumeric_limits (OUT_C): Tweaks.
2385         * src/gen-num-limits.cc: Checks for WCHAR_MIN, WCHAR_MAX before
2386         trying to instantiate type_traits<wchar_t>.
2387         * acconfig.h: Add _GLIBCPP_HAS_WCHAR_MIN_MAX.
2388         * configure.in (LIBS): Plus checks for WCHAR_MIN, WCHAR_MAX.
2389         * configure: Regenerate.
2390         
2391 1999-10-06  Benjamin Kosnik  <bkoz@milou.cygnus.com>
2393         * bits/streambuf.tcc (streambuf::xsgetn): Rewrite.
2394         (streambuf::xsputn): Put in break.
2395         Aiming for parity between these two (mostly) similar functions.
2396         Need to re-write tests.
2397         
2398         * bits/ios_base.h (ios_base::_M_copy_base): Remove declaration.
2399         Make data members protected, not private.
2400         * src/ios.cc (ios_base::_M_copy_base): Move _Callback_list into
2401         ios_base.h. As called only once, collapse into . . .
2402         * bits/basic_ios.h (basic_ios::copyfmt): Fix.
2403         (basic_ios::clear): Throw ios_base::failure on occasion.
2404         (basic_ios::exceptions): Fix.
2405         * testsuite/27_io/ios_members.cc (test02): Add tests.
2406         
2407         * bits/fpos.h: Default initialize.
2408         * testsuite/27_io/fpos.cc (test03): Add test.
2410 1999-10-04  Russell Davidson <russell@qed.econ.queensu.ca> 
2412         * src/basic_file.cc: Fix open modes.
2413         
2414 1999-10-04  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2416         * bits/locale_facets.tcc (num_get<>::do_get): Fix typo.
2418 1999-09-23  Benjamin Kosnik  <bkoz@milou.cygnus.com>
2420         * bits/streambuf.tcc: Yea. Fix this for real.
2421         * testsuite/27_io/ostream_inserter_other.cc: Add file.
2422         * src/Makefile.*: Regenerate.
2424 1999-09-22  Benjamin Kosnik  <bkoz@milou.cygnus.com>
2426         * bits/std_cstdlib.h: Add more linux-specif hacks to the header
2427         files so that stdtof and strtold will be declared. Some hacks
2428         already exits in bits/std_cctype.h -- these should all be removed
2429         at a later date.
2430         * bits/locale_facets.tcc: Add cstring.h include.
2431         _S_format_long: Use long, not int.
2432         Add std_limits.h include, for numeric_limits.
2433         * testsuite/27_io/istream.cc: Make instantiations work when using
2434         -fhonor-std.  
2435         * testsuite/27_io/ostream.cc: Same.
2436         
2437 1999-09-21  Benjamin Kosnik  <bkoz@milou.cygnus.com>
2439         * bits/fpos.h (fpos::operator streamoff): Make const, don't return
2440         a reference. Same for operators == and !=.
2441         * testsuite/27_io/fpos.cc: Add tests.
2443 1999-09-21  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2445         * bits/valarray_array.h: Fix typo.
2447         * mknumeric_limits: Make sure we are regenerating things from
2448         scratch.  Otherwise things get redefined.  Not good.
2450 1999-09-20  Benjamin Kosnik  <bkoz@milou.cygnus.com>
2452         * bits/std_ostream.h: Fix typo.
2453         * bits/std_istream.h: Same.
2454         * bits/std_iomanip.h: Same.
2456         * bits/istream.tcc (sentry::sentry()): Remove optional tie with
2457         ostream, as happens with underflow anyway.
2458         * testsuite/27_io/istream.cc (main): New file.
2459         * testsuite/27_io/ostream.cc (main): New file.
2460         * testsuite/27_io/istream_unformatted.cc: Add tests.
2462         * src/Makefile.am (headers): Add new file.
2463         * src/Makefile.in (headers): Regenerated.
2465         * bits/basic_ios.h: Remove local-related files.
2466         * bits/basic_ios.tcc: New file, add locale-related items.
2467         * src/misc-inst.cc: Add include of basic_ios.tcc, as a hack for now.
2468         * testsuite/27_io/ios_members_static.cc: Change to
2469         * testsuite/27_io/ios_base_members_static.cc: This.
2470         * testsuite/27_io/ios_members.cc: New file.
2471         * testsuite/27_io/stdios_basefield_manip: Change to
2472         * testsuite/27_io/ios_manip_basefield.cc: This.
2473         * testsuite/27_io/stdios_fmtflags_manip: Change to
2474         * testsuite/27_io/ios_manip_fmtflags.cc: This.
2475         
2476         * bits/fpos.h: Fix discarding qualifiers on this when
2477         using _M_position with a const fpos.
2478         * bits/std_iosfwd.h: Tweak.
2479         * testsuite/27_io/fpos.cc: New file.
2481 1999-09-17  Benjamin Kosnik  <bkoz@milou.cygnus.com>
2483         * bits/streambuf.tcc (streambuf::xsputn): Tweak.
2484         * bits/ostream.tcc: Tweak.
2485         * testsuite/21_strings/inserters_extractors.cc (test04, test05):
2486         Add new regressions.
2487         
2488 1999-09-16  Benjamin Kosnik  <bkoz@milou.cygnus.com>
2490         * bits/basic_ios.h: Inline, tweak.
2491         * bits/fstream.tcc (basic_filebuf::_M_really_overflow): Tweak,
2492         pass back accurate return value to basic_filebuf::overflow.
2493         * bits/streambuf.tcc (streambuf::xsputn): Fix overflow accounting.
2494         This fixes sstream problems reported in libstdc++/9, but screws up
2495         filebufs. That solution is pending.
2497 1999-09-15  Vadim Egorov  <egorovv@1c.ru>
2499         * bits/streambuf.tcc (basic_streambuf::xsputn): Add check for 
2500         zero count puts.
2501         * testsuite/21_strings/inserters_extractors.cc (test01): Add test.
2502         
2503 1999-09-08  Benjamin Kosnik  <bkoz@milou.cygnus.com>
2505         * bits/c++config.h.in: Add emacs hints.
2507         * stl/bits/stl_range_errors.h: Don't define here, for now define
2508         in stdexcept.cc along with string inlines __length_error, etc.
2509         * src/stdexcept.cc: Define here.
2510         * stl/bits/stl_config.h (__STL_CAN_THROW_RANGE_ERRORS): Enable, so
2511         at(size_t) will be declared/defined.
2512         (__STL_THREADS): Fix mess surrounding use of this, enable.
2514 1999-08-31  Benjamin Kosnik  <bkoz@milou.cygnus.com>
2516         * testsuite/27_io/istream_extractor_arith.cc: Fix.
2517         * src/localename.cc: Tweak formatting, fix assignment to
2518         const compiler errors.
2520 1999-08-25  Benjamin Kosnik  <bkoz@cygnus.com>
2522         * acconfig.h: Add absf, cosf.
2523         * configure.in (use_builtin_sinf): Same.
2524         * configure: Regenerate.
2525         * bits/std_cmath.h: Add mess of defines.
2526         * testsuite/26_numerics/modf_float.cc: Change to
2527         * testsuite/26_numerics/c_math.cc: This.
2528         
2529         * src/locale.cc: Change.
2530         * bits/locale_facets.h: Fix.
2531         * testsuite/22_locale/ctype.cc: Add temporary tests.
2532         
2533 1999-08-24  Benjamin Kosnik  <bkoz@cygnus.com>
2535         * bits/fpos.h: Test.
2537         * docs/index.html: Add powerpc-linux-gnu results with gcc-2.95.1.
2538         Fix database name for "libstdc++".
2540 1999-08-23  Benjamin Kosnik  <bkoz@cygnus.com>
2542         * mknumeric_limits (numeric_limits): Add default definitions to
2543         member functions.
2544         * testsuite/18_support/numeric_limits.cc: New file.
2546 1999-08-18  Benjamin Kosnik  <bkoz@cygnus.com>
2548         * bits/std_istream.h: Correct initialization.
2549         * bits/std_ostream.h: Likewise.
2550         * bits/std_sstream.h: Likewise.
2551         * bits/std_fstream.h: Likewise. 
2552         * testsuite/27_io/stringstream.cc: Add test case.
2553         
2554         * bits/std_sstream.h: Replace ____string_type with __string_type.
2555         * bits/basic_ios.h (basic_ios::rdbuf(sb*): Call clear(), as required.
2556         * bits/std_ostream.h: Tweak dtor.
2558 1999-08-17  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
2560         * src/Makefile.am (CXXFLAGS): Add -O2.
2561         * src/Makefile.in: Likewise.
2562         
2563         * src/gen-num-limits.cc: Conditionally allow wchar_t. See what
2564         this breaks. . .
2565         * mknumeric_limits (numeric_limits): Uglify.
2567         * bits/std_istream.h: Fix warnings.
2568         * bits/locale_facets.tcc: Collateral damage from
2569         char_traits<char>::int_type change.
2571         * testsuite/27_io/istream_extractor_char.cc: Terminate strings.
2573 1999-08-17  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
2575         * docs/index.html: Add mailing list form.
2576         * docs/27_io/howto.html: Add link to iostreams_hierarchy.pdf.
2578 1999-08-16  Benjamin Kosnik  <bkoz@cygnus.com>
2580         * bits/streambuf.tcc (streambuf::xsputn): Allow copies to continue
2581         if overflow successfully allocates more space.
2582         * bits/std_sstream.h: Adjust comments.
2583         * bits/sstream.tcc (stringbuf::overflow): Copy buffer into string
2584         before overflow forces a resize.
2585         * testsuite/27_io/ostream_inserter_char.cc: New file.
2586         
2587         * bits/std_fstream.h: Remove declaration.
2588         * bits/fstream.tcc: Move uflow.
2589         * bits/std_streambuf.h: To here.
2590         * bits/streambuf.tcc: Make consistent.
2591         
2592         * src/Makefile.am (WERROR): Enable.
2593         * src/Makefile.in: Regenerate.
2594         * bits/sbuf_iter.h: Tweak.
2595         * bits/char_traits.h: (char_traits<wchar_t>::eof): Use WEOF.
2596         Use unsigned int as char_traits<char>::int_type.
2598         * bits/ostream.tcc (ostream::putc(char)): Tweak.
2599         * testsuite/27_io/iostream_objects.cc: Terminate string.
2600         Move cin::operator>>(char*) test to extractor_char.cc.
2601         * testsuite/27_io/stringstream.cc: Add stringstream instantiation.
2602         * bits/std_istream.h (basic_iostream): Make explicit definition
2603         for default ctor.
2604         * bits/std_sstream.h: Fix typos.
2605         * bits/fstream.tcc (_M_init_filebuf): Set to indeterminate for
2606         basic_filebuf ctor with fileno open arguments. Thus, filebufs are
2607         initialized in a consistent manner, no matter if the underlying
2608         FILE/bit bucket is a tty or a text file or some other imaginary
2609         construct. This and setting _M_buf_size to 1 for cin allows
2610         istream::get(char) to work in a manner consistent with what others
2611         expect.
2613         * docs/index.html: Link Stroustrup's C++ page.
2614         
2615 1999-08-12  Michael Cook  <cook@sightpath.com>
2617         * bits/fstream.tcc: Fix signed/unsigned -Wall warning.
2618         * bits/istream.tcc: ditto.
2619         * bits/sbuf_iter.h: ditto.
2620         * bits/std_istream.h: ditto.
2621         * src/Makefile.am: Add -Wall to CXXFLAGS.
2622         * src/Makefile.in: ditto.
2624 1999-08-12  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
2625             Russell Davidson <russell@ehess.cnrs-mrs.fr> 
2627         * bits/locale_facets.tcc (_M_extract): Finish off patch from yesterday.
2628         * src/Makefile.am (myinstallheaders): Tweak, remove PHONY.
2629         
2630 1999-08-11  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
2632         * testsuite/27_io/istream_unformatted.cc: New file.
2634         * testsuite/27_io/istream_extractor_arith.cc (test02): Add more
2635         elaborate tests for int types with noskipws.
2637         * testsuite/27_io/istream_extractor_other-1.txt: New file.
2638         * testsuite/27_io/istream_extractor_other-1.tst: New file.
2639         * testsuite/27_io/istream_extractor_other-2.tst: New file.      
2640         * testsuite/27_io/istream_extractor_other.cc: Add tests.
2641         * bits/istream.tcc: Fix operator>>(streambuf*).
2643         * testsuite/23_containers/vector_ctor.cc (test01): Add.
2645         * docs/index.html: Remove references to egcs.
2646         * docs/17_intro/DESIGN: Same.
2647         * docs/17_intro/contribute.html: Same.
2648         * docs/17_intro/RELEASE-NOTES: Ditto.
2649         * docs/17_intro/howto.html: Same here.
2651         Russell Davidson <russell@ehess.cnrs-mrs.fr>
2652         * stl/bits/stl_vector.h (_M_insert_aux): 
2653         * bits/locale_facets.tcc (_M_extract): Tweaks for preliminary
2654         decimal/floating point support.
2655         * bits/locale_facets.h: Change _M_extract prototype.
2656         * bits/char_traits.h (char_traits::to_int_type): Cast to unsigned.
2657         * bits/std_istream.h (istream::read(char_type, streamsize)): Fix.
2658         
2659 1999-08-10  Michael Cook  <cook@sightpath.com>
2661         * bits/fstream.tcc: Fix for unused variable warning (-Wall).
2662         * bits/ios_base.h: ditto.
2663         * bits/istream.tcc: ditto.
2664         * bits/locale_facets.h: ditto.
2665         * bits/locale_facets.tcc: ditto.
2666         * bits/std_streambuf.h: ditto.
2667         * src/basic_file.cc: ditto.
2668         * src/locale.cc: ditto.
2669         * src/localename.cc: ditto.
2671 1999-08-10  Kirat Singh  <singhki@jany.gs.com> 
2673         * bits/std_iomanip.h: Inline.
2674         
2675 1999-08-10  Alfred Minarik <a8601248@unet.univie.ac.at>
2676         
2677         * bits/std_streambuf.h: Correct member initialization order.
2678         * src/ios.cc: Add definitions for ios_base data members.
2679         
2680 1999-08-06  Phil Edwards  <pedwards@ball.com>
2681         
2682         * docs/index.html:  Seventh snapshot updates.  Minor tweaks.
2683         * docs/faq/index.html: Ditto.  Removed bugs sections that have
2684         been fixed for a long time...  Lots of "egcs" references still
2685         exist.
2686         * docs/faq/index.txt:  Regenerated.
2688 1999-08-05  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2689             Andreas Amann <amann@physik.tu-berlin.de>
2691         * testsuite/26_numerics/binary_closure.cc (main): new test.
2693 1999-07-29  Andreas Amann <amann@physik.tu-berlin.de>
2695         * bits/valarray_meta.h: (_BinClos<>::_Binclos): fix typo causing
2696         segmentation fault.
2698 1999-08-04  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
2700         * docs/index.html (host): Put in testing status.
2702 1999-08-03  Benjamin Kosnik  <bkoz@cygnus.com>
2704         * docs/index.html: Update for libstdc++-2.90.6 release.
2705         * docs/17_intro/RELEASE-NOTES (New): Update.
2706         * docs/17_intro/BUGS: Update.
2707         * bits/c++config.h.in (__GLIBCPP__): Bump version number.
2708         * README (file): Update.
2710 1999-08-03  Benjamin Kosnik  <bkoz@cygnus.com>
2712         * src/Makefile.am (generated_headers): Remove bits/c++config.h as
2713         a target.
2714         ($(generated_headers)): Same.
2715         * src/gen-c++config.cc: Remove, rename to
2716         * bits/c++config.h.in: New file. Bump version number.
2717         * configure.in: Generate bits/c++config.h at configure time. 
2718         * math/mathconf.h: include bits/c++config.h, not config.h.
2719         
2720         * bits/std_cmath.h: Fix remaining link error for solaris shared
2721         builds.  _GLIBCPP_HAS_BUILTIN_SINF has to be disabled for the time
2722         being, as on Solaris this silently calls sinf, which does not
2723         exist.
2724         
2725         * src/complex.cc: More tweaks.
2727 1999-08-03  Benjamin Kosnik  <bkoz@cygnus.com>
2729         * src/complex.cc: Same.
2730         * math/complex-stub.h: Change.
2731         * math/c_log10*.c: Change back to clog10*.c.
2733         * configure.in (NEED_C_LOG10): Delete.
2734         * configure: Regenerate.
2735         * math/Makefile.am: Change.
2736         
2737 1999-07-30  Benjamin Kosnik  <bkoz@cygnus.com>
2739         * math/Makefile.am: Fix, for real.
2740         * configure.in (use_builtin_sinf): Ok, make autoconf solution.
2741         * math/clog.c: Move to c_log.c.
2742         * math/clog*: Ditto.
2743         * math/c_log10l.c (c_log10l): Change function name.
2744         * math/c_log10f.c (c_log10f): Change function name.
2745         * math/c_log10.c (c_log10): Change function name.
2746         
2747         * math/complex-stub.h: Change to c_log* variants.
2748         * src/complex.cc: And here. 
2749         
2750 1999-07-29  Benjamin Kosnik  <bkoz@cygnus.com>
2752         * testsuite/27_io/istream_extractor_other.cc: Correct last test.
2753         * bits/sstream.tcc (stringbuf::overflow): Don't update the input
2754         sequence, just the output sequence.
2755         * bits/std_sstream.h (stringbuf::str()): Only in stringbufs return
2756         the original string, all others use complicated heuristic.
2758         * src/complex.cc: Assume c_log10.
2759         * math/Makefile.am (EXTRA_yes): Fix c_log/c_logf unresolved
2760         symbols in shared libraries by making c_log/c_log10 part of the
2761         "must cmpile" sources. This may not work on solaris, must check.
2763 1999-07-29  Benjamin Kosnik <bkoz@cygnus.com>
2765         * bits/istream.tcc (operator>>(streambuf*)): Re-do.
2766         * bits/std_istream.h: Fix char extractors.
2767         * testsuite/27_io/istream_extractor_char.cc: Change.
2768         * testsuite/27_io/istream_extractor_other.cc: Add tests.
2769         
2770 1999-07-28  Benjamin Kosnik <bkoz@cygnus.com>
2772         * bits/std_cctype.h: Fix for solaris2.6 builds. 
2774         * bits/istream.tcc: Fix, thanks Alfred.
2775         * bits/std_istream.h: Formatting changes.
2777         * libio/Makefile.am (libio_la_SOURCES): Remove cleanup.c, so that
2778         _IO_cleanup will not be undefined.
2779         * libio/*: Regenerate.
2780         
2781         * bits/basic_string.h: More namespace-safety stuff.
2782         * testsuite/27_io/istream_extractor_char.cc: Fix.
2783         * testsuite/27_io/istream_extractor_arith.cc: Fix.
2784         * testsuite/27_io/iostream_objects.cc: Fix.
2785         * testsuite/27_io/ios_ctor.cc: Fix.
2786         * testsuite/27_io/istream_manip.cc: Make namespace safe.
2787         * testsuite/27_io/istream_extractor_other.cc: New file.
2789         * mkcheck (TESTS_FILE): Tweaks.
2791 1999-07-27  Benjamin Kosnik  <bkoz@cygnus.com>
2793         * src/gen-c++config.cc: Note here, change version.
2794         * acconfig.h( _GLIBCPP_USE_CTYPE_ISBIT): New macro.
2795         * src/locale.cc: Used here.
2796         * configure.in (use_builtin_sinf): Check for _ISBit using autoconf.
2798         * aclocal.m4: Regenerate by running `aclocal -I m4.`
2799         
2800         * bits/istream.tcc: Fix.
2801         * bits/std_istream.h: More changes to extractors.
2803         * testsuite/27_io/istream_extractor_char.cc: More.
2804         * testsuite/21_strings/inserters_extractors.cc (test01): Fix logic
2805         error in testsuite construction.
2807         * bits/std_istream.h: Partially revert.
2808         * bits/std_ostream.h: Same.
2809         * bits/std_sstream.h: Revert. 
2811 1999-07-26  Benjamin Kosnik  <bkoz@cygnus.com>
2813         * bits/std_sstream.h: Change initialization.
2814         * bits/std_ostream.h: Make default ctor/assign/operator= private.
2815         * bits/std_istream.h: Same, also correct sentry args.
2816         * bits/istream.tcc: Add correct sentry args.
2817         
2818         * testsuite/27_io/istream_extractor_char.cc: New file.
2819         * testsuite/27_io/istream_extractor_arith.cc: New file, old file,
2820         name changes making me dizzy.
2822 1999-07-26  Ulrich Drepper  <drepper@happy.cygnus.com>
2823             Benjamin Kosnik  <bkoz@cygnus.com>
2825         * aclocal.m4, config.guess, config.sub, ltconfig ltmain.sh: Update
2826         to libtool 1.3.3.
2828 1999-07-26 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2830         * bits/std_complex.h: Tweak. Make the primary template class
2831         complex work with user-defined numerical types.  Provide member
2832         definitions.  Restructure.
2833         (class complex<float>): Uglify.  Remove  __value().  Rename __val
2834         to _M_value.  Rename __complex_value_type to _ComplexT. Make it
2835         private.  Remove dependency on __value().  Fix various explicit
2836         specialization syntax.  Declare a some functions friend.  Now the
2837         implementation is nearly comforming.
2838         (class complex<double>): Likewise.
2839         (class complex<long double>): Likewise.
2841         * src/complex.cc: Tweak.  Remove dependency on complex::__value().
2842         (sin, sinh, tan, than): Fix call to corresponding C9x function
2843         syntax. 
2845 1999-07-24  Benjamin Kosnik  <bkoz@fidel.cygnus.com>
2847         * bits/istream.tcc (ws): Fix error with failbit being set.
2849         Disabled due to egcs/gcc-2_95 internal compiler errors.
2850         * src/Makefile.am (CXXFLAGS): Add -fsquangle -fhonor-std
2851         -fnew-exceptions. Compiling with namespaces enabled will now be
2852         the default.
2853         * mkcheck (CXX_FLAG): Same.
2854         * src/gen-c++config.cc (_GLIBCPP_USE_NAMESPACES): Yup. New macro.
2855         * bits/std_cctype.h: Not enough to just define in namespace std if
2856         ctype-isms are macros. Need to also define in namespace std:: if
2857         the C functions are just plain functions.
2859         * src/gen-num-limits.cc: Fix spelling inconsistencies.
2860         
2861 1999-07-24  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
2863         * docs/18_support/howto.html: Start documentation.  Need to keep
2864         track of the ongoing discussion in th LWG reflector.
2866         * src/gen-num-limits.cc: Tweak.
2867         (class predicate): New class.
2868         (class value): Likewise.
2869         Make the whole machinery more flexible. Add comments.
2871 1999-07-23  Benjamin Kosnik  <bkoz@fidel.cygnus.com>
2873         * bits/ios_base.h: Move state/exception functions into basic_ios. 
2874         * bits/basic_ios.h: Same.
2875         * src/ios.cc: And here. Callbacks don't attempt to reset
2876         state now.  
2878         * bits/std_streambuf.h: Separate ios and streambuf locale data
2879         members and cached facets. Using this convention: _M_locale_buf for
2880         the streambuf-related classes, and _M_locale_ios for the ios
2881         hierarchy.
2882         * bits/fstream.tcc: And here.
2883         * bits/basic_ios.h: And here. Also, add cached ctype.
2884         * src/ios.cc: Ditto.
2885         * bits/ios_base.h: Ditto.
2886         * bits/std_istream.h: Use cached ctype facet.
2887         * docs/27_io/iostreams_hierarchy.pdf: Update for new data member
2888         arraignment.
2890         * testsuite/27_io/ios_ctor.cc: New file.
2891         * src/ios.cc: Move _M_state init to basic_ios::init().
2892         * bits/basic_ios.h: To here.
2893         
2894         Attempt for some consistency in naming for testsuite/27_io/*.cc.
2895         * testsuite/27_io/boolfmt.cc: Rename to stdios_fmtflags_manip.cc
2896         * testsuite/27_io/octfmt.cc: Rename to stdios_basefield_manip.cc
2897         * testsuite/27_io/istream_manip.cc: Rename to istringstream_manip.cc.
2898         * testsuite/27_io/ostream_manip.cc: Rename to ostringstream_manip.cc.
2899         
2900 1999-07-22  Benjamin Kosnik  <bkoz@fidel.cygnus.com>
2901         
2902         * src/ios.cc: Tweak initializations of standard iostream
2903         objects to closely match the standard. Tie cin/wcin, set flags on
2904         cerr/wcerr
2905         * bits/char_traits.h: Change from size_t to int_type, as per
2906         standard. As per wide streams.
2907         * bits/basic_ios.h: Infect with __ctype_type, as a preparation
2908         for caching a bunch of ctype info. For instance, ctype_base::space
2909         info needs to be stored somewhere, somehow.
2910         * bits/std_istream.h: Also here.
2911         * bits/std_ostream.h: Ditto.
2912         * bits/std_istream.h (operator>>(istream, char): Aggh. Fixup.
2913         * testsuite/27_io/iostream_objects.cacc (test01): Oh yeah. Fix
2914         stream states.
2916         * bits/istream.tcc (ws): Fix.
2917         * testsuite/27_io/istream_manip.cc: New file, test ws.
2918         * testsuite/27_io/ostream_manip.cc: New file, test endl, ends, flush.
2920         * bits/basic_string.h: Provide a specialized member function for
2921         _S_find<char> using strchr.
2922         * src/string-inst.cc: Put specializations here.
2923         * bits/string.tcc: Small fix for find, remove typo.
2924         * testsuite/21_strings/find.cc (test01): Add tests to catch this
2925         find bug. . .
2927 1999-07-20  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>       
2929         * bits/basic_ios.h: Put into basic_ios namespace.
2930         Tweak widen/narrow.
2932 1999-07-19  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>       
2934         * bits/std_sstream.h (stringbuf::sync): Change to _M_really_sync,
2935         adjust _M_*_cur pointers inside the function, so callee doesn't
2936         have to adjust.
2937         * bits/sstream.tcc (stringbuf::overflow): Tweak.
2939         * mkcheck: Tweak. Add execution time field, even though it is not
2940         implemented yet. Simplify pass/fail status notation.
2942 1999-07-18  Mumit Khan  <khan@xraylith.wisc.edu>
2944         * configure.in: Check for float.h and underscored version of 
2945         math functions.
2946         * acconfig.h: Add @BOTTOM@ section for handling underscored
2947         math functions.
2948         * configure: Regenerate.
2949         * config.h.in: Regenerate. 
2950         * math/mathconf.h (float.h): Include conditionally.
2951         (M_PI): Define conditionally.
2952         (INFINITE_P): Define for Mingw.
2953         * bits/locale_facets.tcc: Workaround for compiler crash on
2954         ix86-*-mingw32.
2955         * bits/std_cwchar.h (bits/std_cstddef.h): Include.
2956         * src/locale.cc (bits/std_istream.h): Include.
2957         (bits/std_ostream.h): Likewise.
2959 1999-07-18  Phil Edwards  <pedwards@ball.com>
2961         * docs/faq/index.html:  Updated __black_count notes, fixed typos.
2962         * docs/faq/index.txt:  Regenerated.
2964 1999-07-15  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
2966         * testsuite/27_io/stringbuf.cc: Cccchanges, latent bugs.
2968         * bits/sstream.tcc (stringbuf::overflow): Modify accounting of
2969         newly-allocated buffer.
2970         * bits/streambuf.tcc (streambuf::xsgetn): Aaaaaah. Fix final
2971         overflow condition bits.
2973 1999-07-14  Benjamin Kosnik  <bkoz@cygnus.com>
2975         * bits/std_sstream.h (stringbuf::_M_init_stringbuf): Set
2976         _M_buf_size to initial _M_string.size(), even though for
2977         ostringstreams it is pretty pointless. It's necessary for
2978         istringstreams.
2979         (stringbuf::str()): Adjust. 
2980         (stringbuf::str()): Adjust, call _M_init_stringbuf.
2981         * bits/streambuf.tcc (streambuf::xsgetn): Adjust return value for
2982         overflow's possible success.
2983         (streambuf::xsputn): Adjust.
2984         
2985         * testsuite/27_io/filebuf.cc: Adjust for the xsgetn re-write from
2986         yesterday.
2987         * testsuite/27_io/stringbuf.cc: Tweak.
2988         * testsuite/21_strings/inserters_extractors.cc (test01): Remove
2989         notes to myself.
2990         * testsuite/23_containers/vector_cons.cc: Rename to be consistent
2991         with other constructor tests to. . .
2992         * testsuite/23_containers/vector_ctor.cc: New file.
2993         
2994 1999-07-14  Alfred Minarik <a8601248@unet.univie.ac.at>
2996         * testsuite/*: Changes to make the testsuit compilable with
2997         -fhonor-std. Contains direct qualification of library names with
2998         std::.
3000 1999-07-13  Benjamin Kosnik  <bkoz@decepticon.cygnus.com>
3002         * bits/streambuf.tcc: Tweaks.
3003         (streambuf::xsputn): Optimize, fix for sstreams.
3004         (streambuf::xsgetn): Same.
3005         * bits/sstream.tcc (stringbuf::overflow): Adjust _M_buf_size
3006         correctly, handle overflow/reallocate conditions correctly.
3007         * bits/std_sstream.h: Fix typo.
3008         _M_init_stringbuf(): Fix _M_buf_size initialization.
3009         (stringbuf::str()): Construct return string if output has occurred.
3011         * bits/basic_string.h: Fix typo from yesterday's patch.
3013 1999-07-12  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
3015         * bits/string.tcc: _M_mutate - clear _M_state again.
3016         * bits/basic_string.h: In the three functions that return
3017         an iterator set _M_state to -1 before return.
3018         Also optimized two cases of operator+.
3019         
3020 1999-07-12  Phil Edwards  <pedwards@ball.com>
3022         * docs/index.html:  Expand egcs-1.1.2 notes/links.
3023         * docs/faq/index.html:  And here.  Add links to LWG issues-list.
3024         * docs/faq/index.txt:  Regenerate.  (lynx rocks)
3025         * docs/21_strings/howto.html:  Fix notes on case conversion.
3026         * docs/21_strings/stringtok_h.txt:  Goodly spelling...
3027         * docs/23_containers/howto.html:  Stub for bitmasks.
3028         * docs/27_io/howto.html: Add section on buffering, stub binary.
3029         
3030 1999-07-12  Nathan Myers <ncm@cantrip.org>
3032         * stl/bits/stl_tree.h (__black_count): Optimize.
3034 1999-07-09  Vadim Egorov  <egorovv@1c.ru>
3036         * src/basic_file.cc: Cleanup in __basic_file destructor.
3038 1999-07-08  Benjamin Kosnik  <bkoz@cygnus.com>
3040         * bits/std_streambuf.h: Changes. . .
3041         * bits/streambuf.tcc: Merge xsputn from filebuf into xsputn in
3042         basic_streambuf, to be used for both filebufs and streambufs.
3043         * bits/std_fstream.h (_M_init_filebuf): New function.
3044         Take out specialized xsputn, put into basic_streambuf.
3045         * bits/fstream.tcc: Define, call from both ctors.
3046         * bits/std_sstream.h (_M_init_stringbuf): New function.
3047         * bits/sstream.tcc: Tweak.
3048         
3049         * docs/27_io/iostreams_heirarchy.pdf: New file.
3050         
3051         * docs/17_intro/CHECKLIST (basic_string<char>): Validation and
3052         acceptance. Wooo-hoo!
3054         * bits/char_traits.h: Change int_type for char_traits general
3055         template, so that 21_strings/capacity.cc will compile.
3056         * testsuite/21_strings/capacity.cc: Add operators.
3057         
3058         * bits/string.tcc (string::compare): Clean up, re-implement.
3059         * testsuite/21_strings/compare.cc: Tweak.
3060         
3061         * bits/string.tcc (string:_M_mutate): Keep leaked value in
3062         _M_state, which means that whenever begin() or end() has been
3063         called, the string is unshareable, period. By doing this, insert
3064         and erase member functions that return iterators can remain
3065         footloose and fancy free. 
3066         * testsuite/21_strings/invariants.cc: Update.
3068         * bits/basic_string.h (string::append): Fix self-referential
3069         problems, ie when "this" is also an argument to a member function.
3070         * bits/string.tcc: Tweak, same.
3071         * testsuite/21_strings/append.cc: New file.
3073 1999-07-07  Benjamin Kosnik  <bkoz@cygnus.com>
3075         * bits/char_traits.h: Tweaks.
3076         * bits/basic_string.h: Tweak.
3077         * bits/fstream.tcc: Remove warning for _M_buf_size assignment.
3079 1999-07-06  Benjamin Kosnik  <bkoz@cygnus.com>
3081         * bits/std_streambuf.h: Absorb/acquire data members previously
3082         working in basic_filebuf.
3083         * bits/streambuf.tcc: Tweaks.
3084         * bits/fstream.tcc: Adjust.
3085         * bits/std_fstream.h: Move and rename the following functions:
3086         _M_set_ideterminate, _M_is_indeterminate, _M_set_determinate are
3087         now declared and defined in the base class, basic_streambuf.  Oh
3088         fuck it, move data members _M_buf, and _M_buf_size into
3089         basic_streambuf as well.
3091         * bits/ostream.tcc: Tweak.
3092         * bits/locale_facets.tcc: Fix typo in comments.
3094         * testsuite/21_strings/inserters_extractors.cc (test01): Change
3095         state from good to not good, as eof() is set.
3097 1999-07-05  Benjamin Kosnik  <bkoz@cygnus.com>
3099         * bits/char_traits.h (char_traits::compare). Fix.
3101         * config.guess, config.sub: Update.
3103 1999-07-02  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
3105         * bits/string.tcc: Check the __res_arg for a length error.
3107 1999-07-01  Benjamin Kosnik  <bkoz@nabi.net>
3109         * bits/std_streambuf.h: Tweaks. Need to move _M_is_indeterminate
3110         and related functions into basic_streambuf, from basic_filebuf to
3111         take care of ostringstreams and empty strings. So that's groovy,
3112         or will be groovy.
3113         * bits/std_istream.h: Tweaks.
3114         * bits/istream.tcc: Implement ws, getline, operator>> for string.
3115         * bits/std_ostream.h: And here.
3116         * bits/ostream.tcc: Same.
3117         * src/misc-inst.cc: Add instantiations for ws.
3118         
3119         * src/string-inst.cc: Add instantiations for inserters and
3120         extractors (operators << and >>, getline).
3122         * testsuite/21_strings/inserters_extractors.cc: Amazingly enough,
3123         a testcase for getline and operators << and >>. Ostream tests are
3124         failing right now, but istream tests should work. . .
3126         * bits/string.tcc: Change _S_max_size, as GNU malloc won't budge.
3127         * bits/std_sstream.h: Revert.
3129         * testsuite/17_intro: header_[iosfwd, ios, iostream, iomanip,
3130         istream, ostream, streambuf, fstream, sstream].cc: New files.
3131         
3132 1999-06-30  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
3134         * bits/std_sstream.h (stringbuf::sync): Don't use string::begin()
3135         and string::end().
3136         
3137         * bits/basic_string.h (basic_string<>::_S_copy_chars): Add
3138         specializations for _CharT*, iterator and const_iterator.
3139         * src/string-inst.cc: Remove explicit instantiation, as
3140         now explicitly specialized.
3142         * bits/basic_string.h: Add a size_type parameter to _M_clone with
3143         a default value set to 0.
3144         * bits/string.tcc: In _M_clone by the call of _S_create add the
3145         value of the new parameter to _M_length.  In reserve check
3146         _M_state and use _M_clone instead of _M_mutate.
3148 1999-06-30  Benjamin Kosnik  <bkoz@happy.cygnus.com>    
3150         * bits/basic_string.h: Fix _S_max_size.
3151         * bits/string.tcc: Add def here.
3152         * testsuite/21_strings/insert.cc: Fix.
3153         
3154         * bits/sbuf_iter.h: Remove detritus.
3155         * testsuite/24_iterators/istreambuf_iterator.cc: Add tests.
3157         * src/locale-inst.cc: Elaborate iterator/locale instantiations
3158         to resolve alpha-osf4 build problems.
3160 1999-06-29  Benjamin Kosnik  <bkoz@happy.cygnus.com>    
3162         * bits/string.tcc: Fix signed/unsigned issues in compares.
3163         * stl/bits/stl_deque.h: And here.
3164         * stl/bits/stl_string_fwd.h: Remove __get_c_string.
3166 1999-06-29  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
3168          * bits/string.tcc: New implementation and interface of _M_mutate.
3169            Adapt the change in all functions that call _M_mutate.
3170          * bits/basic_string.h: And here.
3172 1999-06-29  Benjamin Kosnik  <bkoz@happy.cygnus.com>
3174         * testsuite/21_strings/capacity.cc (test01): Fix.
3176 1999-06-29  Phil Edwards  <pedwards@ball.com>
3178         * mknumeric_limits:  Exit script if gen-num-limits isn't built.
3179         
3180 1999-06-29  Andreas Gruenbacher  <agruenba@pent224.infosys.tuwien.ac.at> 
3182         * stl/bits/stl_vector.h: Fix.
3183         * testsuite/23_containers/vector_cons.cc: Add.
3184         
3185 1999-06-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3187         * mknumeric_limits (LDFLAGS): fix.
3189 1999-06-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3191         * mknumeric_limits (LDFLAGS): set it according to the system.
3193         * math/mathconf.h (NAN): Check whether host is running under
3194         Cygwin and make the appropriate definition.
3195         * math/complex-stub.h (nan): protect declaration.
3197 1999-06-28  Benjamin Kosnik  <bkoz@haight.constant.com>
3199         * bits/sbuf_iter.h: Rename internal data structure to prevent
3200         confusion between basic_ios and istreambuf_iterators internal
3201         basic_streambuf data member.
3202         * testsuite/24_iterators/istreambuf_iterator.cc: New file.
3204         * bits/basic_string.h: Remove conditionals, add input_iterator
3205         version of S_construct again.
3206         * bits/string.tcc: Same.
3207         * src/string-inst.cc: And add explicit instantiation here.
3208         
3209         * src/gen-c++config.cc (_GNU_SOURCE): Take out both _GNU_SOURCE
3210         and __USE_GNU macro defines, as single __USE_GNU use leading to
3211         confusion on glibc2.1 systems (ie, RedHat 6.0).
3212         
3213         * src/Makefile.am (headers): Add std_utility to installed headers.
3215 1999-06-25  John Potter  <jpotter@eagle.lhup.edu>
3217         * stl/bits/stl_tree.h (insert_unique): Revert, just fix insert_equal.
3219 1999-06-25  Gilles Zunino  <Gilles.Zunino@hei.fr>
3221         * mknumeric_limits (LDFLAGS): Swap -lc and -lgcc.
3223 1999-06-24  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
3225         * src/gen-c++config.cc (_GLIBCPP_*): Change all
3226         macros to include _GLIBCPP as a distinct namespace.
3227         * bits/*: And here.
3228         * src/*: And here.
3229         
3230         * stl/bits/std_stdexcept.h: Forward-declare __Named_exception ctor.
3231         * bits/basic_string.h: Remove __get_c_string.
3232         * src/stdexcept.cc: Define ctor here.
3233         * bits/ios_base.h: And fix ios_base::failure as well.
3234         * src/ios.cc: Define here. 
3235         
3236         * bits/std_streambuf.h: Add a private copy ctor and assignment
3237         operator wrapped in _G_RESOLVE_LIB_DEFECTS.
3238         * bits/ios_base.h: And here too.
3239         
3240         * bits/basic_string.h: Tweak.
3241         * testsuite/21_strings/nonmember.cc: Add operator+ tests.
3243         * src/valarray.cc: Rename to. . .
3244         * src/valarray-inst.cc: This.
3245         * src/Makefile.am (sources): Change here.
3246         * src/Makefile.in: Regenerated.
3247         
3248 1999-06-24  Vadim Egorov  <egorovv@1c.ru>
3250         * bits/string.tcc(basic_string<>::_Rep::_S_create): Fixed
3251         allocated size
3253 1999-06-24  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
3254             Tom Tromey  <tromey@cygnus.com>
3255         
3256         * configure.in (use_glibc2): Eek, correct for non-glibc systems.
3257         Use AM_CONDITIONAL to get us out of this jam. . 
3258         * libio/Makefile.am: Same.
3259         * */Makefile: Regenerated.
3261 1999-06-24  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
3262             John Potter  <jpotter@eagle.lhup.edu>
3264         * stl/bits/stl_tree.h (insert_equal): Fix.
3265         * testsuite/23_containers/multiset.cc: New file.
3266         
3267 1999-06-23  Benjamin Kosnik  <bkoz@cygnus.com>
3269         * configure.in (test for glibc2): Correct AC_TRY_COMPILE so that
3270         this works correctly on glibc-2 systems. This should allow
3271         simplified linking on these systems, and successful linking on Red
3272         Hat 6.0 systems.
3273         * configure, Makefile: Regenerate.
3274         
3275         * bits/std_cwctype.h: Add missing 'w' to _S_iswpunct_helper name. 
3276         
3277         * testsuite/ext: New directory.
3278         * testsuite/ext/headers.cc: New file.
3280 1999-06-23  Vadim Egorov  <egorovv@1c.ru>
3282         * stl/ext/hash_set: include missing headers
3283         * stl/ext/hash_map: Same
3284         * stl/ext/slist: Same
3286 1999-06-17  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3288         * bits/std_cmath.h: comment out modf. Kills build on hpux10.20
3290 1999-06-15  Benjamin Kosnik  <bkoz@cygnus.com>
3292         * src/Makefile.am (sources): Regenerate.
3293         * mkcheck: Add TESTS_FILE as a way of controlling what testcases
3294         are run.
3296 1999-06-14  Benjamin Kosnik  <bkoz@cygnus.com>
3298         * src/string-inst.cc: Change _S_construct signature, to
3299         track requested allocation size versus valid input iterator range.
3300         * bits/basic_string.h: Here too.
3301         * bits/string.tcc: And here.
3303 1999-06-12  Benjamin Kosnik  <bkoz@cygnus.com>
3305         * mkcheck (LOG_FILE): Correctly append errors. 
3307         * stl/bits/stl_iterator.h: Revert previous, delirious, change.
3309         * bits/basic_string.h: Change _Rep::_M_data to _Rep::_M_refdata,
3310         to clarify differences between basic_string::_M_data() calls and
3311         _Rep::_M_data() calls.
3312         * bits/std_string.h: Fix.
3313         Put in check for out_of_range in substr.
3314         * bits/string.tcc:  Fix for _S_find.
3316         * testsuite/21_strings/compare.cc: Add tests.
3317         * testsuite/21_strings/find.cc: New file.
3318         * testsuite/21_strings/substr: New file.
3319         * testsuite/21_strings/replace.cc: New file.
3320         
3321 1999-06-11  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3323         * bits/valarray_array.h: __restrict__ify pointers.
3325         * bits/std_valarray.h: Tweak.
3326         (valarray<T>::cshift, valarray<T>::shift): use __builtin_alloca.
3328         * bits/gslice_array.h: Tweak. Reflect changes in bits/gslice.h
3330         * bits/gslice.h: Tweak.
3331         (class gslice::_Indexer): new class.
3332         (gslice::gslice(const gslice&)): implement copy-ctor to support
3333         ref-counted index. 
3334         (gslice::operator=(const gslice&)): support ref-counted index.
3335         (gslice::_M_convert_to_index): delete.
3337         * src/valarray.cc: New file.
3338         (__gslice_to_index): turn a gslice into a valarray<size_t>
3339         (ctor gslice::_Indexer::_Indexer): implement.
3341         * src/Makefile.am (sources): add valarray.cc
3342         * src/Makefile.in: regenerate.
3344 1999-06-08  Benjamin Kosnik  <bkoz@cygnus.com>
3346         * stl/bits/stl_iterator.h (__normal_iterator::const_iterator
3347         ctor): Put in a const_cast.
3349         * testsuite/21_strings/invariants.cc: New file.
3351         * testsuite/21_strings/insert.cc: Add exception handling bits.
3352         * testsuite/21_strings/ctor_copy_dtor.cc: Same.
3354         * src/wstring-inst.cc: Add c++config.h include.
3356         * bits/basic_string.h: Fix const operator[] for size == pos.
3357         Add _M_leak for rbegin, non-const.
3358         Add _M_leak for rend, non-const.
3359         Make member function at standards conformant.
3360         Add _S_terminal to _Rep for operator[] const, add this into
3361         c_str() as well.
3362         * bits/string.tcc: Add static member definition here,
3363         temporarily.
3364         
3365         * testsuite/21_strings/element_access.cc: Add tests.
3367 1999-06-08  Vadim Egorov  <egorovv@1c.ru>
3369          * bits/fstream.tcc (_M_really_overflow): Fixed size of
3370          conversion buffer.
3372 1999-06-08  Phil Edwards  <pedwards@ball.com>
3374         * bits/fstream.tcc (basic_filebuf::xsputn):  Fix off-by-one count
3375           caused when __testinit is true.
3376         * bits/ostream.tcc (basic_ostream::op<<(streambuf*)):  Write buffer
3377           using rdbuf()->sputn rather than _M_fnumput->put.
3379 1999-06-08  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
3381         * testsuite/23_containers/bitset_ctor.cc: New file.
3382         * stl/bits/std_bitset.h (__BITSET_WORDS): Fix integration bug.
3384 1999-06-08  Phil Edwards  <pedwards@ball.com>
3386         * bits/fstream.tcc (basic_filebuf::underflow):  Fix, rename local vars.
3388 1999-06-07  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
3390         * testsuite/21_strings/element_access.cc: Finish off these tests.
3391         * testsuite/21_strings/insert.cc (test01): Uncomment.
3392         * testsuite/21_strings/ctor_copy_dtor.cc (test01): Finish off ctors.
3393         * bits/basic_string.h: Tweak, okay, fix for real this time.
3394         * bits/string.tcc: Same.
3395         * bits/char_traits.h: Tweak.
3397 1999-06-07  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
3399         * bits/std_cmath.h: Example of how to use the generated macro.
3400         * acconfig.h: Add macro for sinf here.
3401         * configure.in (LIBS): Add test for builtin math function sinf.
3402         * configure: Regenerated.
3403         
3404         * bits/basic_string.h: Fix _S_max_size.
3406 1999-06-06  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
3408         * bits/basic_string.h: Fixes for out-of-memory segv for large strings.
3409         Remove _S_construct signature for forward_iterator_tag and
3410         input_iterator_tag.
3411         Clean _M_fold.
3412         * src/string-inst.cc: Same, tweaks. 
3413         * bits/string.tcc: Same, tweaks.
3415         * testsuite/21_strings/ctor_copy_dtor.cc: Add/clarify tests.
3416         * mkcheck (LOG_FILE): Fix filebuf-[2,3].tst checks.
3417         * mknumeric_limits (LD_FLAGS): Add -nodefaultlibs -lc -lgcc as per
3418         Gaby.
3420         * src/locale.cc: Final separation for char/wchar_t bits.
3422 1999-06-05  Phil Edwards  <pedwards@ball.com>
3424         * docs/index.html:  Added link to book upon request'n'agreement.
3425         * docs/23_containers/wrappers_h.txt:  Added.
3426         * docs/{23_containers,27_io}/howto.html:  Added sections.
3428         * bits/std_fstream.h: Tweak.
3429         
3430 1999-06-05  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
3432         * src/ios.cc: Same here.
3433         * bits/std_iosfwd.h: More wchar_t defines.
3435         * bits/basic_string.h: Tweaks. 
3436         * bits/string.tcc: Tweak. Fix _S_construct to check for max_size
3437         when doing error checking, as per LWG defect #83.
3438         
3439         * src/gen-c++config.cc: Fix comment.
3440         
3441         * testsuite/21_strings/ctor_copy_dtor.cc: New file, checks ctors,
3442         assignments, dtors.
3443         * testsuite/21_strings/element_access.cc: New file, checks for
3444         operator[], at(...).
3445         * testsuite/21_strings/insert.cc: New file, tests string::insert.
3446         * testsuite/21_strings/char_traits.cc: New file, tests
3447         for char_traits<char>.
3448         
3449         * bits/utility.h: Remove, again.
3450         * src/Makefile.am (std_headers): Remove utility.h.
3451         * src/Makefile.in (std_headers): Regenerate.
3453         Alfred Minarik <a8601248@unet.univie.ac.at>
3454         * bits/basic_string.h: Move __out_of_range and __length_error into
3455         namespace std.
3457 1999-06-05  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3459         * testsuite/26_numerics/modf_float.cc: New file.
3461         * bits/std_cmath.h (modf(float, float*)): Fix signature. Correct
3462         typo: use ::modff, not ::modf.
3464 1999-06-03  Vadim Egorov  <egorovv@1c.ru>
3466         * bits/string.tcc (basic_string::_M_mutate): Fixed memory
3467         allocation error
3468         * testsuite/21_strings/capacity.cc (test01): Test.
3469         
3470 1999-06-03  Phil Edwards  <pedwards@ball.com>
3472         * bits/fstream.tcc:  Re-order inits to stop warnings.  Comment/move
3473           unused variables to within #if 0 blocks to do the same.
3474         * bits/std_fstream.h:  Fix typos (one prevents compilation).
3476 1999-06-03  Benjamin Kosnik <bkoz@pacifica.cygnus.com>
3478         * src/wstring-inst.cc: Fix.
3480 1999-06-02  Benjamin Kosnik <bkoz@madcow.cygnus.com>
3482         * bits/char_traits.h: Add _G_USE_WCHAR_T macro guards.
3483         * stl/bits/stl_string_fwd.h: Same.
3484         * bits/locale_facets.h: Same.
3485         * bits/locale_facets.tcc: Same.
3486         * src/wstring-inst.cc: And here.
3487         
3488         * src/gen-c++config.cc: Comment _G_USE_WCHAR_T. Leading to
3489         problems on HPUX 10.20.  
3490         * your-build-directory-here/bits/c++config.h: Just kidding, do it
3491         here as a temporary hack till the compiler/host problems get
3492         worked out.
3494         * bits/locale_facets.tcc (num_get::do_get): Change from ifdef
3495         HAVE_STRTOLD to HAVE_STRTOLD && !(__hpux). Apparently, problems
3496         converting "long double" to struct long_double. Probably should be
3497         done with one macro (HAVE_STRTOLD) at configure time.
3499         * bits/std_cmath.h: Comment out pow(double, int) defintion as
3500         gives re-declaration under hpux10.20. Revert previous change, as
3501         kills linux/x86, solaris 2.7, hpux builds. These should be done
3502         using autoconf, see std_cctype.h and the solutions started in
3503         configure.in (see config.h for the generated file.)
3505         * mknumeric_limits (LDFLAGS): Remove '-nodefaultlibs -lc', as
3506         -nodefaultlibs prevents linking under HPUX 10.20 as __main is not
3507         defined.
3509         * docs/index.html: Add some useful links.
3510         * docs/17_intro/contribute.html: Fix broken links.
3512 1999-06-02  Benjamin Kosnik <bkoz@rhino.cygnus.com>
3514         * mkcheck (LOG_FILE): Add !/bin/bash instead of cygnus-style
3515         paths. The rest of the world should be able to run this script
3516         now.
3518         * src/Makefile.am ($(generated_headers)): Remove comment.
3519         * Makefile*: Regenerate.
3520         
3521         * bits/std_locale.h: Remove detritus.
3522         * bits/localefwd.h: Add <cctype> include to undefine the isspace
3523         macro.
3525 1999-06-01  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
3527         * src/gen-c++config.cc: New file. Making c++config.h at configure
3528         time by catting this file (nee bits/config.h) with the build
3529         directories config.h. This is not a complete or perfect solution
3530         but is better than what was in place previously. 
3531         * bits/c++config.h: Rename/move to above.
3532         * src/Makefile.am (headers): Remove c++config.h.
3533         (myinstallheaders). Add.
3534         * Makefile*: Regenerated.
3536         * bits/std_cwchar.h: Add include of c++config.h for HAVE_*
3537         definitions, so that wmemcmp, wcslen, wmemchr, etc are properly
3538         declared only if not present in the host's wchar.h.
3540         * bits/locale_facets.tcc (std): Change _G_USE_STRTO* to HAVE_STRTO*.
3541         
3542         * bits/std_cmath.h: Define out, for the moment. Linux has no
3543         __buitin_fsqrtl? Probably need some kind of configure trickery
3544         here as well.
3546         * src/Makefile.*: Regenerate.
3547         * bits/c++config.h: Add config.h include.
3549         * bits/std_cwchar.h: Remove remaining #error guard.
3550         
3551         * acconfig.h: Add bits for HAVE_LC_MESSAGES.
3553         * configure.in (LIBS): Replace previous effort for mbstate_t and
3554         strtold/strtof with this implementation.
3556 1999 06-01  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3558         * bits/std_cmath.h: Tweak. Add more functions. Use __builtin_xxx
3559         whenever possible.
3561 1999-05-28  Benjamin Kosnik  <bkoz@cygnus.com>
3563         * bits/locale_facets.tcc (std): Eek: this left in. Autoconf bits
3564         for determining mbstate_t differences across various hosts not
3565         finished. 
3567 1999-05-26  Benjamin Kosnik  <bkoz@nabi.net>
3569         * bits/locale_facets.tcc: Change to ifdef.
3571         * bits/std_sstream.h (stringbuf::setbuf): Remove dynamic_cast.
3572         * bits/std_fstream.h (filebuf::setbuf): Same.
3574         * bits/std_istream.h: Add ws declaration.
3575         * bits/istream.tcc: Stub out definition.
3576         
3577         * docs/index.html: Fix broken link for design.txt.
3579         * configure.in: Test for mbstate_t. If wchar.h doesn't have it,
3580         then set _G_NEED_MBSTATE_T.
3581         * configure: Regenerate.
3582         * bits/c++config.h: Move mbstate_t define.
3583         * bits/std_cwchar.h: To here.
3585 1999-05-25  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
3587         * bits/std_sstream.h:
3588           basic_stringbuf<>::basic_stringbuf: fix.
3589           basic_stringbuf<>::setbuf: 
3590           remove the temporary __string_type object,
3591           remove the unnecessary dynymic_cast in the return value,
3592           change the type of the returned value from __streambuf_type*
3593           to basic_stringbuf<_CharT, _Traits, _Alloc>*.
3595 1999-05-25  Phil Edwards  <pedwards@ball.com>
3597         * bits/std_streambuf.h (streambuf::setbuf): Always return streambuf*. 
3599 1999-04-25  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3601         * bits/std_cmath.h: Tweak. Add float versions of the math functions
3602         in <math.h>.  <cmath> still incomplete and incorrekt.
3604 1999-05-24  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3606         * mknumeric_limits (LDFLAGS): set appropriate link flags.
3607         
3608 1999-05-23  Phil Edwards  <pedwards@ball.com>
3610         * docs/17_intro/howto.html:  Added links to text docs,
3611         e.g., BUGS. 
3612         * docs/21_strings/howto.html:  Updated sections and links.
3613         * docs/21_strings/{gotw29a.txt,stringtok_h.txt}:  Added.
3614         * docs/faq/index.html:  Updated what-works for sixth
3615         snapshot. Also a number of "internal" links have been
3616         fixed, now that the web pages are the docs directory...
3617         * docs/faq/index.txt: Regenerated.
3618         
3619 1999-05-21   Benjamin Kosnik  <bkoz@tintin.cygnus.com>
3621         * bits/basic_string.h: Add Nathan's documentation on the string class.
3623         * testsuite/27_io/ios_members_static.cc: New file, for testing
3624         ios_base::sync_with_stdio.
3626 1999-05-21   Benjamin Kosnik  <bkoz@tintin.cygnus.com>
3628         * bits/std_locale.h: Simplify includes.
3629         * bits/loccore.h: Delete.
3630         * bits/localefwd.h: Renamed, trimmed.
3631         * bits/locfacets.h: Delete.
3632         * bits/locale_facets.h: Rename, expanded.
3633         * bits/loccore.tcc: Deleted.
3634         * bits/locfacets.tcc: Deleted.
3635         * bits/locale_facets.tcc: Resultant merge.
3636         * bits/std_fstream.h: Modify include.
3637         * bits/ostream.tcc: Same.
3638         * bits/istream.tcc: Same.
3640         * src/locale-inst.cc: And here.
3641         * src/locale.cc: Ditto. 
3642         * src/Makefile.am: Updated.
3643         * src/Makefile.in: Rengenerated.
3645         * bits/std_istream.h: Move istream::sentry ctor definition.
3646         * bits/istream.tcc: Move istream::sentry ctor here.
3647         Add more detailed locale include here for ctype member functions.
3648         * bits/ostream.tcc (std): And here.
3650         * bits/sbuf_iter.h: Include std_streambuf.h
3652         * bits/locfacets.h: Start separating this into a localeimp.h file.
3653         * bits/loccore.h: Start separating this into a localefwd.h file.
3654         Add std_climits for CHAR_BIT.
3655         
3656         * bits/ios_base.h (ios_base::sync_with_stdio): Stub in.
3658         * bits/char_traits.h: Tweak.
3660         * bits/ios_base.h: Remove INT_MAX, use 1<<16.
3662         * bits/std_ostream.h: Remove c++config.h include.
3663         * bits/std_istream.h: Same.
3664         * bits/std_streambuf.h: Same.
3665         * bits/std_fstream.h: Same.
3666         * bits/std_sstream.h: And here.
3667         
3668         * bits/std_iosfwd.h: Add _G_RESOLVE_LIB_DEFECTS here for streampos.
3669         * bits/char_traits.h: Add include of std_cwchar.h for mbstate_t.
3670         * bits/fpos.h: Tweak, format.
3672         * std/ciso646: New file.
3673         * bits/std_ciso646.h: New file.
3674         * src/Makefile.am (std_headers): Add ciso646.
3675         (headers): Add bits/std_ciso646.h.
3676         * src/Makefile.in: Regenerate.
3677         * testsuite/17_intro/header_ciso646.cc: New file, disable
3678         equivalance tests.
3679         
3680         * bits/fpos.h: Remove libio.h include.
3681         * bits/basic_file.h: And here.
3682         * bits/std_ios.h: Put here.
3684         * src/ios.cc: Simplify includes, tweak.
3685         * bits/std_ios.h: Simplify include order. 
3686         * bits/ios_base.h: Modify ios_base::failure.
3688         * stl/bits/std_numeric.h: Change include from stl_iterator to
3689         std_iterator.
3690         
3691 1999-05-19  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
3693         * std/iostream: Remove static member __ioint.
3694         * bits/std_iostream.h: Put here.
3696         * stl/bits/std_numeric.h: Remove unneccessary std_iostream.h include.
3697         * stl/bits/stl_algobase.h: Same.
3698         * testsuite/27_io/iostream_objects.cc: Regression tests.
3699         * testsuite/27_io/hello.cc: Remove, subset of above.
3700         
3701 1999-05-19  Phil Edwards  <pedwards@ball.com>
3702         
3703         * docs/index.html: Tweak, update.
3705 1999-05-18  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3707         * docs/17_intro/RELEASE-NOTES: remove outdated
3708         documentation about numeric_limits. Correct CXXINCLUDE setting
3709         documentation.
3711 1999-05-18  Phil Edwards  <pedwards@ball.com>
3713         * docs/{17_intro,18_support,19_diagnostics,20_util,21_strings,
3714           22_locale,23_containers,24_iterators,25_algorithms,26_numerics,
3715           27_io}/howto.html:  Created, with some initial entries.
3716         * docs/faq/index.html:  Fixed some links.
3717         * docs/faq/index.txt:  Regenerated.
3719 1999-05-18  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
3721         * bits/c++config.h (__GLIBCPP__): Set version to 19990518.
3723         * docs/17_intro/RELEASE-NOTES: Update.
3724         * docs/index.html: Correct link to mailing list help page, update News.
3725         * docs/faq/index.html: Change fifth to sixth for snapshot.
3726         
3727         * src/Makefile.am (myinstallheaders): Bring over Gaby's changes to
3728         install $(top_builddir)/bits/std_limits.h into
3729         $(myincludepfx)/bits. This was mistakenly omitted from yesterday's
3730         Makefile.am changes.
3731         * *Makefile*: Regenerate using automake.
3733         * mkcheck (LOG_FILE): Fix filebuf directory oddness.
3734         * testsuite/27_io/filebuf.cc: Same.
3736 1999-05-18  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3738         * docs/17_intro/CHECKLIST: update.
3739         * docs/17_intro/TODO: update.
3741 1999-05-17  Phil Edwards  <pedwards@ball.com>
3743         * docs/{17_intro,18_support,19_diagnostics,20_util,21_strings,
3744           22_locale,23_containers,24_iterators,25_algorithms,26_numerics,
3745           27_io}/howto.html:  Created, with some initial entries.
3746         * docs/faq/index.html:  Fixed some links.
3747         * docs/faq/index.txt:  Regenerated.
3748         
3749 1999-05-17  Benjamin Kosnik  <bkoz@unhappy.cygnus.com>
3751         * src/Makefile.am (myinstallheaders): Missed removing missing.h. 
3752         * Makefile.in*: Regenerate.
3754 1999-05-17  Benjamin Kosnik  <bkoz@happy.cygnus.com>
3756         * bits/std_streambuf.h: Same.
3758         * bits/loccore.h (_Bad_use_facet): Remove bits warned about.
3759         * bits/locfacets.h (std): Same.
3760         * bits/sstream.tcc: Same.
3761         * testsuite/27_io/stringstream.cc: Tweak.
3763         * testsuite/27_io/filebuf.cc: Adjust.
3764         * testsuite/21_strings/capacity.cc (test01): Add more
3765         string::reserve tests.
3767         * bits/c++config.h: Remove broken CCTYPE.
3768         * bits/std_cctype.h: Tweak, remove de-macroization, enable
3769         sequestered topper implementation.      
3770         * bits/std_cwctype.h: Same.
3771         
3772         * bits/missing.h: Remove.
3773         * bits/std_locale.h: Remove missing.h include.
3774         
3775         * stl/bits/std_bitset.h (bitset::bitset(string): Tweak to compile.
3776         
3777         * src/Makefile.am (headers): Add bits/std_cwctype.h.
3778         INCLUDES: Add top_builddir. 
3779         * src/Makefile.in: Regenerate.
3781         * Makefile.am: Add check and check-install as new targets.
3782         * testsuite/make_check_libfree++: Move to. . .
3783         * mkcheck: Here.
3784         * configure.in: Tweak versions.
3785         * mknumeric_limits: Set paths correctly.
3786         
3787 1999-05-17  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3788         
3789         * src/Makefile.in (myinstallheaders): add rule to install
3790         std_limits.h. 
3791         
3792         * bits/slice.h (class slice): don't const-qualify data members
3793         since the copy and assignment operator is implicitly used. The
3794         valarray specification is definitively a bad one.
3795         
3796         * Makefile.in (generate-limits-sources): fix typo.
3797         
3798         * docs/text/TODO: update.
3799         * docs/text/CHECKLIST: update.
3801         * bits/gslice.h (gslice): fix bugglet.
3802         (gslice::gslice): set _M_index_size to 0 whenever given lengths
3803         (lj) of size zero.
3805         * src/Makefile.am (libstdc___la_SOURCES): add gen-num-limits.
3806         * src/Makefile.in (libstdc___la_SOURCES): keep in sync.
3807         [Note: **/Makefile.in should be generated from the corresponding
3808         Makefile.am.  The current situation is a litte chaotic.  ]
3810 1999-05-16 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3812         * mknumeric_limits: tweak.
3814         * Makefile.in (all): add target generate-limits-sources.
3815         (generate-limits-sources): make a directory bits/ in top_builddir
3816         where the generated std_limits.h is put; generate limitsMEMBERs.cc
3817         directly under $(top_builddir)/src. Remains to put the appropriate
3818         rule for installing std_limits.h.
3819         
3820         * src/Makefile.in (headers): remove bits/std_limits.h to this list.
3821         (INCLUDES): add -I$(top_builddir) for bits/std_limits.h which is
3822         now generated at build-time in the build directory
3823         (libstdc___la_SOURCES): remove limitsMEMBERS.cc form this list
3824         * src/Makefile.am: reflect changes in src/Makefile.in
3826 1999-05-12  Phil Edwards  <pedwards@ball.com>
3828         * docs/faq/index.html: Add more entries (5.4,5.5), finish
3829         all but one empty entry.  Add links for HOWTOs, but no files yet.
3830         (Corrected HOWTO links are for bkoz's new scheme.)
3831         * docs/faq/index.txt: Regenerated.
3832         
3833 1999-05-12  Benjamin Kosnik  <bkoz@happy.cygnus.com>
3835         * testsuite/17_intro/headers.cc: New file.
3836         * stl/bits/std_queue.h: Change stl_bvector.h include path.
3837         * bits/std_cwctype.h: New file.
3838         
3839         * testsuite/27_io/filebuf.cc: Need to tweak directory structure.
3841 1999-05-11  Benjamin Kosnik  <bkoz@loony.cygnus.com>
3843         * stl/bits/stl_config.h (__USE_MALLOC): Change underlying allocator.
3844         Check __USE_MALLOC before defining specializations containing
3845         __default_alloc_template.
3846         * src/stl-inst.cc: Here too.
3848         * bits/basic_string.h: Change.
3850         * testsuite/make_check_libfree++: More tweaks.
3851         * testsuite/21/capacity.cc: New file.
3852         
3853         * src/string.cc: Rename to be consistent with other inst files. 
3854         Rename to string-inst.cc.
3855         * src/string*.cc: Change include.
3856         * src/wstring.cc: Rename to wstring-inst.cc.
3857         * src/wstring*.cc: Ditto.
3858         * src/Makefile.in: Also here.
3859         * src/Makefile.am: Ditto.
3861         * src/traits.cc: Remove.
3862         * src/wtraits.cc: Same.
3864         Try a new way of organizing documentation, one with synchronicity
3865         between testsuites and docs subdirectories, and see who yelps.
3866         * docs/html: Remove, use chapter and subject specific directories
3867         instead of forcing things immediately into format of
3868         documentation.
3869         * docs/text: Same.
3870         * docs/image: Same.
3871         * docs/faq/text, docs/faq/html: Remove, put in the docs/faq
3872         directory and sort by filename and extension.
3873         * docs/17_intro, 18_support, 19_diagnostics, 20_util, 21_strings,
3874         22_locale, 23_containers, 24_iterators, 25_algorithms,
3875         26_numerics, 27_io: Add.
3876         * docs/17_intro/*: Populate with all the text files. . .
3877         * docs/index.html: Construct.
3878         
3879         * testsuite/*: Update with same names as the docs subdir.
3880         * testsuite/results: Where to stash conformance results for the
3881         different snapshots, so that progress/size/speed issues can be
3882         tracked over time.
3883         
3884 1999-05-10  Benjamin Kosnik  <bkoz@loony.cygnus.com>
3885         
3886         * src/string.cc: Add _S_copy_chars instantiation, as well as
3887         string::binary operators !=, ==, etc.
3889         * src/Makefile.am (CXXFLAGS): Remove -fvtable-thunks.
3890         * src/Makefile.in (CXXFLAGS): Same here.
3891         * testsuite/make_check_libfree++ (CXX_FLAG): And here.
3892         
3893 1999-05-07  Benjamin Kosnik  <bkoz@cygnus.com>
3895         * src/string.cc:  Add missing member functions to instantiation list.
3897 1999-05-07  Benjamin Kosnik  <bkoz@cygnus.com>
3899         * src/misc-inst.cc: Remove unused string instantiations.
3901         * bits/string.tcc: Tweak, fix.
3902         * bits/basic_string.h: Format. Fix reported error with c_str().
3904         * testsuite/make_check_libfree++: Tweak for shared builds.
3905         * testsuite/21/operations.cc: New file for testing c_str() etc.
3907 1999-05-06  Benjamin Kosnik  <bkoz@cygnus.com>
3908             Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
3910         * stl/bits/stl_vector.h: Fix the code of vector<> for usage with
3911         an iterator class.  Delineate pointer versus iterator differences
3912         in implementation.
3913         * 23/vector_capacity.cc: New file, tests for above.
3914         
3915 1999-05-06 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
3917         * mknumeric_limits: Fix typo. 'unsigned lont' should read
3918         'unsigned long'.
3919         * src/Makefile.am (libstdc___la_SOURCES): add limitsMEMBERS.cc,
3920         generated by mknumeric_limits to the list. Now std_limits.h is
3921         basically working. 
3922         * src/Makefile.in (generate-numeric-limits): new target to handle
3923         automatic generation of bits/std_limits.h and src/limitsMEMBERS.cc.
3924         (all): add target generate-numeric-limits.
3925         (libstdc___la_OBJECTS): add limitsMEMBERS.lo
3926         (libstdc___la_SOURCES): add limitsMEMBERS.cc
3928 1999-05-05  Benjamin Kosnik  <bkoz@cygnus.com>
3930         Irix build issues.
3931         * bits/c++config.h (_G_USE_CTYPE_ISBIT): Defines new macro for
3932         mask values in ctype_base. Move hacks for _ISBit to locfacets.h.
3933         * bits/locfacts.h: Here.
3935 1999-05-05  Benjamin Kosnik  <bkoz@cygnus.com>
3936             Ulrich Drepper <drepper@cygnus.com> 
3938         Solaris build issues.
3939         * bits/c++config.h: Define new macros, _G_USE_STRTOF and
3940         _G_USE_STRTOLD.
3941         
3942         * bits/locfacets.tcc (num_get::do_get): Tweak long double and
3943         float overloads to use the above macros. Account for the lack of
3944         strtold on some systems, and revert back to using sscanf.
3946 1999-05-04  Ryszard Kabatek <kabatek@chemie.uni-halle.de>
3948         * bits/locfacets.tcc (num_get::do_get): Check the errno variable.
3949         Use strtoul/strtoull for unsigned types.  Check the ranges for
3950         short/unsigned short and if necessary for int/unsigned int.
3952 1999-05-04  Benjamin Kosnik  <bkoz@cygnus.com>
3954         * src/gen-num-limits.cc (round_style): Need to use mknumericlimits
3955         to generate bits/std_limits.h now, as the SGI std_limits.h is
3956         being depricated. Not done, but should be done immediately: need
3957         to make sure this script is run as part of the configuration
3958         process, because without it "make" in a configured build directory
3959         will fail. Also tweaked: added a space for float_round_style, and
3960         used static_cast of zero to default-initialize, which should be ok
3961         according to the standard. (see 8.5 p5 and 20.1.3).
3962         * mknumeric_limits (OUT_C): Need this for x86 long
3963         double extensions.
3964         
3965         * bits/basic_file.h: Include libio.h, not libioP.h.
3966         * src/basic_file.cc: And add libioP.h include here, so that
3967         _IO_init, et. al are well-declared.
3969         * testsuite/make_check_libfree++ (LIB_PATH): Test installed
3970         headers, not source directory headers.
3972         * src/Makefile.am (headers): Add stl_range_errors.h, also adjust
3973         for ext/*.  Also add basic_file.h.
3974         * src/Makefile.in (headers): Same.
3975         
3976         * bits/std_string.h: Reduce dependencies for faster
3977         pre-processing. Move istream and ostream specific defines into
3978         istream.tcc and ostream.tcc respectively.
3979         * bits/string.tcc: And here.
3980         * bits/basic_string.h: Move getline inline out-of-line, and to
3981         istream.tcc.
3982         * bits/istream.tcc: Move string::getline and operator>> here.
3983         * bits/ostream.tcc: And here too.
3985         * bits/utility.h: Remove, as clashes with a standard header. Put
3986         __OUTOFRANGE and __LENGTHERROR macros into string.tcc for the time
3987         being, until this can be combined with SGI's approach.
3988         * bits/string.tcc: Add macros, as above.
3989         * bits/loccore.h: Add _Count_ones defines.
3990         * bits/std_string.h: And here too.
3991         * bits/std_locale.h: And here.
3992         * bits/std_ios.h: Take out include here.
3993         * src/Makefile.am (headers): Remove utility.h
3994         * src/Makefile.in (headers): Remove utility.h
3996         * stl/bits/*: Update to SGI STL 3.20.
3997         * stl/ext/pthread_alloc: Delete this file.
3998         
3999 1999-05-04 Phil Edwards <pedwards@ball.com>
4001         * docs/faq/html/index.html: Add more entries
4002         * docs/faq/html/index.txt: regenerated.
4004 1999-05-04 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4006         * src/gen-num-limits.cc (DO_DEFINE_MIN_MAX): fix typo.
4008 1999-04-29  Benjamin Kosnik  <bkoz@haight.cygnus.com>
4010         * bits/locfacets.tcc (num_get::do_get): Re-implement, with input
4011         from Ulrich and Nathan. Remove extraneous string class usage,
4012         tweak, clean, simplify and consolidate with a eye towards removing
4013         duplcate code. Use strto[l, ll, f, d, ld] instead of sscanf.
4014         Not done: dealing with leading zeros, wchar_t work.
4015         * bits/locfacets.h: And here too.
4017         * doc: Remove.
4018         
4019 1999-04-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4021         * docs/: add a FAQ.
4022         * docs/faq/: New directory.
4023         * docs/faq/html/: Likewise.
4024         * docs/faq/text/: Likewise.
4025         * docs/faq/html/index.html: New file.
4026         * docs/faq/html/index.txt: Likewise. Generated from 
4027         docs/faq/html/index.html by lynx.
4029 1999-04-28  Benjamin Kosnik  <bkoz@happy.cygnus.com>
4030             Ryszard Kabatek and Branko Cibej 
4032         * bits/locfacets.tcc: Modify.
4034 1999-04-27  Benjamin Kosnik  <bkoz@happy.cygnus.com>
4036         * bits/sbuf_iter.h: Clean, fix istreambuf_iterator, make
4037         conformant to 14882, wrap non-standard extensions with
4038         _G_RESOLVE_LIB_DEFECTS, remove detritus and cruft, rennovate.
4039         * bits/locfacets.tcc (num_get::do_get(bool)): Return correct iterator.
4040         
4041         * testsuite/27/istringstream_formatted.cc: Add tests.
4042         
4043         * bits/locfacets.h: Remove cruft from _Format_cache, continue
4044         commenting, simplify.
4045         * bits/locfacets.tcc: Same.
4047         1999-04-27  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
4048         * bits/locfacets.tcc (num_get::do_get):
4049         Fix the sscanf format parameter 
4050         for long long 'll' (as in C9X) instead of 'l'.
4051         Fix the order of sscanf format parameters: "%dl" --> "%ld".
4052         Change the type of the local variable '__conv' from 'string'
4053         to 'const char*' and adapt the change.
4054         
4055 1999-04-26  Benjamin Kosnik  <bkoz@happy.cygnus.com>
4057         * bits/locfacets.h: Document _Format_cache, and name data members
4058         after the corresponding functions in numpunct. For instance:
4059         _M_grsep -> _M_thousands_sep, and _M_decsep -> _M_decimal_point.
4060         Break apart _M_boolnames{2] into _M_truename and _M_falsename.
4061         * bits/locfacets.tcc: Same.
4063         * bits/locfacets.h (num_get::_M_extract): Don't allow groupings to
4064         stop parsing--store for later analysis.
4065         * testsuite/27/istringstream_formatted.cc: Add cases.
4066         
4067 1999-04-25  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4069         * bits/valarray_meta.h: tweak.
4070         (_UnFunBase, _BinFunBase, _BinFunBase1, _BinFunBase2, _BinBase1,
4071         _BinFunBase2): rename typedef-name _Tp to _Vt to keep the compiler
4072         happy -- boggus warning.
4073         * bits/std_valarray.h: Fix.
4074         (valarray<T>::shift): Fix. Update comment.
4075         (valarray<T>::cshift): Fix. 
4077 1999-04-23  Benjamin Kosnik  <bkoz@cygnus.com>
4078         
4079         * testsuite/27filebuf-2.txt: Delete.
4080         * testsuite/27/filebuf.cc: Put output files directly into the
4081         correct subdirectory (27).
4083         Alexandre Petit-Bianco <apbianco@cygnus.com>
4084         * testsuite/make_check_libfree++: Check generated (*.txt) file
4085         against stored results file (*.tst).
4087 1999-04-22  Benjamin Kosnik  <bkoz@nabi.net>
4089         * bits/locfacets.tcc: Fix.
4091         * bits/fstream.tcc (filebuf::seekoff): Output current out pointer.
4092         (filebuf::overflow): Simplify.
4093         (filebuf::xsputn): Correctly handle indeterminate state.
4095         * testsuite/27/istringstream_formatted.cc: Tweak.
4096         * testsuite/27/filebuf.cc: Tweak.
4097         * testsuite/27/filebuf-3.tst: Correct: this is the canonical
4098         results file, please use this in the future to guarantee filebuf
4099         positioning accuracy.
4100         * testsuite/27/filebuf-2.tst: Same.
4101         
4102 1999-04-21  Benjamin Kosnik  <bkoz@cygnus.com>
4104         * bits/fstream.tcc (filebuf::xsputn): Add.
4105         * bits/std_fstream.h: Declare.
4106         
4107         * src/basic_file.cc (__basic_file::open): Add O_CREAT to open
4108         calls using ios_base::trunc.
4110         * bits/sstream.tcc (streambuf::overflow): Fix crasher.
4111         
4112         * testsuite/make_check_libfree++ (LOG_FILE): Ugh. Another fix.
4113         * testsuite/27/27stringstream.cc: Same.
4114         * testsuite/27/27stringbuf.cc: More tweaks.
4115         * testsuite/27/27filebuf-2.txt: Remove.
4117         * testsuite/27/27filebuf-1.tst: Append, to force byte size over
4118         BUFSIZE so that overflows/underflow can be tested with default
4119         buffer setting.  
4120         * testsuite/27/27filebuf-1.tst: Add.
4122         * testsuite/*/*: Remove pre-pended chapter names, as they
4123         duplicate the chapter info contained in the enclosing directory
4124         anyway.
4125         
4126 1999-04-20  Benjamin Kosnik  <bkoz@cygnus.com>
4128         * bits/streambuf.tcc (streambuf::xsputn): Re-implement to conform
4129         to sputc conditions.
4131         * bits/ios_base.h: Define here.
4132         * src/ios.cc (ios_base::_M_clear): Remove hack.
4133         * bits/basic_ios.h: Fix rdstate().
4135         * bits/sstream.tcc (streambuf::seekoff): Fix.
4136         * bits/fstream.tcc (filebuf::seekoff): Tweak comments.
4138         * testsuite/make_check_libfree++ (LOG_FILE): More c-c-c-changes.
4139         * testsuite/24/24iterator.cc: Add/Fixes for DEBUG_ASSERT.
4140         * testsuite/27/27stringstream.cc: Same. 
4141         * testsuite/27/27stringbuf.cc: Same.
4142         * testsuite/27/27istringstream_formatted.cc: Same.
4143         * testsuite/27/27filebuf.cc: Same.
4144         
4145         * bits/locfacets.h: Remove specializations for messages<char> and
4146         messages<wchar_t> ctors. Same for moneypunct. Not required, not used.
4147         * src/locale.cc: Remove definitions for above.
4148         * src/misc-inst.cc: Revert, take out iomanip.h include. 
4149         * bits/std_iomanip.h: Tweak, format.
4150         
4151 1999-04-19  Benjamin Kosnik  <bkoz@cygnus.com>
4153         * bits/loccore.h: Format, move inline.
4154         * bits/locfacets.tcc: Same.
4155         * bits/locfacets.h: Same.
4157         Ulrich Drepper  <drepper@cygnus.com>
4158         * aclocal.m4: Re-generate.
4159         * configure, configure.in: Same.
4160         * m4/lc_messages.m4: New file.
4162 1999-04-18  Benjamin Kosnik  <bkoz@cygnus.com>
4164         * bits/std_ostream.h: Fix typedef for wchar_t instantiations.
4165         * bits/sstream.tcc: Tweak.
4167         * std/iostream: Put __ioinit inside macro guards.
4168         
4169         * src/stlinst.cc: Delete and move to . . .
4170         * src/stl-inst.cc: New file, plus wrapping in namespace std.
4171         * src/Makefile.in: Change.
4172         * src/Makefile.am: Same.
4173         * src/misc-inst.cc: Add istringstream/ostringstream instantiations.
4175         * testsuite/make_check_libfree++: Efficiently format for minimal
4176         space. Enforce stricter execution tests by enabling
4177         -DDEBUG_ASSERT.
4178         
4179 1999-04-16  Benjamin Kosnik  <bkoz@cygnus.com>
4181         * docs/text/RELEASE-NOTES: Fix include typo.
4183         * src/Makefile.am (headers): Add istream.tcc. 
4184         * src/Makefile.in (headers): Add istream.tcc. 
4186         * ltconfig, ltmain.sh, libtool: Update to libtool-1.2g.
4187         
4188 1999-04-16  Benjamin Kosnik  <bkoz@cygnus.com>
4190         * bits/locfacets.tcc (num_get::do_get(long)): Finish roughing in.
4191         * bits/locfacets.h (num_get::_M_extract): New functin:
4192         consolidate logic for do_get(...) members.
4194         * bits/sbuf_iter.h (istreambuf_iterator::operator++()): Fix.
4195         * testsuite/27/27istringstream_formatted.cc: Add.
4197 1999-04-16  Martin v. Loewis  <martin@mira.isdn.cs.tu-berlin.de>
4199         * src/basic_file.cc (__basic_file::open): Fix thinko in
4200         _G_HAVE_IO_FILE_OPEN bits.
4201         * bits/std_istream.h (sentry::sentry(istream, bool)): Fix isspace bug.
4202         * bits/std_cmath.h: Add stdlib.h include for ldiv_t.
4203         * src/complex.cc (FCT): Qualify all functions with global namespace.
4204         * src/locale.cc: Don't qualify memcpy and setlocale.
4205         * src/stdexcept.cc (__out_of_range): Qualify out_of_range with std::.
4206         (__length_error): Likewise, for length_error.
4207         * src/stlinst.cc: Qualify instantiations with std::.
4209 1999-04-15   Benjamin Kosnik  <bkoz@cygnus.com>
4211         * C++STYLE: Add ChangeLog guidelines for member functions.
4213         * doc/* : Delete.  
4214         * BADNAMES, BUGS, C++STYLE, CHECKLIST, COPYING,
4215         DESIGN, HEADER_POLICY, PROBLEMS, RELEASE-NOTES, TODO: Moved into
4216         docs/text and made less strident.
4217         
4218         * bits/fstream.tcc: Change non-standard ctor to match Sun's sematics.
4219         * bits/std_fstream.h: Same.
4220         * src/ios.cc: Same.
4222         * bits/locfacets.h: Touch. 
4223         
4224 1999-04-15  Ulrich Drepper  <drepper@cygnus.com>
4226         * math/cexp.c (cexp): Use NAN instead of nan("").
4227         Reported by joel reed <joelreed@yahoo.com>.
4229         * libio/libioP.h: Define _IO_seek_fpos_t and _IO_seek_off_t based on
4230         _G_IO_IO_FILE_VERSION.  Use these types in the prototypes.
4231         * libio/fileops.c: Use _IO_seek_fpos_t and _IO_seek_off_t types
4232         instead of #if cascades.
4233         * libio/genops.c: Likewise.
4234         * libio/ioseekoff.c: Likewise.
4235         * libio/ioseekpos.c: Likewise.
4236         * libio/strops.c: Likewise.
4237         Patch by Chip Salzenberg <chip@perlsupport.com>.
4239 1999-04-15  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4241         * docs: New directory.
4242         * docs/html: Likewise.
4243         * docs/text: Likewise.
4244         * docs/image: Likewise.
4246         * bits/std_cmath.h: Add new functions.
4247         (abs): overload for long and double.
4248         (div): overload for long.
4250         * bits/valarray_array.h: Fix.
4251         * bits/gslice.h: Adjust friend.
4252         * bits/slice_array.h: likewise.
4253         * bits/valarray_meta.h: likewise.
4255 1999-04-13   Benjamin Kosnik  <bkoz@tintin.cygnus.com>
4257         * bits/locfacets.h: More changes, for num_get for insertion
4258         operators for integral types. Comment fields in _Format_cache.
4259         * bits/locfacets.tcc: And here too: add preliminary long version.
4260         * testsuite/27/27istringstream_formatted.cc: Add cases.
4262 1999-04-13   Mark Elbrecht  <snowball3@usa.net>
4264         * configure.in: Add locale.h to AC_CHECK_HEADERS argument. Call
4265         AC_LC_MESSAGES macro.
4266         * aclocal.m4 (AC_LC_MESSAGES): New. Determines if a target
4267         supports LC_MESSAGES.
4268         * config.h.in: Add entry for HAVE_LC_MESSAGES.
4269         * src/locale.cc (locale::_S_normalize_category): Use the
4270         HAVE_LC_MESSAGES macro to check for LC_MESSAGES support instead of
4271         _G_NO_CLOCALE_HAS_MESSAGES.
4272         * aclocal.m4 (AM_PROG_LD): For DOS style paths, simplify test to
4273         '?:' from '?:\\' so any path beginning with a drive name matches.
4275 1999-04-12   Mark Elbrecht  <snowball3@usa.net>
4277         * src/basic_file.cc(sys_open) [O_BINARY]: Declare __testb.
4279 1999-04-12   Benjamin Kosnik  <bkoz@tintin.cygnus.com>
4281         * bits/locfacets.h: Tweak.
4282         * bits/locfacets.tcc(do_get): Clean/fix bool method.
4284         * testsuite/21/21nonmember.cc: Same.
4285         * testsuite/21/21compare.cc: Fix license.
4286         * testsuite/27/27istringstream_formatted.cc: New file.
4288 1999-04-12  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4290         * bits/valarray_meta.h: _BinFunBase1, _BinFunBase2, _BinBase1,
4291         _BinBase2: new template classes; put in there to work around a
4292         compiler limitation. The whole valarray architecture is now
4293         working.
4295 1999-04-08  Benjamin Kosnik  <bkoz@haight.constant.com>
4297         * bits/locfacets.tcc: Fix, format.
4298         * bits/locfacets.h: Fix.
4299         * src/locale.cc: Same, plus format.
4301         * bits/basic_string.h: Re-add definition here.
4302         * src/string.cc: Take out.
4304 1999-04-08  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4306         * bits/std_valarray.h: tweak.
4307         * bits/valarray_array.h tweak. use _Expr.
4308         * bits/slice_array.h: likewise.
4309         * bits/gslice_array.h: likewise.
4310         * bits/mask_array.h: likewise.
4311         * bits/indirect_array.h: likewise.
4312         * bits/valarray_meta.h: tweak.
4313         _UnFunBase, _UnFunClos, _BinFunBase, _FunBase, _ValFunClos,
4314         _RefFunClos, _UnBase, _UnClos, _BinBase, _BinClos, _SClos, _GClos,
4315         _IClos: new template classes.
4316         _Meta: renamed to _Expr. Made template with args.
4317         _Constant: made template with two args.
4319 1999-04-05  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4321         * bits/valarray_array.h: tweak.
4323 1999-04-06  Benjamin Kosnik  <bkoz@cygnus.com>
4325         * bits/basic_string.h: Whoops--fix blip.
4327 1999-04-06  Benjamin Kosnik  <bkoz@cygnus.com>
4329         Update to SGI STL 3.13
4330         * bits/basic_string.h: Add __get_c_string definition.
4331         * stl/bits/stl_range_errors.h: New file.
4332         * stl/bits/std_bvector.h: Same.
4333         * stl/bits/*: Update.
4335 1999-04-04 1999  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4337         * bits/slice_array.h: tweak.
4338         * bits/gslice_array.h: tweak.
4339         * bits/mask_array.h: tweak.
4340         * bits/indirect_array.h: tweak.
4341         * bits/valarray_array.h: tweak.
4342         (__valarray_copy): replace copy with memcpy.
4343         * bits/std_valarray.h: use __valarray_copy whenever possible.
4344         use __valarray_fill instead of fill.
4346 1999-04-02  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4348         * src/gen-num-limits.cc: new file
4349         * mknumeric_limits: Ditto.
4351 1999-03-30  Benjamin Kosnik  <bkoz@cygnus.com>
4353         * bits/locfacets.tcc: Do a stub version of num_get for short, int,
4354         and long types.
4355         * bits/locfacets.h: Add num_get::get methods overloaded for int
4356         and short, to resolve ambiguous overloads in istream insertion
4357         operators.
4359 1999-03-30  Benjamin Kosnik  <bkoz@cygnus.com>
4361         * bits/std_istream.h: Fix.
4362         * bits/istream.tcc: Fix.
4364 1999-03-30  Philip Martin  <pm@corris.dircon.co.uk>
4366         * testsuite/24/24iterator.cc: fix ++/-- tests
4368 1999-03-29  Benjamin Kosnik  <bkoz@cygnus.com>
4370         * bits/std_ostream.h: Looks like this, actually: Fix up eh-isms.
4371         * bits/ostream.tcc: Same.
4373         * bits/std_istream.h: Bring over ostream changes, implement member
4374         functions. Baseline.
4375         * bits/istream.tcc: New file.
4377 1999-03-26  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4379         * bits/gslice.h (class gslice): fix friends template.
4381 1999-03-23  Benjamin Kosnik  <bkoz@cygnus.com>
4383         * bits/std_ostream.h: Fix sentry objects, implement seekp, tellp,
4384         delete cruft, etc.
4385         * bits/ostream.tcc: Same.
4387         * bits/std_istream.h: Minor tweaks.
4389 1999-03-18  Benjamin Kosnik  <bkoz@cygnus.com>
4391         * src/locale-inst.cc: Remove duplicate instantiations.
4392         * bits/locfacets.tcc: Tweak definitions of static member.
4394 1999-03-18  Benjamin Kosnik  <bkoz@cygnus.com>
4396         * bits/std_fstream.h: Format: prepend "__" in front of
4397         non-standard typedefs.
4398         * bits/fstream.tcc: Match.
4399         * bits/std_streambuf.h: Format: prepend "__" in front of
4400         non-standard typedefs.
4402         * bits/sstream.tcc: Match.
4403         * bits/std_istream.h: Format.
4404         * src/locale-inst.cc: Add num_get instantiations.
4406         * bits/std_sstream.h: Fix crash in stringstreams. Remove member
4407         _M_sb, a basic_stringbuf object, and use the basic_ios pointer
4408         _M_streambuf instead. Make initializations sane. Fix
4409         allocation/deallocation of _M_streambuf.
4410         * bits/std_ostream.h: Fix initialization code.
4411         (ctor): Eliminate redundant this->init(), let base class initialize.
4412         (default ctor): New. Assume base classes already initialzed.
4413         * bits/std_istream.h: Parallel work to ostream.
4414         (ctor): Eliminate redundant this->init(), let base class initialize.
4415         (default ctor): New. Assume base classes already initialzed.
4416         Fix initialization of basic_iostream.
4418         * bits/std_fstream.h: While we're at it, make initializations sane
4419         here too. Now matches sstream.h.
4421         * bits/string.tcc: Fix crash in basic_string::compare.
4422         * bits/basic_string.h: And here.
4423         * bits/c++config.h: Add comment about _G_USE_EXCEPTIONS.
4425         * testsuite/make_check_libfree++: Check shared as well.
4426         * testsuite/27/27stringstream.cc: Add bits.
4427         * testsuite/27/27boolfmt.cc: Add bits.
4428         * testsuite/27/27octfmt.cc: Add bits.
4430 1999-03-17  Benjamin Kosnik  <bkoz@happy.cygnus.com>
4432         * configure.in (USE_LONG_DOUBLE): signbitl link error.
4434         * bits/locfacets.h: Fix errors that cause build problems
4435         with current egcs (template parameters have class scope).
4436         * bits/locfacets.tcc: Same.
4437         * src/locale-inst.cc: Same, clean.
4438         * src/misc-inst.cc: Same, clean.
4440 1999-03-17  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
4442         * stl/bits/std_memory.h:  Modify auto_ptr::reset to reflect the
4443         standard. Re-apply this previous patch.
4445 1999-03-17  Philip Martin  <pm@corris.dircon.co.uk>
4447         * bits/basic_string.h: Use __normal_iterator<> for iterators.
4448         * bits/std_sstream.h: Support __normal_iterator<> iterators.
4449         * bits/string.tcc: Ditto.
4450         * src/misc-inst.cc: Ditto.
4451         * src/locale-inst.cc: Ditto.
4452         * stl/bits/stl_iterator.h: Add __normal_iterator<>.
4453         * stl/bits/stl_vector.h: Use __normal_iterator<> for iterators.
4454         * testsuite/24/24iterator.cc: Add test cases for basic_string and
4455         vector iterators.
4457 1999-03-16  Benjamin Kosnik  <bkoz@cygnus.com>
4459         * bits/locfacets.tcc: Remove macro hack.
4460         * bits/locfacets.h: Tweaks.
4461         * src/misc-inst.cc: Weed out locale-related instantiations.
4462         * src/locale-inst.cc: Same.
4464         * RELEASE-NOTES: Make more changes.
4465         * bits/c++config.h: Bump version number.
4467         * testsuite/make_check_libfree++: Collect diagnostics.
4469         * bits/std_ostream.h: Fix ostream initialization/destruction
4470         problem, related to dtor cleanup and new cached facets, agggggggh.
4471         * bits/ostream.tcc: Tweak.
4472         * bits/locfacets.h: Remove all friends of iostream classes.
4473         * bits/ios_base.h: Same.
4474         * bits/streambuf.tcc: Tweak.
4475         * bits/std_streambuf.h: Tweak.
4476         * bits/std_fstream.h: Tweak.
4477         * bits/fstream.tcc: Tweak.
4478         * src/stdstreams.cc: Tweak.
4479         * src/ios.cc: Close streams.
4481         * math/Makefile.in: Add missing files for shared link errors.
4482         * math/Makefile.am: Same.
4484 1999-03-15  Benjamin Kosnik  <bkoz@cygnus.com>
4486         * src/locale-inst.cc: More wchar_t instantiations.
4487         * src/misc-inst.cc: Missed a few bits.
4488         * testsuite/make_check_libfree++: Add static and shared runs.
4489         * src/ios.cc: Add clarity to ios_base::Init::~Init().
4491 1999-03-15  Benjamin Kosnik  <bkoz@cygnus.com>
4493         * bits/std_ostream.h: Format, expunge, simplify. Add cached
4494         facets. Resolve link errors.
4495         * bits/ostream.tcc: Same.
4496         * src/misc-inst.cc: Add ostream, wostream instantiations.
4497         * src/Makefile.am: Add missing bits for stdstreams.cc.
4498         * src/Makefile.in: Same.
4499         * bits/std_iosfwd.h: Format.
4500         * bits/locfacets.h (num_put): Add basic_ostream as a friend to
4501         num_put so that cached _M_fnumput pointer can be deleted in
4502         basic_ostream's dtor. Now everybody plays nice.
4504 1999-03-12  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
4506         * bits/gslice.h (class gslice): Make friends valarray,
4507         gslice_array and _GliceExpression.
4509 1999-03-11  Benjamin Kosnik  <bkoz@cygnus.com>
4511         * RELEASE-NOTES: Update.
4512         * src/ios.cc: Use do proper init.
4513         * bits/std_streambuf.h: Tweak.
4514         * bits/std_iostream.h: Take out static member.
4515         * std/iostream: Put here.
4516         * bits/std_ostream.h: Non-default ctor shouldn't smash _M_streambuf.
4517         * bits/std_istream.h: Ditto.
4518         * bits/basic_ios.h: Format.
4519         * bits/ostream.tcc(write): Fix.
4520         * bits/fstream.tcc: Fix stdstreams ctor to do a proper
4521         initialization of the fstream class.
4522         * src/stdstreams.cc: I'm baaaaaaaack.
4524 1999-03-10  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
4526         * bits/ios_base.h: Correct comments. Add ios_base::init()
4527         functionality. Format, tweak, expunge, clean, bathe, and hang to dry.
4528         * src/misc-inst.cc: Add instantiations here.
4529         * src/ios.cc: Clean.
4530         * bits/std_iostream.h: Add wrappers, global ios_base::Init object.
4531         * src/stdstreams.cc: Delete this file, as now unnecessary.
4532         * bits/fstream.tcc: Add missing initialization bits for ctor.
4533         * src/Makefile.am (libstdc___la_SOURCES): Delete here as well.
4534         * src/Makefile.in (libstdc___la_OBJECTS): And here.
4536         * bits/streambuf.tcc: Tweak.
4537         * bits/sstream.tcc: Here too.
4539         * bits/fstream.tcc: And change definition as well.
4540         * bits/std_fstream.h: Change ctor.
4541         * src/basic_file.cc (sys_open): Add call that opens a specific fileno.
4542         * bits/basic_file.h: Add declarations.
4544         * testsuite/27/27hello.cc: New file.
4546         * bits/std_ostream.h: Move flush() inline.
4547         * bits/ostream.tcc: From here.
4549         * bits/char_traits.h: Add include of fpos.h for streamoff/streampos.
4550         * bits/std_ios.h: Change include libio to only when necessary.
4551         * bits/fpos.h: Like here.
4552         * ios_base.h: And here.
4554         * bits/locfacets.h: Change _Iostate to _Ios_Iostate.
4555         * bits/locfacets.tcc: Same.
4556         * bits/std_locale.h: Include std_ios.h not std_iosfwd.h.
4557         * bits/std_iosfwd.h: Move _Ios_Iostate to ios_base.h
4559 1999-03-09  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
4561         * bits/basic_ios.h: Change _M_ctype to _M_fctype.
4563         * bits/std_streambuf.h: Clean, tweak.
4564         * bits/std_fstream.h: Same.
4565         * bits/std_sstream.h: Same.
4566         * bits/streambuf.tcc: Move most member functions out-of-line.
4567         * bits/fstream.tcc: Same.
4568         * bits/streambuf.tcc: Same.
4570         * bits/basic_file.h(filepos_cur): Set correctly.
4571         (filepos_beg): Same.
4572         (seekpos): Change to __c_streampos.
4573         * src/basic_file.cc (std): Change to __c_streampos.
4575         * testsuite/27/27filebuf.cc: Round one is finished.
4576         * testsuite/27/27filebuf-2.tst: New file, final output should match.
4577         * testsuite/27/27filebuf-3.tst: Same.
4579 1999-03-08  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
4581         * bits/basic_file.h: Fix typo, add comments about what to expect
4582         from the various member functions in __basic_file.
4584         * bits/std_fstream.h: Re-do sync/underflow to work
4585         together. Change from sys_read to xsgetn and from sys_write to
4586         xsputn. As it should have been from the beginning. . .
4588 1999-03-06  Benjamin Kosnik  <bkoz@haight.constant.com>
4590         * bits/c++config.h (__GLIBCPP__): Add versioning macro.
4592         * bits/basic_file.h(file_beg): New function.
4593         (file_cur): Ditto.
4595         * testsuite/27/27filebuf.cc: Test in, out, in | out.
4596         * bits/std_fstream.h: More _M_mode refinements.
4597         (synch): Add bits for out mode only.
4598         * bits/std_streambuf.h(xsputn): Correct for filebufs.
4599         * bits/std_sstream.h: Ditto.
4601 1999-03-03  Benjamin Kosnik  <bkoz@cygnus.com>
4603         * bits/std_fstream.h: Fix _M_mode AND with ios_base::openmode.
4604         * testsuite/27/27filebuf.cc: Modify.
4605         * bits/c++config.h: Fix.
4607 1999-03-02  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
4609         * bits/c++config.h: New macro, _G_RESOLVE_LIB_DEFECTS, used to put
4610         code in place that diverges from the final standard, but has been
4611         brought up on the library mailing list.
4613         * bits/std_fstream.h(underflow): Position all three internal
4614         buffer pointers at the same initial position. Re-implement with
4615         basic_filebuf abstraction.
4616         (overflow): Ditto.
4617         (seekoff): Ditto.
4618         (seekpos): Ditto.
4619         * bits/std_sstream.h: Move _M_mode down into base class
4620         basic_streambuf.
4621         * bits/sstream.tcc: Ditto.
4622         * bits/std_streambuf.h: Ditto.
4624         * testsuite/27/27filebuf.cc: Tweak.
4626 1999-02-27  Benjamin Kosnik  <bkoz@slap-happy.cygnus.com>
4628         * bits/std_sstream.h: Ditto.
4629         * bits/std_fstream.h: Fix blip.
4631 1999-02-26  Benjamin Kosnik  <bkoz@happy.cygnus.com>
4633         * C++STYLE: Add cases.
4634         * bits/std_fstream.h: Format.
4635         * bits/std_streambuf.h: Ditto.
4636         * bits/std_sstream.h: Ditto.
4638         * src/basic_file.cc(sys_seek): Fix stack delirium, by keeping
4639         return type for _IO_file_seek and __basic_file::seek the same size.
4640         * bits/basic_file.h: Ditto.
4642 1999-02-26  Benjamin Kosnik  <bkoz@happy.cygnus.com>
4644         * bits/fstream.tcc: Add include guards.
4645         * src/misc-inst.cc: Add instantiations for shared libes.
4646         * src/locale-inst.cc: Add instantiaions for use_facet.
4647         * bits/loccore.h: Remove specialization foward decls for
4648         use_facet<ctype>: perhaps add the whole lot of them later on.
4649         * bits/std_fstream.h: Fix.
4650         * bits/locfacets.h: Ditto.
4651         * src/stdstreams.cc: Disable wide streams for now.
4653         * src/Makefile.am (CXXFLAGS): Change up.
4654         * src/Makefile.in (CXXFLAGS): Ditto.
4656 1999-02-25  Benjamin Kosnik  <bkoz@happy.cygnus.com>
4658         * src/basic_file.cc: Change to ios_base::seekdir from int.
4659         * bits/basic_file.h: Ditto.
4660         * bits/locfacets.h : Fix blip with new guard macros.
4662 1999-02-25  Benjamin Kosnik  <bkoz@cygnus.com>
4664         * stl/bits/stl_config.h (__STL_USE_STD_ALLOCATORS): Minor tweaking.
4665         * bits/c++config.h: Clean. Remove _G_NO_STREAMBUF_ITERATORS and
4666         _G_USE_NAMESPACE.
4667         * amm1/locale: Remove unused defines.
4668         * generic/locale: Ditto.
4669         * src/ios.cc: Ditto.
4670         * src/locale.cc: Ditto.
4671         * src/locale-inst.cc: Ditto.
4672         * src/localename.cc: Ditto.
4673         * src/stdstreams.cc: And here.
4675         * bits/c++config.h (_G_USE_WCHAR_T): Fix.
4676         * bits/loccore.h: Simplify, clean, add wchar_t guards.
4677         * bits/loccore.tcc: Ditto.
4678         * bits/locfacets.h: Ditto.
4679         * src/locale-inst.cc: Ditto.
4680         * bits/locfacets.tcc: Add do_put long long here.
4682 1999-02-24  Benjamin Kosnik  <bkoz@cygnus.com>
4684         * bits/std_streambuf.h: Add cached ctype facet, _M_ctype.
4685         * bits/basic_ios.h: Clean. Replace _M_strbuf with
4686         _M_streambuf. Use cached _M_cvt in basic_streambuf.
4687         * bits/std_istream.h: Replace _M_strbuf with _M_streambuf.
4688         * bits/std_fstream.h: Tweak.
4690         * bits/char_traits.h: Remove fpos definitions from here. . .
4691         * bits/fpos.h: New file, put them here. Eventually, this may allow
4692         the severing of char_traits and fpos dependancies.
4693         * src/Makefile.in: Add fpos.h.
4694         * src/Makefile.am: Ditto.
4695         * bits/std_string.h: Add fpos.h include here.
4696         * bits/std_ios.h: And here.
4698         * bits/std_streambuf.h: Change _M_init to _M_initialized.
4699         * bits/ios_base.h: Remove cstdio include.
4700         * bits/std_ios.h: ... Place here.
4702 1999-02-23  Benjamin Kosnik  <bkoz@loony.cygnus.com>
4704         * src/Makefile.in (CXXFLAGS): Re-add -fvtable-thunks.
4705         * src/Makefile.am (CXXFLAGS): Re-add -fvtable-thunks.
4707         * bits/basic_file.h: Comment, adjust arguments.
4708         * src/basic_file.cc: Ditto.
4710         * bits/std_fstream.h(seekoff): Error is of fpos type, not integral
4711         type: check and convert accordingly. Re-interpet "resultant stream
4712         position" to indicate external byte sequence location, not internal
4713         buffer info.
4715 1999-02-22  Benjamin Kosnik  <bkoz@loony.cygnus.com>
4717         * mkcshadow: And change copyright here.
4718         * src/Makefile.am (CXXFLAGS): Add -g -O2. Add new header
4719         dependencies for stl_pthread_alloc.h, pthread_allocimpl.h,
4720         stl_thread.h, and stl_iterator_base.h.
4721         * src/Makefile.in (CXXFLAGS): Ditto.
4722         * stl/backward/pthread_alloc.h: Remove.
4724 1999-02-19  Benjamin Kosnik  <bkoz@loony.cygnus.com>
4726         * bits/std_streambuf.h (sungetc): Use standard defs for putback
4727         position.
4728         * bits/std_fstream.h (pbackfail): Correct.
4729         (sungetc): Test.
4730         (seekoff): Implement.
4731         (seekpos): Re-do.
4732         * testsuite/27/27filebuf.cc: Add test cases.
4734 1999-02-18  Benjamin Kosnik  <bkoz@loony.cygnus.com>
4736         * bits/std_fstream.h: Go with basic_file's interfaces for dealing
4737         with the external buffers, and stop mucking around with setting
4738         and re-setting the external buf's pointers. Aka, clarity and
4739         simplicity rule the day.
4740         * src/locale.cc: Use memcpy in codecvt::do_in and codecvt::do_out.
4741         Remove partial result and support code.
4743 1999-02-18  Ulrich Drepper  <drepper@cygnus.com>
4745         * configure.in: Add hypot, hypotf, atan2f, expf, and copysignf to
4746         list of function which have to be replaced.
4747         Remove expf from list of functions to test for.
4748         Define USE_LONG_DOUBLE in case the libm has partial support for long
4749         doubles.
4750         * Makefile.in: Regenerated.
4751         * config.h.in: Likewise.
4752         * configure: Likewise.
4753         * libio/Makefile.am (LIBIO_SRCS): Add missing backslash.
4754         * libio/Makefile.in: Regenerated.
4755         * src/Makefile.in: Regenerated.
4756         * string/Makefile.in: Regenerated.
4757         * math/Makefile.am (EXTRA_DIST): Add hypot.c, hypotf.c, hypotl.c,
4758         atan2f.c, expf.c, and $(EXTRA_yes).
4759         (EXTRA_yes): Add signbitl.c mycabsl.c.
4760         (libmath_la_LIBADD): Add $(EXTRA_$(USE_LONG_DOUBLE)).
4761         (libmath_la_SOURCES): remove long double versions.
4762         * math/Makefile.in: Regnerated.
4763         * math/atan2f.c: New file.
4764         * math/copysignf.c: New file.
4765         * math/expf.c: New file.
4766         * math/hypot.c: New file.
4767         * math/hypotf.c: New file.
4768         * math/hypotl.c: New file.
4769         * math/cargf.c: Use correct function and macro names.
4770         * math/ccos.c: Likewise.
4771         * math/ccosh.c: Likewise.
4772         * math/ccoshf.c: Likewise.
4773         * math/ccoshl.c: Likewise.
4774         * math/cexp.c: Likewise.
4775         * math/cexpf.c: Likewise.
4776         * math/cexpl.c: Likewise.
4777         * math/clog.c: Likewise.
4778         * math/clog10.c: Likewise.
4779         * math/clog10f.c: Likewise.
4780         * math/clog10l.c: Likewise.
4781         * math/clogf.c: Likewise.
4782         * math/clogl.c: Likewise.
4783         * math/copysignf.c: Likewise.
4784         * math/csin.c: Likewise.
4785         * math/csinf.c: Likewise.
4786         * math/csinh.c: Likewise.
4787         * math/csinhf.c: Likewise.
4788         * math/csinhl.c: Likewise.
4789         * math/csinl.c: Likewise.
4790         * math/csqrt.c: Likewise.
4791         * math/csqrtf.c: Likewise.
4792         * math/csqrtl.c: Likewise.
4793         * math/ctan.c: Likewise.
4794         * math/ctanf.c: Likewise.
4795         * math/ctanh.c: Likewise.
4796         * math/ctanhf.c: Likewise.
4797         * math/ctanhl.c: Likewise.
4798         * math/ctanl.c: Likewise.
4800 1999-02-17  Benjamin Kosnik  <bkoz@cygnus.com>
4802         * testsuite/27/27filebuf.cc: Add cases.
4803         * testsuite/27/27filebuf-1.txt: Remove inadvertent garbage.
4804         * bits/std_streambuf.h: Simplify, always have one return statement.
4805         * bits/std_fstream.h: Tweak comments in underflow.
4807 1999-02-17  Ulrich Drepper  <drepper@cygnus.com>
4809         * ltmain.sh: Update from libtool 1.2d and fix Solaris problems.
4810         * ltconfig: Likewise.
4812 1999-02-16  Christophe Pierret  <cpierret@businessobjects.com>
4814         * src/locale.cc: Fix assert.
4816 1999-02-16  Benjamin Kosnik  <bkoz@cygnus.com>
4818         FIXME: Still need some kind of solution for undefined math symbols.
4819         * src/Makefile.in (locale-inst.lo): Compile with
4820         -fimplicit-templates to fix Solaris link problem.
4821         * src/Makefile.am: Ditto.
4822         * libio/Makefile.in: Add stdfiles.c so that _IO_list_all is defined.
4823         * libio/Makefile.am: Ditto.
4824         * src/locale.cc: Provide some kind of def for _S_tolower.
4825         * bits/locfacets.h: Fix declarations of ctype<wchar_t> to
4826         match ctype<char> for _S_tolower, _S_toupper, _S_table.
4828 1999-02-10  Benjamin Kosnik  <bkoz@cygnus.com>
4830         * bits/loccore.tcc: Move member-template ctor inline...
4831         * bits/loccore.h: ...here.
4832         * src/locale-inst.cc: Add instantiation here.
4834         * testsuite/27/27stringstream.cc: Tweak.
4836         * bits/ostream.tcc: Include sbuf_iter.h.
4838         * bits/ostream.tcc: Convert *this to ostreambuf_iterator before
4839         passing to num_put, as num_put's first argument is an interator,
4840         not basic_ostream.
4842         * testsuite/make_check_libfree++: New file, runs through the
4843         existing test files in the testsuite directory and makes sure
4844         they link.
4846 1999-02-10  Brendan Kehoe  <brendan@cygnus.com>
4848         * testsuite/21/21compare.cc: Fix typo.
4849         * src/locale.cc (ctype<wchar_t>::_S_{toupper,tolower,table}):
4850         Don't try to provide non-linux versions, since it's impossible to
4851         initialize their const references with the integer 0, no matter
4852         how we try to cast it.
4854 1999-02-10  Benjamin Kosnik  <bkoz@cygnus.com>
4856         * bits/std_locale.h: Move std_vector.h dependency.
4857         * bits/std_ios.h: ...from here.
4858         * bits/std_string.h: ...and here.
4859         * src/locale.cc: ..to here.
4860         * bits/loccore.h: Ditto, add vector forward declaration,
4861         make locale::_Impl data members pointers not containers.
4862         * bits/loccore.tcc: Move out-of-line for now.
4863         * bits/locfacets.h: Move vector dependency from here...
4864         * bits/locfacets.tcc: ...to here.
4865         * src/localename.cc: ..and here.
4866         * src/locale-inst.cc: Add include of locfacets.tcc here.
4868         * stl/bits/stl_string_fwd.h: Make __get_c_string non-static.
4869         * bits/basic_string.h: Can't use sizeof on an incomplete type.
4870         * bits/string.tcc: Tweak.
4871         * src/string.cc: And add __get_c_string def here.
4873         * bits/std_fstream.h: Yeah, comment the fill_n idea out as impractical.
4875         * src/stlinst.cc: Add include of stl_config.h.
4877 1999-02-09  Benjamin Kosnik  <bkoz@cygnus.com>
4879         * stl/bits/std_bitset.h: Update to SGI STL 3.12.
4880         * stl/bits/stl_config.h: Tweak, update.
4881         * stl/bits/std_stdexcept.h: Ditto, change stl_exception to
4882         std_exception.
4883         * stl/bits/std_memory.h: Reconstructed auto_ptr, Ditto.
4884         * stl/bits/std_functional.h: Ditto.
4886         * stl/bits/stl_string.h: New file, SGI's string
4887         implementation. For reference only, corresponding to string in
4888         3.12 source.
4889         * stl/bits/stl_char_traits.h: As above.
4891         * stl/bits/pthread_allocimpl.h: New file corresponding to
4892         pthread_alloc.
4893         * stl/bits/stl_pthread_alloc.h: New file corresponding to
4894         pthread_alloc.h
4895         * stl/bits/stl_threads.h: New file.
4897         Note that SGI STL 3.12's file iterator.h is not used.
4898         * stl/bits/std_iterator.h: Ditto.
4899         * stl/bits/stl_iterator.h: Drop in replace.
4900         * stl/bits/stl_iterator_base.h: New file, drop in replace.
4902         * stl/bits/stl_queue.h, stl_rope.h, stl_set.h, stl_stack.h,
4903         stl_string_fwd.h, stl_tempbuf.h, stl_tree.h, stl_vector.h,
4904         stl_pair.h, stl_multimap.h, stl_multiset.h, stl_list.h,
4905         stl_hashtable.h, stl_hash_set.h, stl_hash_map.h, stl_function.h,
4906         stl_deque.h, stl_alloc.h, stl_algo.h, stl_algobase.h, ropeimpl.h:
4907         Drop-in replace (ie, stop changing __SGI_STL_* to _CPP_BITS_* for
4908         preprocessor guards, but fixup include paths and names according
4909         to new directory layout).
4911 1999-02-05  Benjamin Kosnik  <bkoz@cygnus.com>
4913         * bits/std_fstream.h: Remove _M_open data member.
4914         * bits/fstream.tcc: Ditto.
4916         * src/locale.cc: Tweak.
4918         * bits/std_sstream.h: Simplify.
4920         * bits/std_streambuf.h: Simplify.
4921         (sputc): Use correct definition of "write area."
4923         * bits/std_fstream.h: Fix uflow.
4924         * src/basic_file.cc: Tweak.
4925         * testsuite/27/27filebuf.cc: Add tests.
4926         * testsuite/27/27filebuf-3.txt: Rename to *-2.txt.
4928 1999-02-02  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
4930         * bits/ios_base.h: Make protected.
4932 1999-02-01  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
4934         * bits/ios_base.h: Changes in the class ios_base:
4935         Rename _M_exceptions member to _M_exceptions_data.
4936         Make the member functions rdstate(), clear(), exceptions()
4937         and exceptions(iostate) protected and add the "_M_" prefix.
4938         * src/ios.cc: Ditto.
4939         * bits/basic_ios.h: Adapt the changes from ios_base.
4941 1999-01-29  Benjamin Kosnik  <bkoz@cygnus.com>
4943         * bits/std_fstream.h: Remove _M_flags, _M_equilibrate  as unnecessary.
4944         * bits/fstream.tcc: Ditto.
4946         * bits/std_fstream.h (underflow): Resize deallocates memory and
4947         resets pointers in the internal cache according to new _M_buf. . dooh!
4948         * src/locale.cc: Mas changes with codecvt::do_in, do_out.
4950 1999-01-29  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
4952         * stl/bits/std_memory.h:  Modify auto_ptr::reset to reflect the
4953         standard.
4955 1999-01-28  Benjamin Kosnik  <bkoz@cygnus.com>
4957         * src/locale.cc (codecvt::do_in): Finer-grained tuning to take
4958         into account partial returns.
4959         (codecvt::do_out): Likewise.
4961         * bits/char_traits.h: Change streamsize to be a signed type, as
4962         required by 27.4.1 Types p 2. (Changing to _IO_ssize_t.)
4963         * bits/std_streambuf.h: Make
4964         in_avail() and showmanyc() have streamsize as return types, so
4965         that showmanyc()'s return of eof won't underflow in_avail's return
4966         value and give a bogus result.
4967         * src/misc-inst.cc: And more changes. . .
4969         * bits/std_streambuf.h (basic_streambuf): Add _M_buf_unified to keep
4970         track of joint in/out pointers into the internal buffer.
4971         (sbumpc): Add check for _M_buf_unified.
4972         (sputbackc): Ditto.
4973         (sungetc): Ditto.
4975         * testsuite/27/27filebuf.cc: Add cases.
4976         * testsuite/27/27stringbuf.cc: Add showmanyc case.
4978         * bits/std_fstream.h (close): Fix logic error.
4979         (open): Initialize internal pointers based on _M_buf and _M_buf_size.
4980         (showmanyc): Add underflow component, to match the standard.
4982         * bits/fstream.tcc: Ditto.
4984 1999-01-27  Benjamin Kosnik  <bkoz@cygnus.com>
4986         * bits/basic_file.h: Match vtables w/ _IO_FILE_plus.
4987         * src/basic_file.cc: Ditto.
4988         * src/Makefile.in: Add -fvtable-thunks to CXXFLAGS: preferred
4989         format for dealing with _IO_file in libio.
4991 1999-01-27  Ulrich Drepper  <drepper@cygnus.com>
4993         * src/basic_file.cc: Include fcntl.h.
4995 1999-01-27  Benjamin Kosnik  <bkoz@cygnus.com>
4997         * libio/Makefile.in: Add fileops.lo, genops.lo to objects to debug
4998         libio calls.
4999         * bits/std_streambuf.h: Redefine read posion.
5001         * bits/std_fstream.h: Temporary hack to get vtables working again.
5002         * bits/basic_file.h: Revert.
5003         * src/basic_file.cc: Ditto.
5004         * testsuite/27/27filebuf.cc: Tweak.
5006 1999-01-26  Benjamin Kosnik  <bkoz@cygnus.com>
5008         * bits/basic_file.h: Add showmanyc, underflow. .
5009         * src/basic_file.cc: Ditto.
5011         * bits/std_fstream.h (showmanyc): Add bits to ping libio to see if more
5012         chars can be read.
5014         * testsuite/27/27filebuf.cc: Add testcases.
5015         * src/basic_file.cc: Add O_CREAT to open calls with
5016         ios_base::trunc as part of the open mode.
5018 1999-01-26  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
5020         * bits/basic_ios.h: fix basic_ios::exceptions(iostate)
5022 1999-01-25  Benjamin Kosnik  <bkoz@nabi.net>
5024         * src/ios.cc (clear): Correct typo.
5025         * bits/ios_base.h: Tweak spacing.
5027 1999-01-25  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
5029         * bits/basic_ios.h: fix basic_ios::fail()
5031 1999-01-25  Benjamin Kosnik  <bkoz@loony.cygnus.com>
5033         * bits/basic_file.h: Include libioP.h from libio instead of here.
5034         * bits/iolibio.h: Remove.
5035         * bits/libio.h: Remove.
5037 1999-01-22  Benjamin Kosnik  <bkoz@lunatic.cygnus.com>
5039         * bits/std_fstream.h: Tweak cvt-> in call for newer egcs compilers.
5041 1999-01-22  Ulrich Drepper  <drepper@cygnus.com>
5043         * Makefile.am (SUBDIRS): Add libio.
5044         * configure.in: Add rule to test for glibc2.
5046         * src/Makefile.am (INCLUDES): Add -I to libio subdir.
5047         (libstdc___la_LIBADD): Add libio.la.
5049 1999-01-21  Benjamin Kosnik  <bkoz@cygnus.com>
5051         * bits/basic_file.h: Make new abstraction for underlying C library
5052         FILE, named __basic_file.
5053         * src/basic_file.cc: New file.
5054         * bits/os_raw.h: Delete.
5055         * src/os_raw.cc: Delete.
5056         * src/Makefile.in: Tweak.
5057         * src/Makefile.am: Tweak.
5058         * bits/iolibio.h: Add this here, for the time being.
5059         * bits/libioP.h: Ditto.
5061         * bits/ios_base.h: Delete unused defines.
5062         * src/locale.cc (codecvt<char, char, mbstate_t>::do_in): Use
5063         strcpy to copy between the two buffers.
5065         * testsuite/27/27stringbuf.cc: Change license, fix in_avail tests.
5066         * testsuite/27/27filebuf.cc: New file.
5067         * testsuite/27/27filebuf-1.txt: Data file for above test.
5068         * testsuite/27/27filebuf-2.txt: Ditto.
5070         * bits/std_streambuf.h (uflow): Re-implement default.
5071         * bits/std_fstream.h: Set _M_buf_size based on cstdio's BUFSIZ.
5072         Re-implement virtual functions.
5073         * bits/fstream.tcc: Delete unused mf's.
5075 1998-12-31  Benjamin Kosnik  <bkoz@lunatic.cygnus.com>
5077         * bits/fstream.tcc: Add fstream ctor for cin/cout/etc.
5078         * bits/std_fstream.h: Ditto.
5079         * src/stdstreams.cc: Ditto.
5081         * math/cpowl.c: Fix header typo with last change.
5083 1998-12-31  Benjamin Kosnik  <bkoz@loony.cygnus.com>
5085         * COPYING: New file (GPL v 2).
5086         * LICENSE.STD: Remove.
5087         * ./*: Change license.
5089 1998-12-30  Benjamin Kosnik  <bkoz@haight.constant.com>
5091         * bits/std_streambuf.h (std): Remove static on _M_init.
5092         * bits/streambuf.tcc (std): Ditto.
5094         * bits/std_fstream.h: Add changes as discussed with Nathan, including
5095         state_type and codecvt_type members, the allocation of an internal
5096         buffer, the streamlined codecvt calls, etc.
5098 1998-12-21  Benjamin Kosnik  <bkoz@haight.constant.com>
5100         * bits/std_sstream.h: Tweak.
5101         * bits/fstream.tcc: Remove unused stubs.
5102         * bits/std_fstream.h: Tweak.
5104 1998-12-17  Benjamin Kosnik  <bkoz@tintin.cygnus.com>
5106         * bits/std_streambuf.h: Move _IO_file_flags into basic_filebuf.
5107         Remove unused _IO_* members, possibly put into filebuf, which may
5108         need them.
5109         * bits/std_fstream.h: Add _M_flag.
5110         * bits/sbuf_iter.h: Tweak.
5112         * bits/std_cstdio.h: Add SEEK_SET, SEEK_END, SEEK_CUR.
5113         * bits/ios_base.h: Use.
5115         * src/stdstreams.cc: Modify to reflect standard ctors for
5116         filebuf.
5117         * src/misc-inst.cc: Ditto.
5119         * bits/os_raw.h: Wrap in std namespace. Model parameters on
5120         underlying C library calls instead of the underlying unix
5121         filesystem.
5122         * src/os_raw.cc (_S_os_open): Use fopen, and compute a mode
5123         string as per p.659.
5124         (_S_os_close): Model on fopen.
5125         (_S_os_read): Model on fread.
5126         (_S_os_write): Model on fwrite.
5127         (_S_os_seek): Model on fseek.
5129         * bits/ios_base.h: Tweak.
5130         * bits/std_iosfwd.h: Wrap libio.h include with extern "C".
5131         * bits/std_sstream.h: Tweak.
5132         * bits/sstream.tcc: Remove old, uncalled code.
5133         * bits/std_fstream.h: Major reconstruction.
5134         * bits/fstream.tcc: Disable for the time being.
5136 1998-12-11  Benjamin Kosnik  <bkoz@haight.constant.com>
5138         * bits/basic_string.h: Fix insert method.
5139         * stl/bits/stl_iterator.h: Remove previous hack.
5140         * bits/std_streambuf.h (sbumpc): Correct increment/return oddness.
5141         * bits/std_sstream.h: Fix more regressions.
5142         * testsuite/27/27stringbuf.C: Add (almost) complete tests.
5144 1998-12-09 Benjamin Kosnik  <bkoz@loony.cygnus.com>
5146         * bits/basic_string.h: Tweak.
5148         * stl/bits/stl_iterator.h: Specialize iterator_traits for int so
5149         that string::append can be instantiated. HACK--checkin
5150         basic_string::iterator class.
5152 1998-12-07  Benjamin Kosnik  <bkoz@haight.constant.com>
5154         * bits/std_sstream.h: Tweak.
5155         * bits/sstream.tcc: Tweak ctors.
5157         FIXME invalid friend defs. . WHERE ARE THEY??
5159         * bits/sbuf_iter.h (istreambuf_iterator::equal): Change to new
5160         names for basic_streambuf data members.
5162         * bits/std_streambuf.h: Add getloc() initialization bits.
5163         basic_streambuf(): Initialize with global locale data.
5164         imbue(): Set _M_init.
5166         * bits/std_streambuf.h(seekoff, seekpos): Complete with invalid
5167         stream pos == pos_type(off_type(-1)).
5168         in_avail(): Complete default implementation.
5169         snextc, sbumpc, sputbackc, sungetc, sputc, setg, xsputn,
5170         underflow, uflow, xsgetn, showmany, sync: Ditto.
5172         * bits/std_streambuf.h: _M_snextc_helper(): Remove.
5174         * bits/streambuf.tcc (sputbackc): Temporarily remove, need to
5175         re-populate with in-line member functions that are too big.  Add
5176         initialization for _M_init.
5178 1998-12-03  Benjamin Kosnik  <bkoz@cygnus.com>
5180         * bits/sstream.tcc: Convert _Allocator to _Alloc.  Add typedefs
5181         for basic_string and basic_streambuf. Scope _IO_buf_* pointers to
5182         streambuf_type.
5184         * src/stdstreams.cc (std): Disable wchar_t instantiations.
5186         * bits/c++config.h (_G_DEPRICATED): Add.
5187         (_G_USE_WCHAR_T): Add.
5188         * bits/std_streambuf.h: Radical reconstruction of basic_streambuf.
5189         Take out _Streambuf_base. Put _IO_FILE data member in basic_filebuf.
5190         * bits/streambuf.tcc (sputbackc): Remove ctor anti-def, Tweak.
5191         * bits/std_fstream.h: Add comment for implementation.
5192         * src/streambuf.cc: Remove.
5193         * src/Makefile.in: Remove streambuf.lo.
5194         * src/misc-inst.cc: Tweak.
5196 1998-12-02  Benjamin Kosnik  <bkoz@cygnus.com>
5198         * bits/std_sstream.h: Add const_cast to rdbuf returns.
5199         * testsuite/27stringstream.C: Modify.
5201 1998-11-25  Benjamin Kosnik  <bkoz@haight.constant.com>
5203         * src/Makefile.in (libstdc___la_OBJECTS): Add streambuf.lo.
5204         (libstdc___la_SOURCES): Ditto.
5206         * bits/streambuf.tcc: Tweak.
5208         * src/streambuf.cc: New file, add out-of-line definitions for
5209         _Streambuf_base.
5211         * src/misc-inst.cc: Remove _Streambuf_base instantiations.
5212         Comment out wchar_t versions of the buffer instantiations, for now.
5214         * bits/std_streambuf.h: Wrap libio.h include with extern "C".
5215         Remove template wrapper around _Streambuf_base.
5216         Move IO_* data members into _Streambuf_base.
5217         Move _Streambuf_base members into streambuf.tcc.
5219         * bits/c++config.h (_G_USE_LIBIO): Enable.
5221 1998-11-02  Nathan Myers <ncm@cantrip.org>
5223         * CHECKLIST: downgrade iterator implementations
5224         * DESIGN: fill out notes about unimplemented features
5226 1998-10-31  Nathan Myers <ncm@cantrip.org>
5228         * CHECKLIST: itemized list of all interfaces, and status of each.
5230 1998-10-30  Nathan Myers  <ncm@cantrip.org>
5232         * RELEASE-NOTES: add notes about optional includes, linking, running
5233         * src/Makefile.am: handle header installs properly
5234         * src/Makefile.in: regenerate from new src/Makefile.am
5236 1998-10-30  Benjamin Kosnik  <bkoz@loony.cygnus.com>
5238         * bits/basic_string.h: Revert npos pending ciso646.
5239         * src/Makefile.am: Revert CXX flags for now.
5240         * src/Makefile.in: Ditto.
5242 1998-10-30  Brendan Kehoe  <brendan@cygnus.com>
5244         * bits/std_sstream.h: Re-order ctors to put base before member
5245         inits.
5247 1998-10-30  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
5249         * stl/bits/std_memory.h: Fix typo.
5251 1998-10-30  Nathan Myers <ncm@cantrip.org>
5253         * src/string[A-Z]+.cc: change back to include "string.cc".
5254         * src/Makefile.am: revert filename changes.  We need a different
5255         way to keep filenames in std/ from confusing Make.
5256         * bits/basic_string.h: define _S_max_size right, return it from
5257         string::max_size(); churn definition of npos again.
5258         * bits/string.tcc: fix _S_frob_size to avoid uint overflow.
5259         * bits/ios.cc: remove #ifdef on ios_base locale member initialization
5260         * BUGS: clear cruft.
5261         * C++STYLE: Touchup for release.
5262         * CHECKLIST: Touchup for release.
5263         * DESIGN: New file.
5264         * LICENSE.STD: Add requirement to retain copyrights and to provide
5265         the license with any copies.
5266         * README: Update for release.
5267         * TODO: Minor touchup for release.
5268         * RELEASE-NOTES: prepare for release
5270 1998-10-29  Ulrich Drepper  <drepper@cygnus.com>
5272         * src/string[A-Z]+.cc: Include stdstring.cc, not string.cc.
5274         * src/Makefile.am (CXXFLAGS): Define _GNU_SOURCE.
5276         * src/Makefile.am (CXXLINK): New variable.  Make sure we don't use
5277         CXX to generate the shared object.
5279         * src/Makefile.am (headers): Remove duplicated char_traits.h.
5281 1998-10-29  Brendan Kehoe  <brendan@cygnus.com>
5283         * bits/basic_string.h (basic_string<>::max_size): Subtract 1, not
5284         2, from npos, solving infinite loop problems.
5286 1998-10-29 18:41  Ulrich Drepper  <drepper@cygnus.com>
5288         * src/Makefile.am: Add rules to install headers.
5290 1998-10-29  Nathan Myers <ncm@cantrip.org>
5292         * bits/std_ostream.h: Remove #ifdef on operator<< for long double
5293         * bits/ostream.tcc:   Remove #ifdef on operator<< for long double
5294         * shadow/libio.h:
5295         * shadow/unistd.h:
5296         * shadow/bits/wrap_libio.h:
5297         * shadow/bits/wrap_unistd.h: New files.
5299 1998-10-29  Brendan Kehoe  <brendan@cygnus.com>
5301         * bits/ostream.tcc (operator<<): Wrap with #ifdef
5302         _G_HAVE_LONG_DOUBLE_IO, to match bits/std_ostream.h.
5304 1998-10-29  Ulrich Drepper  <drepper@cygnus.com>
5306         * src/Makefile.am: Add temporarily rules to make sure misc-inst.cc
5307         is not compiled with -fno-implicit-templates in effect.
5309         * src/Makefile.am (EXTRA_SOURCES): Add string.cc and wstring.cc here.
5310         (libstdc___la_SOURCES): Add all the string*.cc and wstring*.cc files.
5311         * src/stringADDCS.cc: Wrapper around string.cc to define individual
5312         function.
5313         * src/stringADDPS.cc: Likewise.
5314         * src/stringADDSC.cc: Likewise.
5315         * src/stringADDSP.cc: Likewise.
5316         * src/stringADDSS.cc: Likewise.
5317         * src/stringBIST.cc: Likewise.
5318         * src/stringBOST.cc: Likewise.
5319         * src/stringCHTR.cc: Likewise.
5320         * src/stringEQPS.cc: Likewise.
5321         * src/stringEQSP.cc: Likewise.
5322         * src/stringEQSS.cc: Likewise.
5323         * src/stringEXTRA.cc: Likewise.
5324         * src/stringGEPS.cc: Likewise.
5325         * src/stringGESP.cc: Likewise.
5326         * src/stringGESS.cc: Likewise.
5327         * src/stringGETLI.cc: Likewise.
5328         * src/stringGTPS.cc: Likewise.
5329         * src/stringGTSP.cc: Likewise.
5330         * src/stringGTSS.cc: Likewise.
5331         * src/stringINSER.cc: Likewise.
5332         * src/stringLEPS.cc: Likewise.
5333         * src/stringLESP.cc: Likewise.
5334         * src/stringLESS.cc: Likewise.
5335         * src/stringLTPS.cc: Likewise.
5336         * src/stringLTSP.cc: Likewise.
5337         * src/stringLTSS.cc: Likewise.
5338         * src/stringMAIN.cc: Likewise.
5339         * src/stringNEPS.cc: Likewise.
5340         * src/stringNESP.cc: Likewise.
5341         * src/stringNESS.cc: Likewise.
5342         * src/stringSCOPY.cc: Likewise.
5343         * src/wstringADDCS.cc: Wrapper around wstring.cc to define individual
5344         functions.
5345         * src/wstringADDPS.cc: Likewise.
5346         * src/wstringADDSC.cc: Likewise.
5347         * src/wstringADDSP.cc: Likewise.
5348         * src/wstringADDSS.cc: Likewise.
5349         * src/wstringBIST.cc: Likewise.
5350         * src/wstringBOST.cc: Likewise.
5351         * src/wstringCHTR.cc: Likewise.
5352         * src/wstringEQPS.cc: Likewise.
5353         * src/wstringEQSP.cc: Likewise.
5354         * src/wstringEQSS.cc: Likewise.
5355         * src/wstringEXTRA.cc: Likewise.
5356         * src/wstringGEPS.cc: Likewise.
5357         * src/wstringGESP.cc: Likewise.
5358         * src/wstringGESS.cc: Likewise.
5359         * src/wstringGETLI.cc: Likewise.
5360         * src/wstringGTPS.cc: Likewise.
5361         * src/wstringGTSP.cc: Likewise.
5362         * src/wstringGTSS.cc: Likewise.
5363         * src/wstringINSER.cc: Likewise.
5364         * src/wstringLEPS.cc: Likewise.
5365         * src/wstringLESP.cc: Likewise.
5366         * src/wstringLESS.cc: Likewise.
5367         * src/wstringLTPS.cc: Likewise.
5368         * src/wstringLTSP.cc: Likewise.
5369         * src/wstringLTSS.cc: Likewise.
5370         * src/wstringMAIN.cc: Likewise.
5371         * src/wstringNEPS.cc: Likewise.
5372         * src/wstringNESP.cc: Likewise.
5373         * src/wstringNESS.cc: Likewise.
5374         * src/wstringSCOPY.cc: Likewise.
5375         * src/string.cc: Remove now unneeded #defines now.
5377 1998-10-29 Nathan Myers <ncm@cantrip.org>
5379         * bits/locfacets.tcc: Define num_put::put(... const void*), improve
5380         integer formatting.
5381         * bits/ostream.tcc: Delete cruft, rewrite various op<< as members,
5382         add definitions for double, long double, const void*.
5383         * bits/std_ostream.h: Move op<<'s back into class ostream,
5384         define some in-line.
5385         * bits/string.tcc: fix unnecessary-copying bug in op[], typos in
5386         string construction from input iterators that Brendan reported.
5389 1998-10-28  Brendan Kehoe  <brendan@cygnus.com>
5391         * stl/bits/stl_pair.h (op!=, op>, p<=, op>=): Add missing definitions.
5393         * bits/valarray_meta.h (class _Constant): Move declaration to the
5394         top, so the rest of the file can grok it.
5395         (_ApplyBinaryFunction::operator[]): Add missing parenthesis.
5397         * bits/std_sstream.h (basic_ostringstream::str): Fix typo of extra
5398         semicolon.
5399         (basic_stringstream::str, both instances): Likewise.
5401 1998-10-28 Nathan Myers <ncm@cantrip.org>
5403         * bits/locfacets.h: fix num_put<>::falsename()
5404         * bits/locfacets.tcc: fix _Format_cache<>::_M_populate bool name init
5405         * testsuite/27/27octfmt.C, testsuite/27/27octfmt.C: new tests
5406         * bits/locfacets.tcc: touch up _S_group_digits.
5407         * src/misc-inst.cc: adjust _S_group_digits insts to match.
5409 1998-10-27 Nathan Myers <ncm@cantrip.org>
5411         * stl/bits/stl_config.h: Turn off long long support, for now.
5412         * src/locale-inst.cc: Instantiate num_put<> only for
5413         ostreambuf_iterator, num_get only for istreambuf_iterator.
5414         * src/misc-inst.cc: Delete duplicate locale-related instantiations,
5415         add lots of new instantiations for num_put support function templates;
5416         remove junk about __match_parallel for ostreambuf_iterator.
5418 1998-10-27 Nathan Myers <ncm@cantrip.org>
5420         * bits/locfacets.tcc: Make num_put's digit grouping work.
5421         * bits/string.tcc: More uglification.
5422         * src/ios.cc: initialize format cache right
5424 1998-10-26 Nathan Myers <ncm@cantrip.org>
5426         * bits/basic_string.h: Uglify more names.
5427         * bits/fstream.tcc: Rewrite some filebut output handling.
5428         * bits/ios_base.h: Cosmetic.
5429         * bits/locfacets.h: Changes to _Format_cache for support of num_put.
5430         Also, specialize its default ctor for optimal default case.
5431         #ifdef out "long long" prototypes for now.
5432         * bits/locfacets.tcc: Do complete, optimized num_put<>::do_put
5433         implementation for integer types.  (Still needs optimized
5434         std::copy() applied to ostreambuf_iterator to be optimal.)
5435         * bits/ostream.tcc: Write operator<< for long, bool types.
5436         Make other operators<< non-members, per spec.  (Many still
5437         not implemented.)  Identify those that fail to create a sentry.
5438         * bits/sbuf_iter: Cosmetic.
5439         * bits/std_fstream.h: Add some filebuf members.
5440         * bits/std_locale.h: Include <limits> for use in bits/locfacets.h
5441         * bits/std_ostream.h: Make member operators<< global, per spec.
5442         (Should do the same in std_istream.h.)
5443         * bits/std_string.h: Include <limits> for use in bits/locfacets.h
5444         * bits/string.tcc: Uglify names
5445         * shadow/bits/std_cstdlib.h: Optimize std::div and std::ldiv.
5446         * src/ios.cc: Specialize _Format_cache<> for char and wchar_t,
5447         for optimal default behavior.
5449 1998-10-26  Benjamin Kosnik  <bkoz@loony.cygnus.com>
5451         * src/Makefile.in (libstdc___la_SOURCES): Add misc-inst.cc again.
5453 1998-10-21 Nathan Myers <ncm@cantrip.org>
5455         * src/locale.cc: make ctype operations actually work for glibc
5456         * CHECKLIST: add a comprehensive (i.e. huge) implementation
5457         checklist of stdlib facilities.  Not filled in yet.
5459 1998-10-20 Nathan Myers <ncm@cantrip.org>
5461         * bits/string.tcc: fix patching NULs on string ends.
5463 1998-10-19 Nathan Myers <ncm@cantrip.org>
5465         * bits/std_iosfwd.h: eliminate "basic_" prefix on streambuf
5466         iterator forward declarations
5467         * bits/sbuf_iter.h: eliminate default template argument definitions
5468         on streambuf iterators (rely on <iosfwd> decls).
5469         * TODO: add note about lazy facet construction
5470         * bits/basic_ios.h: hit operator void* again.  This should be the
5471         last time we need to touch it.
5472         * bits/basic_ios.h: copyfmt now returns *this.
5473         * bits/basic_string.h: fix npos again.  npos cannot be defined as zero.
5474         * bits/basic_string.h: put back overloaded constructors; adjust
5475         behavior for default allocator on copy constructor.
5476         * bits/char_traits.h: make not_eof return correct type.
5477         * bits/loccore.h: remove call to bits/std_stdexcept.h; subincludes
5478         cannot be in non-standard headers or we get include loops (bad)
5479         * bits/loccore.h: delete ifdef'd out workarounds for old compiler bugs.
5480         * bits/loccore.h: add apparatus to support lazy construction of
5481         facets.
5482         * bits/locfacets.tcc: Uglify names in __match_parallel decl.
5483         * bits/std_ios.h: add include of <typeinfo> to get bad_cast for
5484         locale use_facet<> failure.
5485         * bits/std_locale.h: same.
5486         * bits/std_string.h: same.
5487         * bits/std_stdexcept.h: change exception member __msg from a
5488         reference to a regular object.
5489         * bits/string.tcc: add pasting a NUL on the end of strings after
5490         each operation. We had already left room for it, but previously
5491         plugged it only on a call to c_str(), but the WG changed the
5492         requirement when I wasn't looking.  (Can't leave them alone for
5493         a second without they break something else.)
5494         * bits/valarray_meta.h: add Gaby's changes from 981018.
5495         * src/locale.cc: add new type _Bad_use_facet to be thrown on
5496         failure of use_facet<>().
5497         * src/stdexcept.cc: remove pragma, remove bkoz's #if 0,
5498         comment out leftover member definitions
5500 1998-10-16  Ulrich Drepper  <drepper@cygnus.com>
5502         * string/Makefile.am: Revert last change.
5503         * math/Makefile.am: Likewise.
5505 1998-10-15  Benjamin Kosnik  <bkoz@haight.constant.com>
5507         * bits/std_sstream.h: Fix typo.
5509 1998-10-15  Benjamin Kosnik  <bkoz@haight.constant.com>
5511         * src/Makefile.am (libstdc___la_SOURCES): Add misc-inst.cc.
5513         * bits/std_sstream.h: Add typedefs, member definitions. Clean.
5514         * bits/std_stdexcept.h: Remove.
5516 1998-10-15  Benjamin Kosnik  <bkoz@haight.constant.com>
5518         * src/misc-inst.cc: Tweak again.
5520         * bits/std_sstream.h: Move out-of-line definitions to sstream.tcc.
5521         * bits/sstream.tcc: New file.
5523 1998-10-15  Ulrich Drepper  <drepper@cygnus.com>
5525         * configure.in: Test for machine/param.h, sys/machine.h and fp.h.
5526         Don't run AC_C_BIGENDIAN if machine/param.h or sys/machine.h are
5527         available.
5529         * math/mathconf.h: Include sys/machine.h, machine/param.h and fp.h
5530         if available.
5531         (INFINITE_P): Use IS_INF macro if available.
5533 1998-10-15  Ulrich Drepper  <drepper@cygnus.com>
5535         * math/Makefile.am (EXTRA_LTLIBRARIES): Renamed from
5536         noinst_LTLIBRARIES.
5537         * string/Makefile.am: Likewise.
5539 1998-10-15  Ulrich Drepper  <drepper@cygnus.com>
5541         * configure.in (AC_CHECK_FUNCS): Add finite, qfinite, fpclass, and
5542         qfpclass.
5543         (AC_CHECK_HEADERS): Add machine/endian.h.  If no header specifying
5544         endianess is available run AC_C_BIGENDIAN.
5546         * math/clog10l.c: Add ugly hack around bug in Irix 6.2 header until
5547         fixincludes is fixed.
5548         * math/clogl.c: Likewise.
5549         * math/csqrtl.c: Likewise.
5550         * math/mycabsl.c: Likewise.
5552         * math/mathconf.h: Include machine/endian.h if possible.  If no
5553         header describing endianess is available rely on WORDS_BIGENDIAN
5554         macro.
5555         (FINITE_P, FINITEF_P, FINITEL_P): Use finite functino if available.
5556         (INFINITE_P, INFINITEF_P, INFINITEL_P): Use fpclass function if
5557         available.
5559         * src/complex.cc (polar): Don't use sincos on OSF machines.
5561 1998-10-09  Benjamin Kosnik  <bkoz@loony.cygnus.com>
5563         * src/locale-inst.cc: Don't instantiate time_get for
5564         ostreambuf_iterators as time_get::do_get_weekday and
5565         time_get::do_get_monthname use __match_parallel, which is illegal
5566         for ostreambuf_iterators to use, as they don't have operator== or
5567         operator!=.
5568         * bits/std_stdexcept.h: Add dtor definitions.
5569         Use stl/bits/std_stdexcept.h instead of this file?
5570         * bits/sbuf_iter.h : Tweak.
5571         * src/misc-inst.cc: Tweak.
5573 1998-10-09  Benjamin Kosnik  <bkoz@haight.constant.com>
5575         * bits/std_stdexcept.h: New file.
5576         * src/stdexcept.cc: Define the following:
5577         logic_error::what()
5578         runtime_error::what()
5580         * src/misc-inst.cc: New file.
5581         * src/Makefile.in (libstdc___la_SOURCES): Add misc-inst.cc.
5582         (libstdc___la_OBJECTS): Add misc-inst.lo.
5584         * bits/basic_string.h: Disable non-standard ctor declarations.
5585         * bits/string.tcc: Disable definitions as well.
5586         * src/string.cc: Disable <ios> dependancies.
5587         * bits/sbuf_iter.h (std): Add default to template parameter for
5588         ostreambuf_iterator and istreambuf_iterator.
5589         * bits/std_iosfwd.h: Change istreambuf_iterator to
5590         basic_istreambuf_iterator. Likewise for ostreambuf.
5591         * bits/locfacets.tcc (__match_parallel): Fix typo.
5592         * src/ios.cc (imbue): Remove the _G_HAVE_LOCALE guards around
5593         ios_base::imbue.
5594         * bits/std_streambuf.h: Define _Streambuf_base::getloc().
5595         * bits/std_istream.h: Define the following:
5596         get (basic_streambuf<char_type,_Traits>& __sb, char_type __delim)
5597         get (char_type* __s, streamsize __n, char_type __delim);
5598         getline (char_type* __s, streamsize __n, char_type __delim)
5599         * bits/loccore.h : FIXME friend template code for use_facet.
5600         Add std_stdexcept.h include so that range_error will be defined.
5601         Add explicit conversion to string for range_error throws. (HACK?)
5603 1998-10-8  Ulrich Drepper  <drepepr@cygnus.com>
5605         * configure.in: Check for sincos, sincosf, and sincosl.
5606         * src/complex.cc (polar): Use sincos if available.
5608         * bits/c++config.h: Fix hack to get LONG_LONG* definitions on Linux.
5609         * stl/bits/std_limits.h: Include bits/c++config.h.  HACK!!!
5611         * math/clog10.c: Fix typo (FP_INIFITE_P -> INFINITE_P).
5613         * math/cpow.c: Use c_log, not clog.
5614         * math/cpowf.c: Likewise.
5615         * math/cpowl.c: Likewise.
5617         * math/cexp.c: Remove unused fpclassify calls.  Use FINITE_P instead
5618         of isfinite call.
5620         * math/mathconf.h (FINITE_P, FINITEF_P, FINITEL_P): Define using
5621         isfinite macro if it is available.
5622         (INFINITE_P, INFINITEF_P, INFINITEL_P): Define using isinf macro.
5624         * math/ccosf.c: Use appropriate test macros for this type.
5625         * math/ccoshf.c: Likewise.
5626         * math/ccoshl.c: Likewise.
5627         * math/ccosl.c: Likewise.
5628         * math/cexpf.c: Likewise.
5629         * math/cexpl.c: Likewise.
5630         * math/clog10f.c: Likewise.
5631         * math/clog10l.c: Likewise.
5632         * math/clogf.c: Likewise.
5633         * math/clogl.c: Likewise.
5634         * math/csinf.c: Likewise.
5635         * math/csinhf.c: Likewise.
5636         * math/csinhl.c: Likewise.
5637         * math/csinl.c: Likewise.
5638         * math/csqrtf.c: Likewise.
5639         * math/csqrtl.c: Likewise.
5640         * math/ctanf.c: Likewise.
5641         * math/ctanhf.c: Likewise.
5642         * math/ctanhl.c: Likewise.
5643         * math/ctanl.c: Likewise.
5645 1998-10-06  Benjamin Kosnik  <bkoz@bliss.nabi.net>
5647         * bits/basic_ios.h: Fix previous change.
5649 1998-10-06  Benjamin Kosnik  <bkoz@bliss.nabi.net>
5651         * bits/basic_ios.h: Add const_cast<basic_ios&>
5652         (operator void*): As per 5.2.9 p 2, make sure static_cast is
5653         well-formed.
5654         * bits/char_traits.h: No _CharT for specialization, change to 0.
5655         * bits/basic_string.h: As per 9.4.2 p4, initialize with
5656         constant-initializer.
5657         * bits/locfacets.tcc: Add template parameter to initialization list.
5659 1998-10-02  Benjamin Kosnik  <bkoz@loony.cygnus.com>
5661         * bits/basic_string.h: Should just be <, not <=.
5663 1998-10-01  Benjamin Kosnik  <bkoz@bliss.nabi.net>
5665         * bits/string.tcc (compare): Fix for strings that are similar, but
5666         not the same length.
5668 1998-09-04  Brendan Kehoe  <brendan@cygnus.com>
5670         * bits/c++config.h: For __linux__, define _GNU_SOURCE.  This is
5671         required for us to get LONG_LONG_{MIN,MAX} out of gcc's limits.h.
5672         We can't check for __GLIBC__ here, since this header can be read
5673         before any system one (that would lead to features.h) being used.
5675         * stl/bits/stl_config.h (__STL_LONG_LONG): Re-enabled
5677         * stl/bits/std_limits.h [__STL_LONG_LONG]: Fix usage to use
5678         LONG_LONG_MIN, LONG_LONG_MAX, and ULONG_LONG_MAX.
5680         * stl/bits/stl_config.h: Don't do __STL_LONG_LONG, it uses
5681         LONGLONG_{MIN,MAX} which I can't find the origin of.
5683 1998-09-03  Brendan Kehoe  <brendan@cygnus.com>
5685         * stl/bits/stl_iterator.h: Add extern decl of cin for now; where
5686         should this come from, if not iostream.h?
5687         (class istream_iterator): Make the new operator!= a friend also.
5689         * stl/bits/stl_config.h: Define __STL_HAS_WCHAR_T,
5690         __STL_MEMBER_TEMPLATE_CLASSES, and __STL_LONG_LONG.  Don't include
5691         _G_config.h like the egcs one does.
5693 1998-09-01  Brendan Kehoe  <brendan@cygnus.com>
5695         * bits/string.tcc: Call `_M_destroy' instead of `destroy'.
5697         * bits/valarray_meta.h: Throughout, rename _Expr typedefs to be
5698         _Expr1 (or _Expr_def if it's taken), and change definitions.
5699         Avoids redecl of the template parm.
5701         * bits/string.tcc (basic_string copy ctor): Fix typo in declaration.
5702         (operator>>): Initialize __ERROR with ios_base::goodbit, not 0.
5704         * bits/std_streambuf.h (_POSIX_SOURCE): Only define if it's not
5705         already done.
5707         * src/locale-inst.cc: New file, **TOTAL HACK**.  There has GOT to
5708         be a better way to do this.
5710         * src/stlinst.cc: New file.
5712         * BUGS: New file, with various discovered bugs that need to be
5713         fixed.
5715         * Makefile.in, math/Makefile.in, string/Makefile.in,
5716         src/Makefile.in: Reran automake.
5718         Workarounds, these may not all be the final fixes:
5720         * bits/basic_ios.h (class basic_ios): Make _M_strbuf be protected,
5721         not private, for basic_istream::get() in std_istream.h to be able
5722         to use it.
5723         (basic_ios::operator void*): Don't use static_cast for the false
5724         case.
5725         (basic_ios::copyfmt): Fix `rhs.except' to be `rhs.exceptions ()'.
5726         This appears to have been in sep94, but didn't get corrected
5727         afterwards.
5729         * bits/basic_string.h (npos): Don't init here.
5730         * bits/string.tcc: Instead, do initialization here, to -1 instead
5731         of the size_type destructor.
5733         * src/traits.cc, src/wtraits.cc: New files.
5734         * bits/char_traits.h: For char_traits<char> and
5735         char_traits<wchar_t>, declare static, but define over in the src
5736         files.
5738         * bits/gslice.h: Comment out forward decls of _Array, valarray,
5739         gslice_array, and _GsliceExpression.
5741         * bits/std_cstdio.h [__sparc__ && __svr4__]: #undef all of
5742         clearerr, feof, ferror, getc, getchar, putc, putchar, stdin,
5743         stdout, and stderr.  Note we do get unresolved refs to stdin, but
5744         that'll get fixed by the "true" solution.
5746         * bits/std_ios.h: Include <bits/std_streambuf.h> to get the
5747         definition of basic_streambuf.h, which is used in basic_ios.h to
5748         call pubimbue.
5750         * bits/std_streambuf.h: Don't include libio.h for now.
5751         (class basic_streambuf): Define missing methods pubimbue and
5752         getloc.
5754         * src/Makefile.am (libstdc___la_SOURCES): Add stdexcept.cc,
5755         ios.cc, os_raw.cc, stdstreams.cc, locale.cc, localename.cc,
5756         locale-inst.cc, stlinst.cc, traits.cc, wtraits.cc.
5758         * src/ios.cc: Instantiate basic_ios<char> and basic_ios<wchar_t>.
5760         * src/locale.cc: Come up with munged versions of _S_toupper,
5761         _S_tolower, and _S_table instead of the glibc-specific ones, so
5762         they're at least defined, if not necessarily usable.  The glibc
5763         ones on any other system will yield unresolved refs to
5764         __ctype_{b,toupper,tolower}.
5766         * src/string.cc: Define all of ADDCS, ADDPS, et al.  Add
5767         basic_ios, basic_istream, basic_ostream.  Don't do char_traits
5768         anymore cuz of the explicit specialization in char_traits.h.
5769         Also add _S_string_copy, but this doesn't fix it -- cf the BUGS
5770         file for the details.
5772         * stl/bits/stl_algobase.h (equal): Fix to do `! (x==y)'.
5773         * stl/bits/stl_iterator.h (__distance): Likewise.
5775         * stl/bits/stl_iterator.h: As with 8/18 set, define missing op!=,
5776         op>, op<=, and op>= for reverse_iterator.  Also add op!= for
5777         istream_iterator.
5779 1998-08-26  Brendan Kehoe  <brendan@cygnus.com>
5781         * bits/string.tcc (basic_string::compare (const char*)): Fix to
5782         return 0, not 1.
5784 1998-08-25  Brendan Kehoe  <brendan@cygnus.com>
5786         This should really be fixed with __asm__ directives renaming the
5787         symbol, but keeping the function.
5788         * math/clogf.c (c_logf): Renamed from `clogf'.
5789         * math/clogl.c (c_logl): Renamed from `clogl'.
5790         * math/complex-stub.h (c_logf, c_logl): Change decls.
5792         * bits/locfacets.h (class _Numeric_get): For friend decls, rename
5793         _CharT and _InIter parms, since they duplicate the enclosing ones.
5795 1998-08-19  Brendan Kehoe  <brendan@cygnus.com>
5797         Deal with conflict of the iostreams `clog' and our internal
5798         complex number `clog'.
5799         * src/complex.cc: Call `c_log' instead of `clog'.
5800         * math/clog.c (c_log):: Renamed from clog.
5801         * math/complex-stub.h (c_log): Renamed from clog decl.
5803         * bits/locfacets.h (class _Numeric_get): Tweak fwd decls of the
5804         get/put classes.
5805         (num_put::put): #if 0 long long version, since we don't declare or
5806         define the long long version of do_put.
5808 1998-08-18 Nathan Myers <ncm@cantrip.org>
5810         * bits/basic_string.h: add basic_string<>::push_back(), fix return
5811         type of get_allocator (thanks to Ryszard Kabatek).
5812         * bits/char_traits.h: make init order of fpos<> members
5813         match decl order.
5814         * bits/ios_base.h: fix decls of ios_base bitmask & enum types, add
5815         flags _S_fd_in etc. for special filebuf ctor.
5816         * bits/locfacets.h: make _Numeric_get and _Format_cache public
5817         to work around problems in friend declarations.
5818         * bits/locfacets.tcc: qualify _S_get_cache in num_get<>::get(..bool&),
5819         fix random type errors & typos
5820         * bits/std_fstream.h: major refitting to bypass libio (for now),
5821         instrument to use bits/fstream.tcc template definitions
5822         * bits/std_iosfwd.h: mess with wrappers
5823         * bits/std_istream.h: remove meaningless comment
5824         * bits/std_ostream.h: instrument to work with ostream.tcc.
5825         * bits/std_streambuf.h: instrument to work with streambuf.tcc
5826         * bits/fstream.tcc: template defs for <fstream>
5827         * bits/ostream.tcc: template defs for <ostream>
5828         * bits/streambuf.tcc: template defs for <streambuf>
5829         * bits/os_raw.h: thin OS interface wrapper, to bypass libio (for now).
5830         * Delete .cc files, replace with bits/*.tcc
5831         src/fstream.cc
5832         src/istream.cc
5833         src/ostream.cc
5834         src/streambuf.cc
5835         * Add files:
5836         src/os_raw.cc: thin interface to OS, to bypass libio (for now).
5837         src/stdstreams.cc: cout, cin, etc. definitions
5838         (these still need work: must be init'd before user statics.)
5841 1998-08-18  Brendan Kehoe  <brendan@cygnus.com>
5843         Sent to SGI before checkin:
5844         * stl/bits/stl_vector.h (operator!=, operator>, operator<=,
5845         operator>=): Define.
5846         * stl/bits/stl_bvector.h (vector<bool>::flip): Define method.
5847         * stl/bits/stl_deque.h (operator!=, operator>, operator<=,
5848         operator>=): Define.
5849         (operator==, operator<): Add inline.
5850         * stl/bits/stl_map.h (operator!=, operator<, operator<=,
5851         operator>=): Define.
5852         * stl/bits/stl_multimap.h (operator!=, operator<, operator<=,
5853         operator>=): Define.
5854         * stl/bits/stl_list.h (operator!=, operator<, operator<=,
5855         operator>=): Define.
5856         * stl/bits/stl_set.h (operator!=, operator<, operator<=,
5857         operator>=): Define.
5858         * stl/bits/stl_multiset.h (operator!=, operator<, operator<=,
5859         operator>=): Define.
5861         * bits/std_valarray.h (_Shift_left, _Shift_right): Inherit from
5862         unary_function.
5864 1998-08-15 Nathan Myers <ncm@cantrip.org>
5866         * bits/ios_base.h: change nominal bitmask and enum types to real enums
5867         * bits/locfacets.h: make _Format_cache bool names usable by num_get
5868         * bits/locfacets.tcc: make num_get<>::get(... bool&) use _Format_cache
5869         * bits/std_fstream.h: minor cleanups: ctors delegate to open()
5870         * bits/std_iosfwd.h: more bitmask changes, for ios_base::iostate
5871         * bits/std_sstream.h: formatting cleanups
5873 1998-08-14 Nathan Myers <ncm@cantrip.org>
5875         * bits/locfacets.tcc: implement num_get<>::do_get(..., bool&)
5876         * bits/locfacets.tcc: implement time_get<>::do_get_weekday
5877         * bits/locfacets.tcc: implement time_get<>::do_get_monthname
5878         * bits/locfacets.h:   fix missing argument in do_get_monthname
5879         (this is a bug in the standard, ref. 36 in my list.)
5880         * bits/locfacets.h: make month and day name caches mutable
5881         * bits/locfacets.tcc: various typos in get() functions
5882         * bits/sbuf_iter.h: fix omission in istreambuf_iterator::op++().
5883         * bits/std_streambuf.h: fix typo in sgetn (Brendan)
5885 1998-08-12 Nathan Myers <ncm@cantrip.org>
5886         * move streambuf iterators to bits/sbuf_iter.h
5887         * optimize streambuf iterators
5888         * begin generalizing streambuf
5889         * begin implementing num_get<>::get (starting with bool)
5890         * patch stl/bits/stl_config.h so that relops operators are
5891         contained properly, out of the way.
5893 1998-07-24 Nathan Myers <ncm@cantrip.org>
5894         * Fold in SGI 3.11 changes (uglified names, some algorithm
5895           improvements, very minor bug fixes.)
5896         * Uglify names elsewhere to match (s/_T/_Tp/).
5897         * Begin work on optimized streambuf
5898         * Put complex.cc in namespace std:: (thanks Martin)
5900 1998-07-17 Nathan Myers <ncm@cantrip.org>
5902         * bits/char_traits.h: add _Char_traits_match template.
5903         * bits/string.tcc: fix bugs in various find_last* members.
5904         * bits/basic_string.h: redeclare member _S_find.
5905         * stl/bits/stl_iterator.h: change member names in nonstandard
5906           templates bidirectional_reverse_iterator and
5907           random_access_reverse_iterator to match expected changes
5908           in upstream source.
5909         * src/string.cc: fix definitions of stream operators.
5911 1998-07-14 16:06  Ulrich Drepper  <drepper@cygnus.com>
5913         * Makefile.am (SUBDIRS): Add string.
5915         * configure.in: Test for long double functions separately.  Test for
5916         ISO C 89 float functions.  Test for endian.h and sys/isa_defs.h.
5917         Generate string/Makefile.
5919         * bits/c++config.h: Define mbstate_t for Solaris.
5921         * bits/char_traits.h: Remove unused #if.
5923         * bits/std_cwchar.h: Declare wide char string functions.
5925         * m4/stringfcts.m4: New file.
5927         * math/complex-stub.h: Declare nan.
5928         * math/nan.c: New file.
5930         * math/mathconf.h: Hack around missing endian.h file.
5931         Handle missing NAN definition.
5932         Handle missing float math functions.
5934         * src/Makefile.am (libstdc___la_LIBADD): Add libstring.la.
5935         (libstdc___la_LDFLAGS): Set version information.
5937         * src/complexl.cc: Don't compile any code if no long double functions
5938         are available.
5940         * string/Makefile.am: New file.
5941         * string/dummy.c: New file.
5942         * string/wmemchr.c: New file.
5943         * string/wmemcmp.c: New file.
5944         * string/wmemcpy.c: New file.
5945         * string/wmemmove.c: New file.
5946         * string/wmemset.c: New file.
5948 1998-07-14 10:45  Ulrich Drepper  <drepper@cygnus.com>
5950         * configure.in: Make it work.
5951         * install-sh: New file.
5952         * missing: New file.
5953         * mkinstalldirs: New file.
5954         * m4/mathfcts.m4: New file.
5955         * math/Makefile.am: New file.
5957         * bits/std_complex.h (conj): Mark specializations as inline.
5959         * math/carg.c: New file.
5960         * math/cargf.c: New file.
5961         * math/cargl.c: New file.
5962         * math/mycabs.c: New file.
5963         * math/mycabsf.c: New file.
5964         * math/mycabsl.c: New file.
5965         * math/signbit.c: New file.
5966         * math/signbitf.c: New file.
5967         * math/signbitl.c: New file.
5969         * math/ccos.c: Avoid ISO C 9x functionality.
5970         * math/ccosf.c: Likewise.
5971         * math/ccosh.c: Likewise.
5972         * math/ccoshf.c: Likewise.
5973         * math/ccoshl.c: Likewise.
5974         * math/ccosl.c: Likewise.
5975         * math/cexp.c: Likewise.
5976         * math/cexpf.c: Likewise.
5977         * math/cexpl.c: Likewise.
5978         * math/clog.c: Likewise.
5979         * math/clog10.c: Likewise.
5980         * math/clog10f.c: Likewise.
5981         * math/clog10l.c: Likewise.
5982         * math/clogf.c: Likewise.
5983         * math/clogl.c: Likewise.
5984         * math/cpow.c: Likewise.
5985         * math/cpowf.c: Likewise.
5986         * math/cpowl.c: Likewise.
5987         * math/csin.c: Likewise.
5988         * math/csinf.c: Likewise.
5989         * math/csinh.c: Likewise.
5990         * math/csinhf.c: Likewise.
5991         * math/csinhl.c: Likewise.
5992         * math/csinl.c: Likewise.
5993         * math/csqrt.c: Likewise.
5994         * math/csqrtf.c: Likewise.
5995         * math/csqrtl.c: Likewise.
5996         * math/ctan.c: Likewise.
5997         * math/ctanf.c: Likewise.
5998         * math/ctanh.c: Likewise.
5999         * math/ctanhf.c: Likewise.
6000         * math/ctanhl.c: Likewise.
6001         * math/ctanl.c: Likewise.
6003         * math/complex-stub.h: New file.
6005         * math/mathconf.h: New file.
6007         * src/Makefile.am: New file.
6009         * src/complex.cc: Use mathconf.h instead of complex.h.
6010         Don't use cabs, always use __mycabs.
6012 1998-02-13  Brendan Kehoe  <brendan@cygnus.com>
6014         * iterator (class reverse_iterator): Do some tweaks to be in sync
6015         w/ the FDIS.