OSDN Git Service

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