OSDN Git Service

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