OSDN Git Service

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