OSDN Git Service

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