OSDN Git Service

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