OSDN Git Service

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