2001-01-30 Benjamin Kosnik <bkoz@redhat.com>
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob679ceb3ceff091fbe771f410d06ce54d1702625f
1 2001-01-30   Benjamin Kosnik  <bkoz@redhat.com>
3         * config/c_locale_generic.cc: Remove langinfo include.
5 2001-01-29  Benjamin Kosnik  <bkoz@redhat.com>
7         Preliminary named locales.
8         * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): New macro.
9         * aclocal.m4: Regenerate.
10         * configure.in: Use it.
11         * configure: Regerate.
12         * src/Makefile.am (sources): Add c++locale.cc.
13         (build_headers): Add c++locale.h.
14         * src/Makefile.in: Regenerate.
15         * config/c_locale_gnu.h: New file.      
16         * config/c_locale_gnu.cc: New file. Non-inline member functions
17         for named locales, gnu-specific.
18         * config/c_locale_generic.h: New file.          
19         * config/c_locale_generic.cc: New file. Non-inline member
20         functions for named locales, generic version.
21         * docs/html/configopts.html: Add documentation on new options.
23         * include/bits/locale_facets.h (class _Messages): Remove.
24         (class _Moneypunct): Remove.
25         * src/locale-inst.cc: Remove.
26         
27         * include/bits/locale_facets.h (class _Collate): Remove.
28         * src/locale-inst.cc (std): Remove.
29         * src/locale.cc: And here.
30         
31         * include/bits/localefwd.h (locale::_M_coalesce): New
32         function. Correctly put together multi-name locales.
33         (_Impl(const _Impl&, category, size_t)): Remove.
35         * include/bits/localefwd.h (locale::_Impl): Remove _M_construct_*
36         member functions.
37         (_M_normalize_category_names): Remove.
38         (_M_replace_categories): Fix.
40         * src/localename.cc (locale::_Impl::_M_construct_collate): Remove.
41         (locale::_Impl::_M_construct_ctype): Remove.
42         (locale::_Impl::_M_construct_monetary): Remove. 
43         (locale::_Impl::_M_construct_numeric): Remove.  
44         (locale::_Impl::_M_construct_time): Remove.             
45         (locale::_Impl::_M_construct_messages): Remove.         
47         * include/bits/locale_facets.h (_Bad_use_facet): Remove.
48         (_Use_facet_failure_handle): Remove.
49         * src/locale.cc: Remove definitions.
50         * src/locale-inst.cc: And here.
51         
52         * testsuite/22_locale/ctor_copy_dtor.cc (test01): Fixup. Add tests.
54         * src/localename.cc (locale::facet::_S_create_c_locale): Properly
55         create and error-check underlying locale object.
56         (locale::facet::_S_destroy_c_locale): Add, take care of properly
57         tearing down underlying locale object.
58         * include/bits/localefwd.h (locale::facet): Declare.
59         * testsuite/22_locale/members.cc: Don't test "fr_FR" locale for
60         correctness, as glibc apparently has incorrect info in it. Test
61         with it when it works again.....        
63         * include/bits/localefwd.h (locale::_Impl::__vec_string):
64         Remove. Number of categories is fixed at six, so just simplify and
65         make this an array of strings.
66         (locale::_Impl::_M_has_name): Remove.
67         (locale::_Impl::_M_name): Remove.       
68         (locale::_Impl::_M_category_names): Turns into...       
69         (locale::_Impl::_M_names): ...this.
70         (locale::_Impl::_M_has_same_name()): New function.
71         * src/localename.cc (locale::_Impl::~_Impl()): Remove here.
72         (locale::_Impl::_Impl(size_t __refs, string __str)): Simplify
73         signature.
74         * src/locale.cc (locale::name()): Construct mangled name
75         accurately reflecting combined locale categories.
77         * src/locale.cc (locale::classic()): Don't initialize here.
78         * src/localename.cc (locale::_Impl::_Impl(size_t __num, size_t
79         __refs, bool __has_name, string __str): Do it here.
81         * include/bits/localefwd.h: _S_categories_num to
82         _S_num_categories. _S_facets_num to _S_num_facets.
83         (locale::id::id()): Explicitly set _M_index to zero.
84         * src/locale.cc: Same.
86         * src/locale.cc: (locale::locale(const char*)): Construct named
87         locales uniquely.
89         * src/locale.cc: Remove numpunct_byname ctors.
90         * testsuite/22_locale/numpunct_byname.cc: New file.
91         * testsuite/22_locale/numpunct.cc: New file.    
92         
93         * include/bits/localefwd.h (class locale): Change data members to
94         protected, from private.
95         (_Impl::_M_get_c_locale): Add member function.
96         (locale::facet::_M_get_global_impl()): Add member function.
97         * include/bits/locale_facets.h (numpunct::_M_init): Change to take
98         a __c_locale pointer.
99         (numpunct::numpunct( __c_locale*, size_t)): Add additonal ctor for
100         named locales.
101         * testsuite/22_locale/members.cc: New file, test name and combine.
102         
103         * include/bits/locale_facets.h (class numpunct): Remove class
104         _Punct and _Numpunct. Rewrite class numpunct to be correct for
105         named locales.
106         * include/bits/localefwd.h (locale::_Imp::_M_c_locale): Add.
107         * src/localename.cc (_Impl::~_Impl()): Call __frelocale.
108         (_Imp::_Impl(size_t, size_t, bool, string)) Initialize _M_c_locale.
109         * src/locale-inst.cc: Remove _Numpunct, _Punct instantiations.
110         * testsuite/22_locale/numpunct_char_members.cc: New file.
111         
112 2001-01-28  Gabriel Dos Reis  <gdr@codesourcery.com>
114         * testsuite/README: Add more comment.
115         * testsuite/lib/libstdc++.exp: Tweak comment.
117 2001-01-26  Benjamin Kosnik  <bkoz@kredhat.com>
119         * libsupc++/pure.cc (writestr): Just use cstdio and std::fputs.
121 2001-01-25  Loren J. Rittle  <ljrittle@acm.org>
123         * testsuite/21_strings/inserters_extractors.cc: Remove
124         explicit reference to 'testsuite/'.
126 2001-01-25  Richard Henderson  <rth@redhat.com>
128         * config/cpu/alpha/bits/atomicity.h: Remove tricky .subsetion
129         bits. Fixes Tru64 build issues.
130         
131 2001-01-25  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
133         * acinclude.m4 (GLIBCPP_CHECK_GNU_MAKE): Bourne shell portability bug
134         (use ${MAKE-make}, not ${MAKE:-make}).
135         * aclocal.m4, configure: Regenerate.
137 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
139         * src/ios.cc: Remove accidental inclusion of <stdio.h> in last
140         checkin.
142         * src/Makefile.am (sources): Add globals.cc.
143         * src/Makefile.in: Regenerated.
144         * src/globals.cc: New file.
145         * src/ios.cc (cin): Don't define here, just declare extern.
146         (cout): Likewise.
147         (cerr): Likewise.
148         (clog): Likewise.
149         (wcin): Likewise.
150         (wcout): Likewise.
151         (wcerr): Likewise.
152         (wclog): Likewise.
154 2001-01-25  Phil Edwards  <pme@sources.redhat.com>
156         * include/bits/std_iterator.h:  Do not include stl_relops.h.
157         * include/bits/std_numeric.h:  Ditto.
158         * include/bits/stl_algobase.h:  Ditto.
159         * include/bits/stl_relops.h:  Add comment warning about problems.
161 2001-01-25  Gabriel Dos Reis  <gdr@codesourcery.com>
163         * testsuite/27_io/*.cc: Remove explicit reference to 'testsuite/'
164         in testcases.  Prepare for the DejaGnu based framework.
165         * mkcheck.in: Adjust call to tests_flags.  Don't mmkdir testsuite
166         directory -- it is now mkcheck working directory.
167         * tests_flags.in: Remove reference to $(top_srcdir).  Use
168         ${SRC_DIR} instead.
169         * Makefile.am (check, check-install): Change mkcheck invocation
170         logic. 
171         * Makefile.in: Regenerate.
173 2001-01-24  Mark Mitchell  <mark@codesourcery.com>
175         * config/os/aix/bits/atomicity.h (__compare_and_swap): Remove.
176         (__always_swap): Likewise.
178 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
180         * libsupc++/exception_support.cc (__terminate_func): Remove
181         declaration.
182         (__terminate_func_ptr): New typedef.
183         (__terminate, __terminate_set_func): New extern function
184         prototypes.
185         (std::terminate): Use __terminate function.
186         (std::set_terminate): Use __terminate_set_func function.
188 2001-01-23  Benjamin Kosnik  <bkoz@redhat.com>
190         * configure.target: Just use os_include_dir always.
191         * configure.in: Remove calls to GLIBCPP_CHECK_CTYPE_SUPPORT.
192         Link atomicity files and ctype files here.
193         * configure: Regenerate.
194         * acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): Remove.
195         (GLIBCPP_ENABLE_ATOMICITY): Remove.
196         * aclocal.m4: Regenerate.
197         
198 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
200         * configure.in: Place definition of MULTISUBDIR in
201         libsupc++/Makefile as is done for src/Makefile.
202         * configure: Regenerate.
204 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
206         * acinclude.m4:  Cosmetic changes only.
207         * aclocal.m4:  Regenerated.
208         * configure:  Regenerated.
209         * configure.target:  Update documented list of changed variables.
210         * docs/html/install.html:  Fix typo.
211         * docs/html/20_util/howto.html:  More notes on auto_ptr.
212         * docs/html/27_io/howto.html:  More notes on streabufs.
213         * docs/html/faq/index.html:  Add rel_ops problem and mention the
214           DEC as(1) .subsection difficulty.
215         * docs/html/faq/index.txt:  Regenerated.
217 2001-01-23  Mark Mitchell  <mark@codesourcery.com>
219         * ainclude.m4 (GLIBCPP_CHEC_MATH_DECLS_AND_LINKAGE_1): New macro.
220         (GLIBCPP_CHECK_MATH_SUPPORT): Use it.
221         (GLIBCPP_CHECK_TYPE_SUPPORT): Don't autoconf ctype information if
222         its already provided in config.target.
223         * aclocal.m4: Regenerated.
224         * configure: Likewise.
225         * configure.target: Set ctype_include_dir for lots of systems.
226         * libsupc++/Makefile.am: Explicitly include --tag disable-shared.
227         * libsupc++/Makefile.in: Regenerated.
229 2001-01-23  Gabriel Dos Reis  <gdr@codesourcery.com>
231         * testsuite/lib/libstdc++.exp: Improve.  Add support for @xxx#
232         keyword capability.
234         * testsuite/README: Add comment.
236 2001-01-21  Phil Edwards  <pme@sources.redhat.com>
238         * docs/html/configopts.html:  Update for current status.  Fix HTML.
239         * docs/html/install.html:  Update for current status.
241 2001-01-20  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
243         * testsuite/libstdc++.tests/tests.exp: New file.
244         * testsuite/lib/libstdc++.exp: Itou.
245         * testsuite/README: Itou.
247 2001-01-20  Gabriel Dos Reis  <gdr@codesourcery.com>
249         * tests_flags.in: Just output the bare minimum to run tests.
250         Let's the caller do its own arrangement.
252         * mkcheck.in: Rename INC_PATH to INCLUDES.  Adjust flags
253         computations.
255 2001-01-19  Gabriel Dos Reis  <gdr@codesourcery.com>
257         * testsuite/17_intro: Prepare testcases for new style DejaGnu
258         framework. 
260 2001-01-18  Gabriel Dos Reis  <gdr@codesourcery.com>
262         * testsuite/libstdc++.tests, testsuite/lib: New directories.
264 2001-01-17  Loren J. Rittle  <ljrittle@acm.org>
266         * mkcheck.in: Construct file names that match $objdir structure.
267         * testsuite/27_io/filebuf_members-1.txt: New file.
268         * testsuite/27_io/ifstream_members-1.txt: New file.
269         * testsuite/27_io/ostream_inserter_char-1.txt: New file.
271         * testsuite/27_io/ios_base_members_static.cc (test02): Add test.
272         * testsuite/27_io/ios_base_members_static-1.tst: Add expected output.
274 2001-01-17  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
276         * testsuite/27_io/istream_sentry.cc (test02): Fix.
278 2001-01-17  Benjamin Kosnik  <bkoz@redhat.com>
280         libstdc++/1605
281         * include/bits/ios_base.h (ios_base::failure): Tighten up throw specs.
282         * src/ios.cc (ios_base::failure): Make definitions match.
283         * libsupc++/typeinfo (class bad_typeid): Add throw specs.
284         (class bad_cast): Same.
285         * libsupc++/exception (class exception): Add throw specs.
286         * libsupc++/exception_support.cc (set_terminate): Add throw specs.
287         (set_unexpected): Same.
288         (uncaught_exception): Same.
289         (what): Same.
291         * docs/html/17_intro/C++STYLE (classname): Fix.
292         
293 2001-01-16  Mark Mitchell  <mark@codesourcery.com>
295         * src/gen-num-limits.cc (INSTANTIATIONS): New macro.
296         Use it do explicitly instantiate predicate<T> and value<T> for
297         all the builtin Ts.
299 2001-01-16  Nathan Sidwell  <nathan@codesourcery.com>
301         * libsupc++/exception_support.cc (__cp_pop_exception): Fix
302         uninitialized thinko in last change.
304 2001-01-16  Mark Mitchell  <mark@codesourcery.com>
306         * libsupc++/exception_support.cc (__cp_pop_exception): Change
307         prototype.
309 2001-01-16  Benjamin Kosnik  <bkoz@redhat.com>
311         * docs/html/17_intro/C++STYLE (classname): Add more existing
312         and stylish patterns.
314         libstdc++/944
315         * include/bits/istream.tcc (istream::sentry::sentry()): Set
316         failbit if the state of the stream is not good.
317         * testsuite/27_io/istream_sentry.cc (test02): Add test.
318         * testsuite/27_io/istream_manip.cc (test01): Modify.
320         libstdc++/1019
321         reported by Paolo Carlini <pcarlini@unitus.it>
322         * include/bits/istream.tcc (operator>>(istream&, string&)): Fix. 
323         * testsuite/21_strings/inserters_extractors.cc (test08): Add test.
325         libstdc++/1057
326         * include/bits/std_streambuf.h (setp): Set _M_buf_size correctly.
327         * include/bits/streambuf.tcc (xsputn): Remove outside if clause.
328         (xsgetn): Same. Simplify.
329         * testsuite/27_io/streambuf.cc (test04): Add testcases.
331         reported by Larry Evans <jcampbell3@prodigy.net> 
332         * include/bits/streambuf.tcc (streambuf::xsputn): Just check for
333         equality with eof on returned value from overflow.
335 2001-01-14  Andreas Jaeger  <aj@suse.de>
337         * libio/libio.h: Add test for glibc 2.0.
339 2001-01-12  Benjamin Kosnik  <bkoz@redhat.com>
341         * config/os/djgpp/bits/*: Fix dates.
343         * include/bits/basic_string.h (_S_find(const _CharT* __beg, const
344         _CharT* __end, _CharT __c): Remove.
345         * include/bits/basic_string.tcc: Substitute traits::find for _S_find.
346         * include/bits/char_traits.h: Tweak.
348 2001-01-12  Laurynas Biveinis  <lauras@softhome.net>
350         * acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): check for DJGPP <ctype.h>
351         (LIB_AC_PROG_CXX): replace [/\\] with [\\/] to work around older
352         bash bug.
353         * aclocal.m4: regenerated.
354         * configure.target: set os_include_dir to config/os/djgpp under DJGPP.
355         * configure: regenerated.
356         * config/os/djgpp, config/os/djgpp/bits: new directories.
357         * config/os/djgpp/bits/ctype_base.h,
358         config/os/djgpp/bits/ctype_inline.h,
359         config/os/djgpp/bits/ctype_noninline.h,
360         config/os/djgpp/bits/os_defines.h: new files.
362 2001-01-11   Joseph S. Myers  <jsm28@cam.ac.uk>
364         * include/c_std/bits/std_cstdio.h: Undef printf.
366 2001-01-10  Benjamin Kosnik  <bkoz@redhat.com>
368         * src/ios.cc: Fix typo: change cout->wcout.
370         * src/Makefile.am (targetincludep): Fix for version-specific-libs.
371         * src/Makefile.in: Regenerate.
373 2001-01-10  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
375          * include/bits/std_complex.h: Fix a typo.
377 2001-01-09  Benjamin Kosnik  <bkoz@redhat.com>
378                              <kainz@ilm.com>
380         Fixes for libstdc++/1576
381         * src/stdstreams.cc: Initialize with NULL filebuf. Delete
382         file, move contents into....
383         * src/ios.cc: ...Here. Put defines for iostreams objects and
384         initialization routines into one file to simplify DSO interaction.
385         * include/bits/std_iostream.h: Touch.
386         * include/bits/ios_base.h (_S_synched_with_stdio): Make static.
387         * src/Makefile.am (sources): Remove stdstreams.cc.
388         * src/Makefile.in: Regenerate.
390 2001-01-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
392         * tests_flags.in (check_directory): Fix typo.
394 2001-01-09  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
396          * include/bits/std_complex.h: Fix a typo.
398 2001-01-09  Loren J. Rittle  <ljrittle@acm.org>
400         * config/os/bsd/freebsd/bits/ctype_inline.h (is): (Make right
401         code path:) Remove magic constants and restructure to handle
402         ctype.h bit mask layout changes more gracefully.  (Make fast
403         code path:) Use __maskrune (), if available.
404         (is): Remove special case for digit and xdigit masks.
406 2001-01-09  Robert Lipe <robertlipe@usa.net>
408         * include/c_std/bits/std_ctime.h: Undefine difftime.
410 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
412         * src/gen-num-limits.cc (signal_adapter): New template function.
413         (signal_handler): Use it, instead of signal.
414         (traps<T>): Likewise.  Install SIGTRAP handler too.  Don't
415         require both tests to trap to set trap_flag.
417 2001-01-08  Benjamin Kosnik  <bkoz@redhat.com>
419         * include/bits/fpos.h (fpos:::fpos(streamoff __pos)): Explicitly
420         initialize mbstate_t member, name offset data members *off, not pos.
421         * include/bits/fstream.tcc (filebuf::filebuf): Same.
423 2001-01-08  Benjamin Kosnik  <bkoz@redhat.com>
425         reported by Chris G. Demetriou <cgd@sibyte.com>
426         * configure.in: Change -linux-* to -linux*.
427         * configure: Regenerate.
429 2001-01-05  Benjamin Kosnik  <bkoz@redhat.com>
431         Fix 27_io/filebuf_members.cc
432         * src/localename.cc (locale::_Impl::_Impl(const _Impl& __imp,
433         const string& __name, category __cat, size_t __refs): Set
434         _M_has_name with _M_name.
435         * include/bits/localefwd.h (locale::operator!=): Protect member
436         function call with this->.
437         * src/locale.cc (locale::operator==): Make fast checks first.
438         * include/bits/basic_ios.tcc (basic_ios::init): Simplify.
440         * include/bits/ios_base.h (_M_synced_with_stdio): Add data member
441         to ios_base::Init.
442         * src/ios.cc (ios_base::Init::Init): Initialize here.
443         (ios_base::sync_with_stdio): Set here.
445 2001-01-04  Loren J. Rittle  <ljrittle@acm.org>
447         * config/c_io_stdio.cc (__basic_file<_CharT>::sys_open()): On
448         systems that support it, call dup() before fdopen().
450 2001-01-03  Benjamin Kosnik  <bkoz@redhat.com>
452         * include/c_std/bits/std_cwctype.h: Include std_cwchar.h for wint_t.
453         * testsuite/17_intro/header_cwctype.cc (main): New file.
455         * src/Makefile.am (base_headers): Change.
456         * include/bits/std_string.h: And here.
457         * include/bits/string.tcc: Tweaks, move to...
458         * include/bits/basic_string.tcc: ...Here.
459         * src/string-inst.cc: Simplify, just instantiate the whole class,
460         not member-by-member.
462 2001-01-02  Benjamin Kosnik  <bkoz@redhat.com>
464         * acinclude.m4 (GLIBCPP_ENABLD_CSTDIO): Add in default value.
465         * aclocal.m4: Regenerate.
466         * configure: Regenerate.
468         * include/bits/c++config (__GLIBCPP__): Bump version number.
470         * ChangeLog: Start new log for year 2001
471         * ChangeLog-2000: New file.
473         * docs/html/configopts.html: Make sure default values are current,
474         add commentary.
476 2001-01-01  Benjamin Kosnik  <bkoz@fillmore.redhat.com>
478         * include/c_std/bits/std_cwchar.h: Same.
479         * testsuite/17_intro/header_cwchar.cc: Same.
480         * include/c_std/bits/std_ctime.h: Same.
481         * testsuite/17_intro/header_ctime.cc: Same.
482         * include/c_std/bits/std_cstdlib.h: Same.
483         Clean up undefs, make consistent with cwchar and cmath, etc.
484         * testsuite/17_intro/header_cstdlib.cc: Same.
485         * include/c_std/bits/std_cstdio.h: Same here.
486         * testsuite/17_intro/header_cstring.cc: Same.
487         * include/c_std/bits/std_cstring.h: Include std_cstddef.h for size_t.
488         * testsuite/17_intro/header_cstring.cc: New file. Check for
489         size_t in namespace std.
491         * include/c_std/bits/std_cwchar.h: Explicit checks for mbstate_t.
492         * acconfig.h (HAVE_MBSTATE_T): Add.
493         * config.h.in: Regenerate.
494         * acinclude.m4(GLIBCPP_CHECK_WCHAR_T_SUPPORT): Always test for
495         mbstate_t.
496         * aclocal.m4: Regenerate.
497         * configure: Regenerate.
498         * testsuite/17_intro/headers_c++.cc: New file.
499         * testsuite/17_intro/headers_c.cc: Small changes.
501 2001-01-01  David Billinghurst <David.Billinghurst@riotinto.com>
503         * tests_flags.in: Fix typo in usage.
505         * tests_flags.in: Set target specific LIBS for cygwin.