2017-12-07 Vladimir Makarov <vmakarov@redhat.com>
[official-gcc.git] / libstdc++-v3 / ChangeLog-2002
bloba7da86da75b0a78552d9e922198beacef8b1cee6
1 2002-12-30  Loren J. Rittle  <ljrittle@acm.org>
3         * src/Makefile.am: Resolve non-portable use of $<.
4         * src/Makefile.in: Rebuilt.
6 2002-12-30  Phil Edwards  <pme@gcc.gnu.org>
8         * configure.in (GLIBCPP_ENABLE_CXX_FLAGS):  Do not pass arguments,
9         let the defaults work.
10         * configure:  Regenerate.
12 2002-12-30  Phil Edwards  <pme@gcc.gnu.org>
14         * acinclude.m4:  Remove trailing whitespace.
15         (GLIBCPP_ENABLE_CXX_FLAGS):  Fix.
16         * aclocal.m4, configure:  Regenerate.
18 2002-12-29  Phil Edwards  <pme@gcc.gnu.org>
20         * include/std/std_bitset.h:  Better comments.
22 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
24         * docs/html/17_intro/porting.texi: Use @copying.
25         * docs/html/17_intro/porting.html: Regenerate.
27 2002-12-27  Mark Mitchell  <mark@codesourcery.com>
29         * config/locale/gnu/ctype_members.cc
30         (ctype<wchar_t>::_M_convert_to_wmask): Remove stray semicolon.
31         * config/locale/gnu/monetary_members.cc
32         (moneypunct<wchar_t, true>::_M_initialize_moneypunct): Avoid
33         defining classes in static_cast.
34         (moneypunct<wchar_t, false>::_M_initialize_moneypunct): Likewise.
35         * config/locale/gnu/numeric_members.cc
36         (numpunct<wchar_t, false>::_M_initialize_numpunct): Likewise.
37         * include/bits/stl_deque.h (operator-): Insert typename where
38         required.
39         * include/bits/stl_multiset.h (multiset): Remove stray semicolon.
40         * include/bits/stl_set.h (set): Likewise.
41         * include/bits/valarray_meta.h (bits/slice_array.h): Include it.
42         * include/std/std_fstream.h (basic_fstream::open): Use this-> to
43         avoid Koenig lookup.
44         (basic_fstream::close): Likewise.
45         * libsupc++/new (operator delete): Remove stray semicolon.
46         * libsupc++/new (operator delete[]): Likewise.
47         * libsupc++/tinfo.cc: Likewise.
48         * src/stdexcept.c (logic_error::~logic_error): Likewise.
49         (runtime_error::~runtime_error): Likewise.
51 2002-12-26  Phil Edwards  <pme@gcc.gnu.org>
53         * libsupc++/exception:  Add comment (mistakenly skipped).
55 2002-12-26  Phil Edwards  <pme@gcc.gnu.org>
57         * include/std/std_bitset.h (_Base_bitset::_M_do_left_shift,
58         _Base_bitset::_M_do_right_shift): Expect a non-zero shift.
59         (bitset::operator<<=, bitset::operator>>=):  When shifting more bits
60         than are in the bitset, zero memory rather than segfault.
61         (operator>>(basic_istream,bitset):  Only call setstate once, after
62         all work has been done.
64         * testsuite/23_containers/bitset_members.cc (test03):  New test.
65         * testsuite/23_containers/bitset_shift.cc (test02):  New test.
67 2002-12-26  Phil Edwards  <pme@gcc.gnu.org>
69         * libsupc++/vterminate.cc (writestr):  Use __builtin_strlen.
71 2002-12-26  Phil Edwards  <pme@gcc.gnu.org>
73         * libsupc++/eh_term_handler.cc:  Add comment about embedded systems.
74         * docs/html/debug.html:  Cosmetic and HTML changes.  Point to
75         verb-term notes.
76         * docs/html/documentation.html:  Link to the FAQ.
77         * docs/html/17_intro/howto.html:  Mention use of isatty(3).
78         * docs/html/19_diagnostics/howto.html:  Update verb-term description.
80 2002-12-25  Phil Edwards  <pme@gcc.gnu.org>
82         * src/vterminate.cc:  Move to...
83         * libsupc++/vterminate.cc:  ...here.  New file.  Replace fprintf with
84         writestr macro.  Slight reword to explanatory text.
85         * libsupc++/eh_terminate.cc (__cxxabiv1::__terminate_handler,
86         __cxxabiv1::__unexpected_handler):  Break definitions out to...
87         * libsupc++/eh_unex_handler.cc:  ...here (new file), and...
88         * libsupc++/eh_term_handler.cc:  ...here (new file).  Initialize
89         __terminate_handler with __gnu_cxx::__verbose_terminate_handler
90         instead of std::abort.
92         * libsupc++/Makefile.am (sources), src/Makefile.am (sources):  Update.
93         * libsupc++/Makefile.in, src/Makefile.in:  Regenerate.
95 2002-12-23  Danny Smith  <dannysmith@users.sourceforge.net>
97         * config/io/basic_file_stdio.cc (__basic_file::_M_open_mode):
98         Don't use O_NONBLOCK if it is not defined.
99         (__basic_file::open): Don't use fcntl either.
101 2002-12-20  Sylvain Pion   <Sylvain.Pion@mpi-sb.mpg.de>
103         * include/bits/stl_deque.h: Fix typo.
104         * include/bits/stl_list.h: Same.
105         * include/bits/stl_map.h: Same.
106         * include/bits/stl_multimap.h: Same.
107         * include/bits/stl_queue.h: Same.
108         * include/bits/stl_stack.h: Same.
109         * include/bits/stl_vector.h: Same.
111 2002-12-18  Benjamin Kosnik  <bkoz@redhat.com>
113         * docs/html/documentation.html: Add link for debug.html.
114         * docs/html/debug.html: New.
116 2002-12-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
118         * testsuite/23_containers/vector_capacity.cc (test03): Move ...
119         * testsuite/23_containers/vector_resize.cc: ...here as a new file.
120         Pass in -lmalloc for irix6.
121         * testsuite/27_io/ios_base_storage.cc: Pass in -lmalloc for irix6.
123 2002-12-18  Jason Merrill  <jason@redhat.com>
125         * src/vterminate.cc (__verbose_terminate_handler): Send
126         diagnostics to stderr.
128 2002-12-18  Ulrich Weigand  <uweigand@de.ibm.com>
130         * configure.in: Define with_target_subdir and with_build_subdir
131         variables in config-ml.in AC_OUTPUT call.
132         * configure: Regenerate.
134 2002-12-16  Paolo Carlini  <pcarlini@unitus.it>
136         PR libstdc++/8949
137         * include/std/std_limits.h
138         (struct numeric_limits<short>,
139         struct numeric_limits<unsigned short>,
140         struct numeric_limits<int>,
141         struct numeric_limits<unsigned int>,
142         struct numeric_limits<long>,
143         struct numeric_limits<unsigned long>,
144         struct numeric_limits<long long>,
145         struct numeric_limits<unsigned long long>): According
146         to 18.2.1.2,53 and 18.2.1.5,1 is_iec559 shall be false.
147         * testsuite/18_support/numeric_limits.cc: Add test04.
149 2002-12-16  Benjamin Kosnik  <bkoz@redhat.com>
151         * configure.in (GLIBCPP_ENABLE_DEBUG): Default to none.
152         Call GLIBCPP_ENABLE_DEBUG_FLAGS.
153         * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): GLIBCPP_BUILD_DEBUG, new
154         conditional if --enable-debug is yes. Rework.
155         (GLIBCPP_ENABLE_DEBUG_FLAGS): New.
156         * aclocal.m4: Regenerate.
157         * libio/Makefile.am: Remove DEBUG_FLAGS.
158         * libio/Makefile.in: Regenerate.
159         * libsupc++/Makefile.am: Remove DEBUG_FLAGS.
160         * libsupc++/Makefile.in: Regenerate.
161         * docs/html/configopts.html: Add docs for --enable-debug,
162         --enable-debug-flags.
164 2002-12-16  Benjamin Kosnik  <bkoz@redhat.com>
166         Correct dependency tracking, build warts.
167         * configure.in: Correct repeated AC_OUTPUT thrashing by
168         config-ml.in
169         * configure: Regenerate.
170         * include/Makefile.am (stamp-target): Stamp in top_builddir.
171         * include/Makefile.in: Regenerate.
172         * src/Makefile.am (codecvt_members.cc): New rule.
173         (collate_members.cc): Same.
174         (ctype_members.cc): Same.
175         (messages_members.cc): Same.
176         (monetary_members.cc): Same.
177         (numeric_members.cc): Same.
178         (time_members.cc): Same.
179         (c++locale.cc): Same.
180         (basic_file.cc): Same.
181         * src/Makefile.in: Regenerate.
182         * acinclude.m4 (CCTYPE_CHAR_CC): Remove.
183         (CCCODECVT_CC): Don't link, AC_SUBST.
184         (CCOLLATE_CC): Same.
185         (CCTYPE_CC): Same.
186         (CMESSAGES_CC): Same.
187         (CMONEY_CC): Same.
188         (CNUMERIC_CC): Same.
189         (CTIME_CC): Same.
190         (CLOCALE_CC): Same.
191         * aclocal.m4: Regenerate.
193         * src/Makefile.am (libstdc___la_LIBADD): Use top_builddir
194         for convenience libraries.
195         (version_arg): Rename linker.map to libstdc++.ver.
196         (libstdc___la_DEPENDENCIES): Remove linker.map, add
197         libstdc++-symbol.ver as a dependency.
198         (libstdc++-symbol.ver): Add rule.
199         * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Change LINKER_MAP to
200         SYMVER_MAP. Don't link, AC_SUBST.
202         * include/Makefile.am (target_headers_noinst): New.
203         (stamp-target): Add CLOCALE_INTERNAL_H.
204         * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Don't link
205         CLOCALE_INTERNAL_H, AC_SUBST.
206         * config/locale/gnu/c_locale.cc: Modify c++locale_internal.h
207         include.
208         * config/locale/gnu/time_members.cc: Same.
209         * config/locale/gnu/numeric_members.cc: Same.
210         * config/locale/gnu/monetary_members.cc: Same.
211         * config/locale/gnu/messages_members.cc: Same.
212         * config/locale/gnu/ctype_members.cc: Same.
213         * config/locale/gnu/collate_members.cc: Same.
214         * config/locale/gnu/codecvt_members.cc: Same.
215         * config/locale/generic/codecvt_members.cc: Remove.
217 2002-12-11  Paolo Carlini  <pcarlini@unitus.it>
219         PR libstdc++/8887
220         * config/locale/generic/time_members.cc
221         (__timepunct<char>::_M_initialize_timepunct): Fix typos
222         in _M_date_format and _M_date_era_format string literals.
224 2002-12-10  Mark Mitchell  <mark@codesourcery.com>
226         * libsupc++/cxxabi.h (__cxa_bad_cast): Declare it.
227         (__cxa_bad_typeid): Likewise.
228         (__cxa_atexit): Likewise.
229         (__cxa_finalize): Likewise.
231 2002-12-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
233         * include/bits/slice_array.h (slice_array<>::operator=): Fix typo.
235 2002-12-09  Mark Mitchell  <mark@codesourcery.com>
237         * libsupc++/cxxabi.h (__cxa_pure_virtual): Declare it.
239 2002-12-05  Benjamin Kosnik  <bkoz@redhat.com>
241         * testsuite/abi_check.cc: Add GLIBCPP_3.2.2.
243 2002-12-04  Paolo Carlini  <pcarlini@unitus.it>
245         * config/locale/generic/codecvt_members.cc (codecvt::do_out
246         (state_type&, const intern_type*, const intern_type*,
247         const intern_type*&, extern_type*, extern_type*, extern_type*&),
248         codecvt::do_in(state_type&, const extern_type*, const extern_type*,
249         const extern_type*&, intern_type*, intern_type*, intern_type*&)):
250         Fully qualify min() with std::.
251         * config/locale/gnu/codecvt_members.cc: Ditto.
252         * locale/ieee_1003.1-2001/codecvt_specializations.h
253         (codecvt::do_length(const state_type&, const extern_type*,
254         const extern_type*, size_t): Ditto.
255         * include/bits/deque.tcc
256         (_M_range_initialize(_ForwardIterator, _ForwardIterator,
257         forward_iterator_tag), deque::_M_range_insert_aux(iterator,
258         _ForwardIterator, _ForwardIterator, forward_iterator_tag),
259         deque::_M_reallocate_map(size_type, bool)): Fully qualify
260         distance() and max() with std::.
261         * include/bits/fstream.tcc (basic_filebuf::seekoff(off_type,
262         ios_base::seekdir, ios_base::openmode)): Fully qualify max()
263         with std::.
264         * include/bits/istream.tcc (basic_istream::ignore(streamsize,
265         int_type), basic_istream::readsome(char_type*, streamsize)):
266         Fully qualify min() with std::.
267         * include/bits/locale_facets.tcc (time_get::_M_extract_name
268         (iter_type&, iter_type&, int&, const _CharT**, size_t,
269         ios_base::iostate&)): Ditto.
270         * include/bits/sstream.tcc (basic_stringbuf::overflow(int_type)):
271         Fully qualify max() with std::.
272         * include/bits/stl_algo.h (__inplace_stable_partition(_ForwardIter
273         __first, _ForwardIter, _Predicate, _Distance),
274         __stable_partition_adaptive(_ForwardIter, _ForwardIter, _Predicate,
275         _Distance, _Pointer, _Distance), __merge_sort_loop(_RandomAccessIter1,
276         _RandomAccessIter1, _RandomAccessIter2, _Distance),
277         __merge_sort_loop(_RandomAccessIter1, _RandomAccessIter1,
278         _RandomAccessIter2, _Distance, _Compare), lower_bound(_ForwardIter,
279         _ForwardIter, const _Tp&), lower_bound(_ForwardIter, _ForwardIter,
280         const _Tp&, _Compare), upper_bound(_ForwardIter, _ForwardIter,
281         const _Tp&), upper_bound(_ForwardIter, _ForwardIter, const _Tp&,
282         _Compare), equal_range(_ForwardIter, _ForwardIter, const _Tp&),
283         equal_range(_ForwardIter, _ForwardIter, const _Tp&, _Compare),
284         __merge_without_buffer(_BidirectionalIter, _BidirectionalIter,
285         _BidirectionalIter, _Distance, _Distance), __merge_without_buffer
286         (_BidirectionalIter, _BidirectionalIter, _BidirectionalIter,
287         _Distance, _Distance, _Compare), __rotate_adaptive(_BidirectionalIter1,
288         _BidirectionalIter1, _BidirectionalIter1, _Distance, _Distance,
289         _BidirectionalIter2, _Distance), __merge_adaptive(_BidirectionalIter,
290         _BidirectionalIter, _BidirectionalIter, _Distance, _Distance,
291         _Pointer, _Distance), __merge_adaptive(_BidirectionalIter,
292         _BidirectionalIter, _BidirectionalIter, _Distance, _Distance,
293         _Pointer, _Distance, _Compare), inplace_merge(_BidirectionalIter,
294         _BidirectionalIter, _BidirectionalIter), inplace_merge
295         (_BidirectionalIter, _BidirectionalIter, _BidirectionalIter,
296         _Compare), __find_end(_BidirectionalIter1, _BidirectionalIter1,
297         _BidirectionalIter2, _BidirectionalIter2, bidirectional_iterator_tag,
298         bidirectional_iterator_tag), __find_end(_BidirectionalIter1,
299         _BidirectionalIter1, _BidirectionalIter2, _BidirectionalIter2,
300         bidirectional_iterator_tag, bidirectional_iterator_tag,
301         _BinaryPredicate)): Fully qualify distance() and min() with std::.
302         * include/bits/stl_algobase.h (lexicographical_compare
303         (const unsigned char*, const unsigned char*, const unsigned char*,
304         const unsigned char*)): Fully qualify min() with std::.
305         * include/bits/stl_bvector.h (_M_insert_range(iterator,
306         _ForwardIterator, _ForwardIterator, forward_iterator_tag),
307         _M_assign_aux(_ForwardIterator, _ForwardIterator,
308         forward_iterator_tag),
309         _M_initialize_range(_ForwardIterator, _ForwardIterator,
310         forward_iterator_tag), _M_fill_insert(iterator, size_type, bool)):
311         Fully qualify distance() and max() with std::.
312         * include/bits/stl_deque.h
313         (_Deque_base::_M_initialize_map(size_t),
314         _M_assign_aux(_ForwardIterator, _ForwardIterator,
315         forward_iterator_tag)):
316         Ditto.  * include/bits/stl_list.h (size()): Fully qualify
317         distance() with std::.
318         * include/bits/stl_tempbuf.h (_Temporary_buffer::_Temporary_buffer
319         (_ForwardIterator, _ForwardIterator)): Ditto.
320         * include/bits/stl_tree.h (_Rb_tree::erase(const _Key&),
321         _Rb_tree::count(const _Key&)): Ditto.
322         * include/bits/stl_vector.h (_M_range_initialize(_ForwardIterator,
323         _ForwardIterator, forward_iterator_tag)): Ditto.
324         * include/bits/streambuf.tcc (basic_streambuf::xsgetn(char_type*,
325         streamsize), basic_streambuf::xsputn(const char_type*, streamsize)):
326         Fully qualify min() with std::.
327         * include/bits/vector.tcc (_M_assign_aux(_ForwardIter, _ForwardIter,
328         forward_iterator_tag), _M_fill_insert(iterator, size_type,
329         const value_type&), _M_range_insert(iterator, _ForwardIterator,
330         _ForwardIterator, forward_iterator_tag)): Fully qualify max() and
331         distance() with std::.
332         * include/std/std_bitset.h (bitset::_M_copy_from_string
333         (const basic_string&, size_t, size_t)): Fully qualify min() with std::.
334         * include/std/std_streambuf.h (_M_pback_create()): Ditto.
335         * include/std/std_complex.h (abs(const complex<_Tp>&)):
336         Fully qualify max() with std::.
337         * include/std/std_sstream.h (str()): Ditto.
338         * src/codecvt.cc (codecvt::do_out(state_type&, const intern_type*,
339         const intern_type*, const intern_type*&, extern_type*, extern_type*,
340          extern_type*&), codecvt::do_in(state_type&, const extern_type*,
341         const extern_type*, const extern_type*&, intern_type*, intern_type*,
342         intern_type*&), codecvt::do_length(const state_type&,
343         const extern_type*, const extern_type*, size_t), do_length
344         (const state_type&, const extern_type*, const extern_type*,
345         size_t)): Fully qualify min() with std::.
346         * src/strstream.cc (strstreambuf::strstreambuf(streamsize),
347         strstreambuf::overflow(int_type)): Fully qualify max() with std::.
349 2002-12-02  Paolo Carlini  <pcarlini@unitus.it>
351         * include/bits/basic_string.h (compare(const basic_string&)):
352         Fully qualify min() with std::.
354 2002-12-02  Benjamin Kosnik  <bkoz@redhat.com>
356         * configure.in (libtool_VERSION): Update to 5:2:0.
357         * configure: Regenerate.
359 2002-12-02  Paolo Carlini  <pcarlini@unitus.it>
361         * include/bits/basic_string.tcc
362         (basic_string::append(const basic_string&, size_type,
363         size_type), basic_string::compare(size_type, size_type,
364         const basic_string&), basic_string::compare(size_type,
365         size_type, const basic_string&, size_type, size_type),
366         basic_string::compare(const _CharT*), basic_string::
367         compare(size_type, size_type, const _CharT*),
368         basic_string::compare(size_type, size_type, const _CharT*,
369         size_type), _S_string_copy(const basic_string&, _CharT*,
370         typename _Alloc::size_type)): Fully qualify min() with std::.
372 2002-12-02  Paolo Carlini  <pcarlini@unitus.it>
374         * include/bits/basic_string.tcc
375         (basic_string::_S_construct(_InIter, _InIter, const _Alloc&,
376         forward_iterator_tag)): Delay the declaration of __dnew,
377         fully qualify distance() with std::.
378         (basic_string::_M_replace_safe): Fully qualify distance()
379         with std::.
381 2002-11-28  Phil Edwards  <pme@gcc.gnu.org>
383         PR libstdc++/8716
384         * testsuite/21_strings/ctor_copy_dtor.cc (test05):  Also test
385         the NULL-pointer, zero-size case.
387 2002-11-28  Jonathan Wakely  <redi@gcc.gnu.org>
389         * docs/html/faq/index.html: Add tip about a namespace for extensions.
391 2002-11-28  Paolo Carlini  <pcarlini@unitus.it>
392             Nathan Myers  <ncm@cantrip.org>
394         * src/localename.cc
395         (locale::_Impl::_Impl(const char*, size_t)):
396         Improve previous fix for the strtok vs MT issue.
398 2002-11-28  Paolo Carlini  <pcarlini@unitus.it>
400         * config/locale/gnu/c_locale.cc (locale::_S_categories):
401         Reorder the categories to match that of glibc's setlocale(LC_ALL, ""))
402         * config/locale/generic/c_locale.cc (locale::_S_categories): Ditto.
403         * testsuite/22_locale/ctor_copy_dtor.cc (test04): Tweak.
405 2002-11-25  Benjamin Kosnik  <bkoz@redhat.com>
407         * testsuite/abi_check.cc: Add CXXABI_1.2.1 as compatible.
408         * config/linker-map.gnu: Version __cxa_guard_acquire,
409         __cxa_guard_release, __cxa_guard_abort in CXXABI_1.2.1.
411 2002-11-25  Paolo Carlini  <pcarlini@unitus.it>
412             Nathan Myers  <ncm@cantrip.org>
414         * src/localename.cc
415         (locale::_Impl::_Impl(const char*, size_t)):
416         Avoid strtok for thread safety.
418 2002-11-25  Stephen M. Webb  <stephen@bregmasoft.com>
420         * testsuite/testsuite_allocator.h: New file.
421         * testsuite/testsuite_allocator.cc: New file.
422         * testsuite/Makefile.am: Added testsuite_allocator to test library.
423         * testsuite/testsuite_hooks.h: Added more detailed tracker objects
424         gnu_copy_constructor, gnu_assignment_operator, and gnu_destructor.
425         * testsuite/testsuite_hooks.cc: Added new static objects definitions.
426         * testsuite/23_containers/vector_capacity.cc: Added reserve() tests.
427         * testsuite/23_containers/vector_ctor.cc: Added a plethora of tests.
428         * testsuite/23_containers/deque_ctor.cc: Added a slew of new tests.
430 2002-11-25  Mark Mitchell  <mark@codesourcery.com>
432         * libsupc++/Makefile.am (sources): Add guard.cc.
433         * libsupc++/Makefile.in: Regenerated.
434         * libsupc++/cxxabi.h (__cxa_guard_acquire): New function.
435         (__cxa_guard_release): Likewise.
436         (__cxa_guard_abort): Likewise.
437         * libsupc++/guard.cc: New file.
439 2002-11-25  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
441         * include/std/std_complex.h
442         (operator<<(basic_ostream&, const complex&)): Prefer 'x'
443         to "x" for efficiency sake.
444         * src/locale.cc (locale::locale(const char*)): Ditto.
446 2002-11-24  Paolo Carlini  <pcarlini@unitus.it>
448         * src/locale.cc (locale::locale(const char*)):
449         Trivial cosmetic tweaks.
451 2002-11-22  Laszlo Ersek  <erseklaszlo@chello.hu>
452             Paolo Carlini  <pcarlini@unitus.it>
454         PR libstdc++/8645
455         * include/bits/stl_tree.h (_Rb_tree_rebalance_for_erase):
456         Don't check that __w->_M_left != 0 and __w->_M_right != 0
457         when they can't be otherwise.
459 2002-11-21  Phil Edwards  <pme@gcc.gnu.org>
461         * docs/html/documentation.html:  Fix broken/thinko'd URL.
463 2002-11-21  Phil Edwards  <pme@gcc.gnu.org>
465         * docs/doxygen/run_doxygen:  Tighter search expression for sed.
466         * docs/doxygen/stdheader.cc:  Handle the case of good headers.
468 2002-11-21  Phil Edwards  <pme@gcc.gnu.org>
470         * acinclude.m4:  Uniform formatting.
471         * configure.in:  Warn when generic atomicity.h is used.
472         * configure.target:  Fix comment.
473         * aclocal.m4, configure:  Regenerate.
475 2002-11-21  Phil Edwards  <pme@gcc.gnu.org>
477         * include/bits/streambuf.tcc (basic_streambuf::sputbackc):  Prefix
478         "this->" to call to pbackfail.
480 2002-11-21  Phil Edwards  <pme@gcc.gnu.org>
482         * docs/doxygen/style.css:  Update.
483         * docs/doxygen/user.cfg.in:  Update.
484         * docs/html/documentation.html:  Regenerate.
485         * docs/html/17_intro/howto.html:  Tweak I/O sentry entry.
486         * docs/html/27_io/howto.html:  New section on headers.
487         * docs/html/faq/index.html:  Add i386 threading entry.
488         * docs/html/faq/index.txt:  Regenerate.
490         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
491         Import R23.
493 2002-11-21  Phil Edwards  <pme@gcc.gnu.org>
495         * docs/doxygen/TODO:  Note change in clause 27 docs.
496         * include/bits/basic_ios.h, include/bits/fpos.h,
497         include/bits/ios_base.h, include/bits/stl_deque.h,
498         include/bits/stl_iterator_base_types.h, include/std/std_fstream.h,
499         include/std/std_iomanip.h, include/std/std_iosfwd.h,
500         include/std/std_iostream.h, include/std/std_istream.h,
501         include/std/std_ostream.h, include/std/std_sstream.h,
502         include/std/std_streambuf.h:  Doxygenate all I/O entities.
504 2002-11-20  Benjamin Kosnik  <bkoz@redhat.com>
505             Jonathan Lennox  <lennox@cs.columbia.edu>
507         * include/bits/streambuf.tcc (__copy_streambufs):
508         Revert previous fix for the interactive half of
509         libstdc++/6745, use _M_buf_size_opt to set dynamically
510         the correct buffer size.
512 2002-11-20  Jonathan Wakely  <redi@gcc.gnu.org>
514         * docs/html/21_strings/howto.html: Fix example code, cite Gaby's
515         explanation of "<unknown type>" error with toupper/tolower.
516         * docs/html/22_locale/howto.html: Be more consistent with
517         example in 21_strings.
519 2002-11-19  John Gustafsson  <forgoil@rsn.bth.se>
521         * docs/html/20_util/howto.html: Fix typo.
523 2002-11-18  Jonathan Lennox  <lennox@cs.columbia.edu>
525         * include/bits/streambuf.tcc (__copy_streambufs): verify
526         __sbin->gptr() + __bufsize < __sbin->egptr() before using.
527         * testsuite/27_io/ostream_inserter_other.cc (test_buffer_4): Add.
528         (test05): Use test_buffer_4.  Delete unused ostringstream
529         variables.
531 2002-11-18  Paolo Carlini  <pcarlini@unitus.it>
533         PR libstdc++/6745 (continued)
534         * include/bits/streambuf.tcc (__copy_streambufs):
535         Deal with interactive input by using isatty as in the
536         fix for libstdc++/8399.
538 2002-11-17  Jakub Jelinek  <jakub@redhat.com>
540         * config/linker-map.gnu: Export _S_construct even if size_t is
541         unsigned long.  Collapse std::codecvt<char>::codecvt(size_t)
542         and std::codecvt<wchar_t>::codecvt(size_t) into one export pattern.
544 2002-11-15  Benjamin Kosnik  <bkoz@redhat.com>
545             Gabriel Dos Reis  <gdr@integrable-solutions.net>
547         PR libstdc++/8230
548         * include/bits/stl_alloc.h: Use builtin_expect for the most
549         obvious limit checks.
550         (__default_alloc_template::allocate): Check for null, throw
551         bad_alloc.
552         * include/bits/vector.tcc: Formatting tweaks.
553         * include/bits/stl_vector.h: Same.
554         * testsuite/20_util/allocator_members.cc (test02): Add.
555         * testsuite/23_containers/vector_capacity.cc (test03): Add.
557 2002-11-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
559         * src/ios.cc [_GLIBCPP_HAVE_UNISTD_H]: Include unistd.h.
561 2002-11-15  Paolo Carlini  <pcarlini@unitus.it>
562             Loren J. Rittle  <ljrittle@acm.org>
564         PR libstdc++/8399
565         * acinclude.m4
566         (GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1): New macro to
567         check for unistd.h functions.
568         (GLIBCPP_CHECK_UNISTD_SUPPORT): New macro, check for isatty
569         in unistd.h.
570         * configure.in: Call here.
571         * src/ios.cc (ios_base::Init::_S_ios_create(bool)):
572         Use _GLIBCPP_HAVE_ISATTY: ifdef, in case of interactive
573         input __in_size = 1 even when sync_with_stdio is false;
574         otherwise fall back to __in_size = 1.
575         * aclocal.m4: Regenerate.
576         * config.h.in: Regenerate.
577         * configure: Regenerate.
579 2002-11-13  Benjamin Kosnik  <bkoz@redhat.com>
581         * acconfig.h (HAVE_DRAND48): Add.
582         (HAVE_GETPAGESIZE): Add.
583         (HAVE_SETENV): Add.
584         (HAVE_SIGSETJMP): Add.
585         * config.h.in: Regenerate.
586         * configure: Regenerate.
588 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
590         * config/os/hpux/os_defines.h (_GLIBCPP_INST_ATOMICITY_LOCK): Define
591         on hppa when there is no weak support.
593 2002-11-13  Benjamin Kosnik  <bkoz@redhat.com>
595         PR libstdc++/8230
596         * include/bits/vector.tcc (vector::reserve): Throw length_error if
597         requested size is bigger than max_size().
598         * include/bits/stl_bvector.h (vector<bool>::reserve): Same.
599         * testsuite/23_containers/vector_capacity.cc (test02): Add.
601 2002-11-13  Benjamin Kosnik  <bkoz@redhat.com>
603         * config/linker-map.gnu: Export all _S_construct.
605 2002-11-13  Loren J. Rittle  <ljrittle@acm.org>
607         PR libstdc++/7445
608         * src/locale.cc (std::locale::classic()): Weaken locking protocol.
610 2002-11-13  Jonathan Wakely  <redi@gcc.gnu.org>
612         * docs/html/install.html, docs/html/22_locale/locale.html: HTML fix.
614 2002-11-11  Benjamin Kosnik  <bkoz@redhat.com>
616         PR libstdc++/6746
617         * include/bits/fstream.tcc (filebuf::open): Set input pointers.
618         * config/io/basic_file_stdio.cc (__basic_file::_M_open_mode): Set
619         __p_mode as well.
620         (__basic_file::open): Set to non-block for input.
621         * testsuite/27_io/istream_unformatted.cc (test12): Add.
622         (test13): Same.
624 2002-11-11  Jonathan Wakely <redi@gcc.gnu.org>
626         * docs/html/17_intro/howto.html: Make "chapter 22 notes" a link.
627         * docs/html/faq/index.html: Mention that GCC ships with a newer
628         version of the library than the last snapshot. Make "see below" a
629         link. Add missing <html> tag.
630         * docs/html/faq/index.txt: Regenerate.
631         * docs/html/22_locale/locale.html, docs/html/22_locale/messages.html,
632         docs/html/23_containers/howto.html, docs/html/24_iterators/howto.html,
633         docs/html/25_algorithms/howto.html, docs/html/26_numerics/howto.html,
634         docs/html/27_io/howto.html, docs/html/ext/howto.html,
635         docs/html/ext/sgiexts.html: Add missing <html> tag.
637 2002-11-07  Phil Edwards  <pme@gcc.gnu.org>
638             Richard Earnshaw  <rearnsha@arm.com>
640         * config/cpu/generic/atomicity.h:  Provide atomic __exchange_and_add
641         and __atomic_add.
643 2002-11-08  Paolo Carlini  <pcarlini@unitus.it>
645         * config/locale/gnu/monetary_members.cc
646         (moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
647         const char*),
648         moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
649         const char*)): Tweak parameters for glibc2.3 systems, thus
650         avoiding unused parameter warnings.
652 2002-11-05  Jonathan Wakely  <cow@compsoc.man.ac.uk>
654         * include/std/std_sstream.h
655         (basic_stringbuf::str(const __string_type&)):
656         Prefer data() to c_str(), thus avoiding assigning the
657         unnecessary NULL-terminator.
659 2002-11-05  Benjamin Kosnik  <bkoz@redhat.com>
661         PR libstdc++/8258
662         * include/bits/istream.tcc (istream::readsome): Don't set eofbit
663         for null buffer.
664         (istream::operator>>(_CharT*)): Use traits_type.
665         (istream::ws): Same.
666         (istream::operator>>(string)): Same.
667         * testsuite/27_io/istream_unformatted.cc (test11): Add.
669 2002-11-05  Paolo Carlini  <pcarlini@unitus.it>
671         PR libstdc++/8466
672         * include/std/std_sstream.h
673         (basic_stringbuf::str(const __string_type&)):
674         Cannot use simple assignment since the COW-nature of v3
675         basic_string is not taken into account in basic_stringbuf.
676         * testsuite/27_io/stringstream_members.cc: Add test04 from PR.
678 2002-11-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
680         * configure.target (hppa*): Define cpu_include_dir.
681         * config/os/hpux/os_defines.h (_GLIBCPP_INST_ATOMICITY_LOCK): Define.
682         * src/misc-inst.cc: Instantiate atomicity lock when
683         _GLIBCPP_INST_ATOMICITY_LOCK is defined.
684         * config/cpu/hppa/atomicity.h: New file.
686 2002-11-05  Benjamin Kosnik  <bkoz@redhat.com>
688         PR libstdc++/8463
689         * include/bits/ios_base.h (~ios_base): Make virtual.
691 2002-11-04  Benjamin Kosnik  <bkoz@redhat.com>
693         * config/linker-map.gnu: Export string operator+.
694         Export __default_alloc_template::_S_force_new.
695         * testsuite/abi_check.cc: Output tweaks.
697 2002-11-01  Benjamin Kosnik  <bkoz@redhat.com>
699         PR libstdc++/8172
700         * src/string-inst.cc: Add instantiation.
702 2002-11-01  Benjamin Kosnik  <bkoz@redhat.com>
704         PR libstdc++/7926
705         * configure.target: Simplify.
706         * config/cpu/i386/atomicity.h: Remove.
707         * config/cpu/i386: Remove.
708         * config/cpu/arm/atomicity.h: Remove.
709         * config/cpu/arm: Remove.
710         * config/cpu/x86-64/atomicity.h: Remove.
711         * config/cpu/x86-64: Remove.
713 2002-11-01  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
715         PR libstdc++/8197
716         * config/link-map.gnu: Export math stubbs.
718 2002-11-01  Benjamin Kosnik  <bkoz@redhat.com>
720         PR libstdc++/8318
721         * include/std/std_iostream.h: Tweak.
722         * include/std/std_iosfwd.h: Add _GLIBCPP_USE_WCHAR_T.
723         * include/std/std_iomanip.h: Same.
724         * include/bits/stringfwd.h: Same.
725         * include/bits/basic_string.tcc: Same.
726         * include/bits/sstream.tcc: Same.
727         * include/bits/fstream.tcc: Same.
728         * include/bits/basic_ios.tcc: Same.
729         * include/bits/streambuf.tcc: Same.
730         * include/bits/locale_facets.tcc: Same.
732 2002-11-01  John Carter  <john.carter@tait.co.nz>
734         PR libstdc++/7961
735         * include/bits/basic_string.tcc
736         (compare(const _CharT* __s)): Don't access __s past its length.
738 2002-10-31  Zack Weinberg  <zack@codesourcery.com>
740         * libsupc++/eh_globals.cc: Don't call __gthread_key_dtor.
742 2002-10-31  Benjamin Kosnik  <bkoz@redhat.com>
744         PR libstdc++/8348
745         * include/bits/istream.tcc (istream::tellg): Remove sentry bits.
746         (istream::seekg): Same.
747         * testsuite/27_io/istream_seeks.cc (test06): New.
749 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
751         * testsuite/thread/pthread5.cc: Include <unistd.h>
752         if _GLIBCPP_HAVE_UNISTD_H is defined.
753         (main): Only use pthread_attr_setscope if
754         _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
756 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
758         * testsuite/thread/pthread1.cc: Enable on *-*-netbsd*.
759         * testsuite/thread/pthread2.cc: Likewise.
760         * testsuite/thread/pthread3.cc: Likewise.
761         * testsuite/thread/pthread4.cc: Likewise.
762         * testsuite/thread/pthread5.cc: Likewise.
763         * testsuite/thread/pthread6.cc: Likewise.
765 2002-10-27  Paolo Carlini  <pcarlini@unitus.it>
767         PR libstdc++/8347
768         * include/bits/basic_string.tcc
769         (string::_S_construct(_InIter, _InIter, const _Alloc&,
770         forward_iterator_tag)): Do not throw logic error if
771         __beg == NULL && __end == __beg.
772         (string::string(const _CharT*, const _Alloc&)): Tweak.
773         * testsuite/21_strings/ctor_copy_dtor.cc: Add test05 from PR.
775 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
777         PR other/3337
778         PR bootstrap/6763
779         PR bootstrap/8122
780         * testsuite/testsuite_hooks.cc (__set_testsuite_memlimit): Use
781         __typeof__ (r.rlim_cur), not rlim_t in declaration of limit.
783 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
785         * testsuite/22_locale/num_put_members_char.cc (test01): Swap size
786         and decimal_point arguments of find.
787         * testsuite/22_locale/num_put_members_wchar_t.cc (test01): Likewise.
789 2002-10-22  Jakub Jelinek  <jakub@redhat.com>
791         * Makefile.am (check-abi, new-abi-baseline): Use @glibcpp_srcdir@
792         instead of ${top_srcdir}.
793         * Makefile.in: Rebuilt.
795 2002-10-22  Loren J. Rittle  <ljrittle@acm.org>
797         * testsuite/18_support/numeric_limits.cc (test_extrema<long double>):
798         Remove specialization for FreeBSD systems.
800 2002-10-18  Loren J. Rittle  <ljrittle@acm.org>
802         * configure.target (freebsd*): Use abi_baseline_triplet.
803         * config/abi/i386-unknown-freebsd4/baseline_symbols.txt: New file.
804         * config/abi/i386-unknown-freebsd4.7/baseline_symbols.txt: Remove.
806         * testsuite/thread/pthread1.cc: Remove needless workaround
807         for FreeBSD 5.
809 2002-10-18  Loren J. Rittle  <ljrittle@acm.org>
810             Brad Spencer  <spencer@infointeractive.com>
811             (provided alternate patch and improvements)
813         * docs/html/23_containers/howto.html (GLIBCPP_FORCE_NEW): Document
814         new environment variable which replaces all uses of __USE_MALLOC
815         macro.
816         * docs/html/ext/howto.html (GLIBCPP_FORCE_NEW): Likewise.
817         (__mem_interface): Remove all references to old internal typedef.
818         * include/backward/alloc.h (__USE_MALLOC): Remove it and all
819         guarded code.
820         * include/bits/c++config (__USE_MALLOC): Update related error
821         message and comment.
822         * include/bits/stl_alloc.h (__USE_MALLOC): Remove it and all
823         guarded code.  Update all related comments.
824         (__mem_interface): Unconditionally replace it with __new_alloc.
825         However, leave the typedef around in case anyone used it.
826         (__default_alloc_template<>::_S_force_new): New class static.
827         (__default_alloc_template<>::allocate, deallocate): Add
828         run-time controlled feature similar to what __USE_MALLOC code
829         path had provided.
830         * src/stl-inst.cc (__USE_MALLOC): Remove it and all
831         guarded code.
832         * testsuite/21_strings/capacity.cc: Remove reference to __USE_MALLOC.
833         Add documentation on GLIBCPP_FORCE_NEW environment variable.
834         * testsuite/ext/allocators.cc: Likewise.
836 2002-10-18  Phil Edwards  <pme@gcc.gnu.org>
838         * configure.in:  Use target, not target_alias, when matching triplet
839         patterns.
840         * configure:  Regenerate.
842 2002-10-17  Momchil Velikov  <velco@fadata.bg>
843             Loren J. Rittle  <ljrittle@acm.org>
845         * configure.in: Add *-freebsd* to cross list.
846         * configure: Rebuilt.
848 2002-10-16  Benjamin Kosnik  <bkoz@redhat.com>
850         * include/bits/locale_facets.h (__timepunct::__timepunct): Allocate
851         _M_name_timepunct.
852         (__timepunct::~__timepunct): Deallocate, remove specialization
853         declarations.
854         (messages::messages): Allocate _M_name_messages.
855         (messages::~messages): Deallocate.
856         (messages_byname): Same.
857         * config/locale/gnu/time_members.cc (__timepunct::~__timepunct):
858         Remove.
859         * config/locale/generic/time_members.cc (__timepunct::~__timepunct):
860         Remove.
862         * docs/html/install.html: Add es_MX, en_PH to required locales list.
864 2002-10-16  Benjamin Kosnik  <bkoz@redhat.com>
866         * config/linker-map.gnu: Add exports for codecvt constructors
867         where size_t == unsigned long.
869 2002-10-14  Benjamin Kosnik  <bkoz@redhat.com>
871         * src/globals.cc (__gnu_cxx::c_locale_impl_compat): Add, alias to
872         c_locale_impl.
873         * testsuite/abi_check.cc (line_to_symbol_info): Collect size info.
874         * docs/html/abi.txt: Update.
876 2002-10-14  Benjamin Kosnik  <bkoz@redhat.com>
878         * testsuite/22_locale/static_members.cc (test02): Less provincial.
880 2002-10-14  Benjamin Kosnik  <bkoz@redhat.com>
882         * testsuite/22_locale/static_members.cc (test02): Disable for
883         systems without named locale support.
884         * testsuite/22_locale/ctor_copy_dtor.cc (test04): Don't assume
885         running the testsuites in "C" environment.
886         Add new tests.
887         * docs/html/22_locale/locale.html: Update.
889 2002-10-13  Danny Smith  <dannysmith@users.sourceforge.net>
891         * include/bits/stl_threads.h (_GLIBCPP_mutex,
892         _GLIBCPP_mutex_init,_GLIBCPP_mutex_address,
893         _GLIBCPP_mutex_address_init, _GLIBCPP_once):
894         Declare in namespace __gnu_cxx.
895         (_STL_mutex_lock::_M_initialize): Qualify __gnu_cxx
896         names.
897         Adjust copyright.
899 2002-10-12  Benjamin Kosnik  <bkoz@redhat.com>
901         * testsuite/abi_check.cc (hash<string>): Specialize.
902         Simplify. Check compatible symbol versions.
903         * config/linker-map.gnu: Clarify, explicitly export
904         std::codecvt::c* symbols.
906         * testsuite/22_locale/static_members.cc (test02): Avoid null strings.
908 2002-10-12  Jonathan Wakely  <jw@kayari.org>
909             Gabriel Dos Reis  <gdr@integrable-solutions.net>
911         * docs/html/21_strings/howto.html#5:  Correct nasting of XHTML
912         elements.  Correct allocator-related text.
914 2002-10-11  Benjamin Kosnik  <bkoz@redhat.com>
916         * testsuite/22_locale/static_members.cc (test02): Fix.
918 2002-10-11  Benjamin Kosnik  <bkoz@redhat.com>
920         * acconfig.h (_GLIBCPP_SYMVER): Add.
921         (_GLIBCPP_ASM_SYMVER): Add.
922         * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Define _GLIBCPP_SYMVER.
923         * aclocal.m4: Regenerate.
924         * config.h.in: Regenerate.
925         * configure: Regenerate.
926         * include/bits/c++config (_GLIBCPP_AT_AT): Define, as an expedient
927         hack around m4 issues with quoting '@'.
928         * src/locale.cc: Use _GLIBCPP_ASM_SYMVER.
929         * src/globals.cc: Same.
931         * testsuite/22_locale/ctor_copy_dtor.cc (test04): Fix for
932         non-glibc systems.
934 2002-10-10  Benjamin Kosnik  <bkoz@redhat.com>
936         * config/linker-map.gnu (GLIBCPP_3.2.1): Add.
937         (GLIBCPP_3.2): Don't export locale::_S_*.
938         * src/ios.cc: Move globals into __gnu_cxx. Make old exported
939         symbols match.
940         * src/locale.cc: Same.
941         * src/localename.cc: Same.
942         * src/globals.cc: Same.
944 2002-10-10  Phil Edwards  <pme@gcc.gnu.org>
946         * docs/html/21_strings/howto.html:  Write #5, char_traits.
947         * docs/html/17_intro/porting.texi:  Expand on os_include_dir.
948         * docs/html/17_intro/porting.html:  Regenerate.
950 2002-10-09  Benjamin Kosnik  <bkoz@redhat.com>
952         * src/locale.cc: Fix comments, move ctors together.
953         * testsuite/22_locale/static_members.cc (test03): Add.
955 2002-10-08  Jonathan Lennox  <lennox@cs.columbia.edu>
957         PR libstdc++/8071, libstdc++/8127, libstdc++/6745
958         * streambuf.tcc (__copy_streambufs): Handle cases where
959         __sbin->in_avail() returns 0, or where __sbin doesn't set gptr().
960         * testsuite/27_io/ostream_inserter_other.cc (test05): Add.
962 2002-10-08  Paolo Carlini  <pcarlini@unitus.it>
963             Benjamin Kosnik  <bkoz@redhat.com>
965         * include/bits/localefwd.h (class locale): Add static member
966         _S_num_extra_categories, encoding the number of additional
967         categories.
968         Change _S_num_categories to _S_categories_size.
969         (class locale::_Impl): Add _M_c_cats.
970         (class locale::_Impl::_M_names): Change to array of chars.
971         (class locale::_Impl::_M_check_same_name): Use
972         _S_extra_categories_size, tweak.
973         (locale::locale(const locale&, _Facet*)): Ditto.
974         * src/locale.cc (locale::locale(const char* )): Rewrite to deal
975         with the environment in a POSIX-compliant way while being thread
976         safe.
977         (locale::name()): Update to output POSIX environment strings.
978         * src/localename.cc
979         (locale::_Impl::_Impl(const _Impl&, size_t): Use
980         _S_categories_size_*, tweak.
981         (locale::_Impl::_Impl(facet**, size_t, bool)): Ditto.
982         (locale::_Impl::_Impl(const char*, size_t)): Name each category
983         individually.
984         (locale::_Impl::_M_replace_categories): Use strcpy.
986         * include/bits/locale_facets.h (numpunct::_M_initialize_numpunct):
987         Change default argument to NULL from _S_c_locale.
988         (timepunct::_M_initialize_timepunct): Same.
989         _S_c_locale cleanups.
990         * src/codecvt.c: _S_c_locale simplification.
991         * src/ctype.c: Same.
992         * src/globals.cc: Add fake_name.
993         * src/locale-inst.cc: Remove extra includes.
994         * src/locale.cc: Remove extra includes.
995         Add _S_extra_categories_size definition.
996         Correct "C" initialization.
997         (locale::facet::facet): Don't initialize _S_c_locale.
998         (locale::facet::_M_remove_reference): Adjust.
999         * src/localename: Use facet_vec, facet_name.
1000         (locale::_Impl::_Impl(facet** __f, size_t __refs, bool)): Set
1001         facet ref counts to one. Initialize _S_c_locale.
1002         (locale::_Impl::_M_install_facet(id*, facet*)): Adjust facet ref
1003         counts when installing unilaterally.
1005         * config/locale/generic/c_locale.cc: Add _S_categories definition.
1006         * config/locale/generic/c_locale.h: Add _GLIBCPP_NUM_CATEGORIES macro.
1007         * config/locale/generic/time_members.cc: _S_c_locale cleanup.
1009         * config/locale/gnu/c_locale.cc: Add _S_categories definition.
1010         (_S_destroy_c_locale): Move checks against _S_c_locale here.
1011         * config/locale/gnu/c_locale.h: Add _GLIBCPP_NUM_CATEGORIES macro.
1012         * config/locale/gnu/ctype_members.cc: Simplify _S_destroy_c_locale
1013         calls, _S_c_locale usage.
1014         * config/locale/gnu/monetary_members.cc: Same, tweaks.
1015         * config/locale/gnu/monetary_members.cc: Same.
1016         * config/locale/gnu/time_members.cc: Same.
1017         * config/os/gnu-linux/ctype_noninline.h: Use locale::classic().
1019         * docs/html/22_locale/locale.html: Add bits about global locales
1020         and "C" setlocale.
1022         * testsuite/22_locale/facet.cc (test02): Add.
1023         * testsuite/22_locale/static_members.cc (test02): Add.
1024         * testsuite/22_locale/ctor_copy_dtor.cc (test04): Add.
1026 2002-10-07  Jonathan Wakely  <jw@kayari.org>
1028         * docs/html/configopts.html, docs/html/documentation.html,
1029         docs/html/explanations.html, docs/html/install.html,
1030         docs/html/17_intro/contribute.html, docs/html/17_intro/howto.html,
1031         docs/html/17_intro/license.html, docs/html/18_support/howto.html,
1032         docs/html/19_diagnostics/howto.html, docs/html/20_util/howto.html,
1033         docs/html/21_strings/howto.html, docs/html/22_locale/codecvt.html,
1034         docs/html/22_locale/ctype.html, docs/html/22_locale/howto.html,
1035         docs/html/22_locale/locale.html, docs/html/22_locale/messages.html,
1036         docs/html/23_containers/howto.html, docs/html/24_iterators/howto.html,
1037         docs/html/25_algorithms/howto.html, docs/html/26_numerics/howto.html,
1038         docs/html/27_io/howto.html, docs/html/ext/howto.html,
1039         docs/html/ext/sgiexts.html, docs/html/faq/index.html:  Add DOCTYPEs.
1041 2002-10-03  Richard Earnshaw  <rearnsha@arm.com>
1043         PR libstdc++/3584
1044         * config/cpu/arm/atomicity.h (__exchange_and_add): Don't try to use
1045         ASM sequences that don't give us atomic addition operations.  Instead
1046         just add a comment explaining why it doesn't work.
1047         (__atomic_add): Just use __exchange_and_add.
1048         (__test_and_set, __always_swap): Delete.
1050 2002-10-02  Andreas Jaeger  <aj@suse.de>
1052         * config/abi/x86_64-unknown-linux-gnu/baseline_symbols.txt:
1053         New file.
1055 2002-10-01  Phil Edwards  <pme@gcc.gnu.org>
1057         * Makefile.am (check-abi):  Add @ to rule.
1058         * Makefile.in:  Regenerated.
1060 2002-09-27  Paolo Carlini  <pcarlini@unitus.it>
1062         * include/bits/locale_facets.tcc (num_put::_M_widen_int):
1063         Deal correctly with grouped, showbased (oct or hex) zero.
1064         * testsuite/22_locale/num_put_members_char.cc: Add test05.
1065         * testsuite/22_locale/num_put_members_wchar_t.cc: Ditto.
1067 2002-09-27  Richard Henderson  <rth@redhat.com>
1069         * config/os/hpux/cpu_limits.h: Remove.
1071         * include/std/std_limits.h (numeric_limits<T>::is_iec559): False
1072         if denormals are not supported.
1074 2002-09-25  Benjamin Kosnik  <bkoz@redhat.com>
1076         * include/Makefile.am (target_headers): Remove cpu_limits.h.
1077         * include/Makefile.in: Regenerate.
1078         * configure.in (CPU_LIMITS_INC_SRCDIR): Remove
1079         * configure: Regenerate.
1080         * configure.target (CPULIMITS): Remove.
1082         * include/std/std_limits.h: Remove cpu_limits.h include.
1084         * config/os/solaris/solaris2.7/os_defines.h (__glibcpp_long_bits):
1085         Remove.
1086         * config/os/irix/irix6.5/os_defines.h
1087         (__glibcpp_long_double_bits): Remove.
1088         (__glibcpp_wchar_t_bits): Remove.
1089         (__glibcpp_long_bits): Remove.
1090         * config/os/irix/irix5.2/os_defines.h
1091         (__glibcpp_long_double_bits): Remove.
1092         (__glibcpp_long_bits): Remove.
1093         * config/os/hpux/os_defines.h (__glibcpp_wchar_t_is_signed): Remove.
1094         * config/os/bsd/freebsd/os_defines.h:
1095         (__glibcpp_long_double_bits): Remove.
1096         * config/os/aix/os_defines.h (__glibcpp_wchar_t_bits): Remove.
1097         (__glibcpp_wchar_t_is_signed): Remove.
1098         (__glibcpp_long_bits): Remove.
1099         * config/os/gnu-linux/os_defines.h (__glibcpp_long_bits): Remove.
1100         (__glibcpp_long_double_bits): Remove.
1102         * config/os/osf/osf5.0/cpu_limits.h: Remove.
1103         * config/cpu/alpha/cpu_limits.h: Remove.
1104         * config/cpu/arm/cpu_limits.h: Remove.
1105         * config/cpu/cris/cpu_limits.h: Remove.
1106         * config/cpu/generic/cpu_limits.h: Remove.
1107         * config/cpu/generic/limits.h: Remove.
1108         * config/cpu/ia64/cpu_limits.h: Remove.
1109         * config/cpu/m68k/cpu_limits.h: Remove.
1110         * config/cpu/mmix/cpu_limits.h: Remove.
1111         * config/cpu/powerpc/cpu_limits.h: Remove.
1112         * config/cpu/S390/cpu_limits.h: Remove.
1114 2002-09-25  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
1116         * testsuite/18_support/numeric_limits.cc: Check the maximum and
1117         minimum values of the wchar_t type.
1119 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
1121         * include/std/std_limits.h (numeric_limits<unsigned char>::digits):
1122         Fix typo.
1124 2002-09-23  Richard Henderson  <rth@redhat.com>
1126         * include/std/std_limits.h (__glibcpp_plain_char_is_signed,
1127         __glibcpp_wchar_t_is_signed, __glibcpp_s8_max, __glibcpp_s8_min,
1128         __glibcpp_s8_digits, __glibcpp_s8_digits10, __glibcpp_u8_min,
1129         __glibcpp_u8_max, __glibcpp_u8_digits, __glibcpp_u8_digits10,
1130         __glibcpp_s16_max, __glibcpp_s16_min, __glibcpp_s16_digits,
1131         __glibcpp_s16_digits10, __glibcpp_u16_min, __glibcpp_u16_max,
1132         __glibcpp_u16_digits, __glibcpp_u16_digits10, __glibcpp_s32_max,
1133         __glibcpp_s32_min, __glibcpp_s32_digits, __glibcpp_s32_digits10,
1134         __glibcpp_u32_min, __glibcpp_u32_max, __glibcpp_u32_digits,
1135         __glibcpp_u32_digits10, __glibcpp_s64_max, __glibcpp_s64_min,
1136         __glibcpp_s64_digits, __glibcpp_s64_digits10, __glibcpp_u64_min,
1137         __glibcpp_u64_max, __glibcpp_u64_digits, __glibcpp_u64_digits10,
1138         __glibcpp_bool_digits, __glibcpp_signed_char_min,
1139         __glibcpp_signed_char_max, __glibcpp_signed_char_digits,
1140         __glibcpp_signed_char_digits10, __glibcpp_unsigned_char_min,
1141         __glibcpp_unsigned_char_max, __glibcpp_unsigned_char_digits,
1142         __glibcpp_unsigned_char_digits10, __glibcpp_char_min,
1143         __glibcpp_char_max, __glibcpp_char_digits, __glibcpp_char_digits10,
1144         __glibcpp_signed_short_min, __glibcpp_signed_short_max,
1145         __glibcpp_signed_short_digits, __glibcpp_signed_short_digits10,
1146         __glibcpp_unsigned_short_min, __glibcpp_unsigned_short_max,
1147         __glibcpp_unsigned_short_digits, __glibcpp_unsigned_short_digits10,
1148         __glibcpp_signed_int_min, __glibcpp_signed_int_max,
1149         __glibcpp_signed_int_digits, __glibcpp_signed_int_digits10,
1150         __glibcpp_unsigned_int_min, __glibcpp_unsigned_int_max,
1151         __glibcpp_unsigned_int_digits, __glibcpp_unsigned_int_digits10,
1152         __glibcpp_signed_long_min, __glibcpp_signed_long_max,
1153         __glibcpp_unsigned_long_digits, __glibcpp_unsigned_long_digits10,
1154         __glibcpp_signed_long_long_min, __glibcpp_signed_long_long_max,
1155         __glibcpp_signed_long_long_digits, __glibcpp_signed_long_long_digits10,
1156         __glibcpp_wchar_t_min, __glibcpp_wchar_t_max, __glibcpp_wchar_t_digits,
1157         __glibcpp_wchar_t_digits10): Remove.
1158         (__glibcpp_byte, __glibcpp_word_bits, __glibcpp_word): Remove.
1159         (__float_storage, __double_storage, __long_double_storage): Remove.
1160         (__glibcpp_signed, __glibcpp_min, __glibcpp_max): New.
1161         (__glibcpp_digits, __glibcpp_digits10): New.
1162         (numeric_limits<T>::min): Use __glibcpp_min or limits.h builtins.
1163         (numeric_limits<T>::max): Use __glibcpp_max or limits.h builtins.
1164         (numeric_limits<T>::is_signed, T=char,wchar_t): Use __glibcpp_signed.
1165         (numeric_limits<T>::digits): Use __glibcpp_digits.
1166         (numeric_limits<T>::digits10): Use __glibcpp_digits10.
1167         * testsuite/18_support/numeric_limits.cc (test03): Don't use
1168         __glibcpp_s8_digits10 et al; check vs the installed versions
1169         of digits10 for particular sizes.
1171         * include/std/std_limits.h (__glibcpp_float_is_modulo,
1172         __glibcpp_double_is_modulo, __glibcpp_long_double_is_modulo): Kill.
1173         (numeric_limits<T>::is_modulo, T floating): Use false.
1175 2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1177         * Makefile.am (all-multi): Fix multilib parallel build.
1179 2002-09-22  Richard Henderson  <rth@redhat.com>
1181         * include/std/std_limits.h (__glibcpp_f32_round_error,
1182         __glibcpp_f64_round_error, __glibcpp_f80_round_error,
1183         __glibcpp_f96_round_error, __glibcpp_f128_round_error,
1184         __glibcpp_float_round_error, __glibcpp_double_round_error,
1185         __glibcpp_long_double_round_error, __glibcpp_float_round_style,
1186         __glibcpp_double_round_style, __glibcpp_long_double_round_style): Kill.
1187         (numeric_limits<char>::epsilon, round_error): Use constant 0.
1188         (numeric_limits<float>::round_error): Use constant 0.5.
1189         (numeric_limits<float>::round_style): Use round_to_nearest.
1190         (numeric_limits<double>, numeric_limits<long double>): Similarly.
1192         * include/std/std_limits.h (__glibcpp_f32_is_iec559,
1193         __glibcpp_f64_is_iec559, __glibcpp_f80_is_iec559,
1194         __glibcpp_f96_is_iec559, __glibcpp_f128_is_iec559,
1195         __glibcpp_float_is_iec559, __glibcpp_double_is_iec559,
1196         __glibcpp_long_double_is_iec559): Remove.
1197         (numeric_limits<float>::is_iec559): Use has_infinity & has_quiet_NaN.
1198         (numeric_limits<double>, numeric_limits<long double>): Similarly.
1200         * include/std/std_limits.h (__glibcpp_integral_traps): New.
1201         (__glibcpp_char_traps, __glibcpp_short_traps, __glibcpp_int_traps,
1202         __glibcpp_long_traps, __glibcpp_wchar_t_traps,
1203         __glibcpp_long_long_traps, __glibcpp_plain_char_traps,
1204         __glibcpp_signed_char_traps, __glibcpp_unsigned_char_traps,
1205         __glibcpp_signed_short_traps, __glibcpp_unsigned_short_traps,
1206         __glibcpp_signed_int_traps, __glibcpp_unsigned_int_traps,
1207         __glibcpp_signed_long_traps, __glibcpp_unsigned_long_traps,
1208         __glibcpp_signed_long_long_traps, __glibcpp_unsigned_long_long_traps,
1209         __glibcpp_char_is_modulo, __glibcpp_signed_char_is_modulo,
1210         __glibcpp_signed_short_is_modulo, __glibcpp_signed_int_is_modulo,
1211         __glibcpp_signed_long_is_modulo, __glibcpp_signed_long_long_is_modulo,
1212         __glibcpp_wchar_t_is_modulo, __glibcpp_float_is_bounded,
1213         __glibcpp_double_is_bounded, __glibcpp_long_double_is_bounded): Kill.
1214         (numeric_limits<T>::traps, T integral): Use __glibcpp_integral_traps.
1215         (numeric_limits<T>::is_modulo, T integral): Use true.
1216         (numeric_limits<T>::is_bounded, T floating): Use true.
1218 2002-09-18  Loren J. Rittle  <ljrittle@acm.org>
1220         * testsuite/18_support/numeric_limits.cc (test_epsilon): New.
1222 2002-09-18  Richard Henderson  <rth@redhat.com>
1224         * testsuite/18_support/numeric_limits.cc: Add -mieee for alpha.
1226 2002-09-16  Benjamin Kosnik  <bkoz@redhat.com>
1228         * include/c_shadow: Remove.
1229         * include/bits/generic_shadow.h: Remove.
1230         * include/Makefile.am: Remove generic_shadow.h.
1231         * acinclude.m4: Remove c_shadow references.
1232         * aclocal.m4: Regenerate.
1233         * configure: Regenerate.
1234         * mkcshadow: Remove.
1235         * mkinclosure: Remove.
1237 2002-09-16  Loren J. Rittle  <ljrittle@acm.org>
1239         libstdc++/7922
1240         * include/ext/stl_rope.h (rope<>): Qualify dependent names
1241         with `typename'.
1243 2002-09-16  Richard Henderson  <rth@redhat.com>
1245         * include/std/std_limits.h (__glibcpp_f32_QNaN_bytes,
1246         __glibcpp_f32_has_QNaN, __glibcpp_f32_SNaN_bytes,
1247         __glibcpp_f32_has_SNaN, __glibcpp_f64_QNaN_bytes,
1248         __glibcpp_f64_has_QNaN, __glibcpp_f64_SNaN_bytes,
1249         __glibcpp_f64_has_SNaN, __glibcpp_f80_QNaN_bytes,
1250         __glibcpp_f80_has_QNaN, __glibcpp_f80_SNaN_bytes,
1251         __glibcpp_f80_has_SNaN, __glibcpp_f96_QNaN_bytes,
1252         __glibcpp_f96_has_QNaN, __glibcpp_f96_SNaN_bytes,
1253         __glibcpp_f96_has_SNaN, __glibcpp_f128_QNaN_bytes,
1254         __glibcpp_f128_has_QNaN, __glibcpp_f128_SNaN_bytes,
1255         __glibcpp_f128_has_SNaN, __glibcpp_float_QNaN_bytes,
1256         __glibcpp_float_has_QNaN, __glibcpp_float_SNaN_bytes,
1257         __glibcpp_float_has_SNaN, __glibcpp_double_QNaN_bytes,
1258         __glibcpp_double_has_QNaN, __glibcpp_double_SNaN_bytes,
1259         __glibcpp_double_has_SNaN, __glibcpp_long_double_QNaN_bytes,
1260         __glibcpp_long_double_has_QNaN, __glibcpp_long_double_SNaN_bytes,
1261         __glibcpp_long_double_has_SNaN): Remove.
1262         (__glibcpp_f128_is_iec559): True if IEEE.
1263         (__glibcpp_float_QNaN, __glibcpp_float_SNaN): Remove.
1264         (__glibcpp_double_QNaN, __glibcpp_double_SNaN): Remove.
1265         (__glibcpp_long_double_QNaN, __glibcpp_long_double_SNaN): Remove.
1266         (std::numeric_limits<float>::has_quiet_NaN): Use __builtin_nanf.
1267         (std::numeric_limits<float>::has_signaling_NaN): Mirror has_quiet_NaN.
1268         (std::numeric_limits<float>::quiet_NaN): Use __builtin_nanf.
1269         (std::numeric_limits<float>::signaling_NaN): Use __builtin_nansf.
1270         (std::numeric_limits<double>): Similarly.
1271         (std::numeric_limits<long double>): Similarly.
1272         * src/limits.cc (__glibcpp_float_QNaN, __glibcpp_float_SNaN): Remove.
1273         (__glibcpp_double_QNaN, __glibcpp_double_SNaN): Remove.
1274         (__glibcpp_long_double_QNaN, __glibcpp_long_double_SNaN): Remove.
1276         * testsuite/18_support/numeric_limits.cc (test_infinity): New.
1277         (test_denorm_min, test_qnan, test_is_iec559): New.
1279 2002-09-16  Phil Edwards  <pme@gcc.gnu.org>
1281         * testsuite/abi_check.cc:  Pull shell fragments out into...
1282         * config/abi/extract_symvers:  ...here.  New file.
1283         * Makefile.am (check_abi):  Change to match.
1284         (new-abi-baseline):  New target.
1285         * Makefile.in:  Regenerated.
1287 2002-09-16  Richard Henderson  <rth@redhat.com>
1289         * include/std/std_limits.h (__glibcpp_f32_denorm_min_bytes,
1290         __glibcpp_f32_has_denorm, __glibcpp_f64_denorm_min_bytes,
1291         __glibcpp_f64_has_denorm, __glibcpp_f80_denorm_min_bytes,
1292         __glibcpp_f80_has_denorm, __glibcpp_f96_denorm_min_bytes,
1293         __glibcpp_f96_has_denorm, __glibcpp_f128_denorm_min_bytes,
1294         __glibcpp_f128_has_denorm, __glibcpp_float_denorm_min_bytes,
1295         __glibcpp_float_has_denorm, __glibcpp_double_denorm_min_bytes,
1296         __glibcpp_double_has_denorm, __glibcpp_long_double_denorm_min_bytes,
1297         __glibcpp_long_double_has_denorm): Remove.
1298         (__glibcpp_float_denorm_min, __glibcpp_double_denorm_min,
1299         __glibcpp_long_double_denorm_min): Remove.
1300         (std::numeric_limits<float>::has_denorm): Use __FLT_DENORM_MIN__.
1301         (std::numeric_limits<float>::denorm_min): Likewise.
1302         (std::numeric_limits<double>): Similarly.
1303         (std::numeric_limits<long double>): Similarly.
1304         * src/limits.cc (__glibcpp_float_denorm_min,
1305         __glibcpp_double_denorm_min, __glibcpp_long_double_denorm_min): Remove.
1307 2002-09-13  Andy Felt  <afelt@uwsp.edu>
1309         * docs/html/17_intro/howto.html:  Update link.
1311 2002-09-13  Phil Edwards  <pme@gcc.gnu.org>
1313         * docs/doxygen/run_doxygen:  Massage man page for Iterator_types.3.
1314         * docs/html/faq/index.html:  Whitespace fixes.
1316 2002-09-12  Benjamin Kosnik  <bkoz@redhat.com>
1318         * libmath/Makefile.am (LIBTOOL): Use --tag CC always for this
1319         directory.
1320         * libmath/Makefile.in: Regenerate.
1321         * src/Makefile.am: Tweak comment.
1322         * src/Makefile.in: Regenerate.
1324         * config/locale/gnu/c_locale.h: Remove warnings.
1325         Inject __uselocale into __gnu_cxx.
1326         * config/locale/generic/c_locale.h: Match.
1328 2002-09-11  Benjamin Kosnik  <bkoz@redhat.com>
1330         * include/bits/locale_facets.tcc (__convert_from_v): Remove.
1331         * config/locale/gnu/c_locale.h (__convert_from_v): Add.
1332         * config/locale/generic/c_locale.h (__convert_from_v): Add.
1334 2002-09-11  Paolo Carlini  <pcarlini@unitus.it>
1336         * include/bits/locale_facets.tcc (__convert_from_v):
1337         Use __uselocale instead of setlocale for glibc 2.3+.
1339 2002-09-10  Benjamin Kosnik  <bkoz@redhat.com>
1341         * src/Makefile.am (sources): Edit.
1342         (target_sources): New.
1343         (target_sources_extra): New.
1344         * src/Makefile.in: Regenerate.
1345         * acinclude.m4: Set CCODECVT_CC.
1346         * aclocal.m4: Regenerate.
1347         * configure: Regenerate.
1348         * src/locale.cc: Move ctype definitions...
1349         * src/ctype.cc: ...here. New file.
1350         * src/locale.cc: Move codecvt definitions...
1351         * src/codecvt.cc: ...here.
1352         * config/generic/codecvt_members.cc: ...and here.
1353         * config/gnu/codecvt_members.cc: ...and here.
1354         * include/bits/codecvt.h: Tweak.
1355         * include/bits/locale_facets: Tweak.
1357         * src/bitset.cc: Correct license text.
1358         * src/concept-inst.cc: Same.
1359         * src/strstream.cc: Same.
1360         * src/vterminate.cc: Same.
1362 2002-09-10  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
1364         * include/bits/stl_vector.h (vector<>): Don't use a name with
1365         different meanings before and after re-evaluation in the completed
1366         scope.
1367         * include/bits/basic_string.h (basic_string<>): Likewise.
1368         * include/bits/stl_bvector.h (vector<bool>): Likewise.
1369         * include/bits/stl_deque.h (std): Likewise.
1370         * include/bits/stl_list.h (list<>): Likewise.
1371         * include/bits/stl_tree.h (_Rb_tree<>): Likewise.
1373 2002-09-10  Paolo Carlini  <pcarlini@unitus.it>
1375         * include/bits/codecvt.h (class __codecvt_abstract_base):
1376         Add __c_locale type _M_c_locale_codecvt member.
1377         (class codecvt<char, char, mbstate_t>,
1378         class codecvt<wchar_t, char, mbstate_t>): Add new
1379         codecvt(__c_locale, size_t) constructor.
1380         (codecvt_byname::codecvt_byname): Update.
1381         * src/codecvt.cc (class codecvt<char, char, mbstate_t>,
1382         class codecvt<wchar_t, char, mbstate_t>): Update codecvt(size_t)
1383         constructor and ~codecvt() destructor; define
1384         codecvt(__c_locale, size_t) constructor.
1385         (codecvt::do_out): Switch to _M_c_locale_codecvt around wcsrtombs call.
1386         (codecvt::do_in): Ditto for mbsrtowcs call.
1387         * src/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
1388         Tweak construction of codecvt facets.
1390 2002-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
1392         * include/bits/locale_facets.tcc (__convert_from_v):
1393         Replace strdup with ISO malloc and strcpy.
1395 2002-09-09  Benjamin Kosnik  <bkoz@redhat.com>
1397         * docs/html/configopts.html: Change grouping. Note ABI impacts.
1398         Update information for locale model defaults.
1399         * docs/html/install.html: Update include directory
1400         information.
1401         Update testing information.
1402         Update linux issues for named locales.
1403         * docs/html/abi.txt: Fix typos.
1404         Add more info.
1406         * src/misc-inst.cc: Add missing instantiations.
1408         * testsuite/abi_check.cc: Make output results more verbose.
1410         * config/os/gnu-linux/ctype_base.h: Remove shadow headers injections.
1412 2002-09-07  Jakub Jelinek  <jakub@redhat.com>
1414         * config/locale/generic/messages_members.cc: Add specialization for
1415         messages<wchar_t>.
1416         * config/locale/ieee_1003.1-20021/messages_members.cc: Likewise.
1418 2002-09-06  Benjamin Kosnik  <bkoz@redhat.com>
1420         * include/bits/localefwd.h: Tweak formatting.
1421         * docs/html/abi.txt: Add.
1423 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
1425         * configure.target: Use cpu_include_dir="config/cpu/sparc" for all
1426         sparc targets.
1427         * config/cpu/sparc/atomicity.h: New file.
1428         * config/cpu/sparc/sparc32/atomicity.h: Removed.
1429         * config/cpu/sparc/sparc64/atomicity.h: Removed.
1431 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
1433         * config/os/gnu-linux/ctype_noninline.h
1434         [_GLIBCPP_USE_SHADOW_HEADERS]: Remove using _C_legacy::__ctype_*.
1435         (ctype<char>::classic_table): If _GLIBCPP_C_LOCALE_GNU, return
1436         _S_c_locale->__ctype_b, otherwise temporarily switch to "C" locale
1437         and return __ctype_b.
1438         (ctype<char>::ctype(__c_locale, const mask*, bool, size_t)): If not
1439         _GLIBCPP_C_LOCALE_GNU, temporarily switch to "C" locale and
1440         initialize using __ctype_{b,tolower,toupper}.
1441         (ctype<char>::ctype(const mask*, bool, size_t)): If
1442         _GLIBCPP_C_LOCALE_GNU, initialize using
1443         _S_c_locale->__ctype_{b,tolower,toupper}, otherwise temporarily
1444         switch to "C" locale and initialize using __ctype_{b,tolower,toupper}.
1446 2002-09-05  Paolo Carlini  <pcarlini@unitus.it>
1447             Roland McGrath  <roland@redhat.com>
1449         PR libstdc++/7811
1450         * src/locale.cc (locale::locale(__s)): Use getenv instead
1451         of setenv for the environment locale.
1452         * testsuite/22_locale/ctor_copy_dtor.cc (test03): New.
1454 2002-09-05  Jakub Jelinek  <jakub@redhat.com>
1456         * config/abi/ia64-unknown-linux-gnu: Add.
1457         * config/abi/ia64-unknown-linux-gnu/baseline_symbols.txt: New file.
1458         * config/abi/alphaev67-unknown-linux-gnu: Add.
1459         * config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt: New file.
1461 2002-09-05  Jonathan Wakely  <jw@kayari.org>
1463         * docs/html/Makefile:  Use more portable shell wildcard.
1464         * docs/html/makedoc.awk:  Nest elements correctly for XHTML conversion.
1465         * docs/html/configopts.html, docs/html/documentation.html,
1466         docs/html/explanations.html, docs/html/install.html,
1467         docs/html/17_intro/contribute.html, docs/html/17_intro/howto.html,
1468         docs/html/17_intro/license.html, docs/html/18_support/howto.html,
1469         docs/html/19_diagnostics/howto.html, docs/html/20_util/howto.html,
1470         docs/html/21_strings/howto.html, docs/html/22_locale/codecvt.html,
1471         docs/html/22_locale/ctype.html, docs/html/22_locale/howto.html,
1472         docs/html/22_locale/locale.html, docs/html/22_locale/messages.html,
1473         docs/html/23_containers/howto.html, docs/html/24_iterators/howto.html,
1474         docs/html/25_algorithms/howto.html, docs/html/26_numerics/howto.html,
1475         docs/html/27_io/howto.html, docs/html/ext/howto.html,
1476         docs/html/ext/sgiexts.html, docs/html/faq/index.html:  Convert
1477         to XHTML.
1478         * docs/html/faq/index.txt:  Regenerate.
1480 2002-09-05  Jakub Jelinek  <jakub@redhat.com>
1482         * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_widen(char)):
1483         Switch to _M_c_locale_ctype around btowc call.
1484         (ctype<wchar_t>::do_widen(const char*, const char *, wchar_t*)):
1485         Switch to _M_c_locale_ctype around mbsrtowcs call.
1486         (ctype<wchar_t>::do_narrow(char)): Switch to _M_c_locale_ctype around
1487         wctob call.
1488         (ctype<wchar_t>::do_narrow(const char*, const char *, wchar_t*)):
1489         Switch to _M_c_locale_ctype around wcsrtombs call.
1491 2002-09-05  Jakub Jelinek  <jakub@redhat.com>
1493         * config/locale/gnu/monetary_members.cc
1494         (moneypunct<wchar_t, true>::_M_initialize_moneypunct,
1495         moneypunct<wchar_t, false>::_M_initialize_moneypunct): Use
1496         __uselocale instead of setlocale for glibc 2.3.
1498 2002-09-05  Jakub Jelinek  <jakub@redhat.com>
1500         * config/locale/generic/c++locale_internal.h: New header.
1501         * config/locale/gnu/c++locale_internal.h: New header.
1502         * config/locale/gnu/c_locale.cc: Include it.
1503         * config/locale/gnu/collate_members.cc: Include it.
1504         * config/locale/gnu/ctype_members.cc: Include it.
1505         * config/locale/gnu/messages_members.cc: Include it.
1506         * config/locale/gnu/monetary_members.cc: Include it.
1507         * config/locale/gnu/numeric_members.cc: Include it.
1508         * config/locale/gnu/time_members.cc: Include it.
1509         (_M_put): Reorder __strftime_l and __wcsftime_l arguments to match
1510         glibc.
1511         (_M_initialize_timepunct): Initialize _M_c_locale_timepunct for
1512         C locale.
1513         * acinclude.m4: Include string.h when testing strcoll_l.
1514         For glibc 2.3 provide __-prefixed prototypes.
1515         (CLOCALE_INTERNAL_H): Set, add AC_LINK_FILES line.
1516         * aclocal.m4, configure: Rebuilt.
1518 2002-09-05  Benjamin Kosnik  <bkoz@redhat.com>
1520         * include/bits/locale_facets.h: Add declaration of specialization
1521         here.
1522         * config/locale/gnu/messages_members.cc: Add specialization for
1523         messages<wchar_t>.
1524         * config/locale/gnu/messages_members.h: Remove generic definition
1525         of do_get.
1527 2002-09-04  Richard Henderson  <rth@redhat.com>
1529         * include/std/std_limits.h (__glibcpp_f32_infinity_bytes,
1530         __glibcpp_f32_has_infinity, __glibcpp_f64_infinity_bytes,
1531         __glibcpp_f64_has_infinity, __glibcpp_f80_infinity_bytes,
1532         __glibcpp_f80_has_infinity, __glibcpp_f96_infinity_bytes,
1533         __glibcpp_f96_has_infinity, __glibcpp_f128_infinity_bytes,
1534         __glibcpp_f128_has_infinity, __glibcpp_float_infinity_bytes,
1535         __glibcpp_float_has_infinity, __glibcpp_double_infinity_bytes,
1536         __glibcpp_double_has_infinity, __glibcpp_long_double_infinity_bytes,
1537         __glibcpp_long_double_has_infinity): Remove.
1538         (std::numeric_limits<float>, std::numeric_limits<double>,
1539         std::numeric_limits<long double>): Use __builtin_huge_val
1540         to implement has_infinity and infinity().
1541         * src/limits.cc (__glibcpp_float_infinity, __glibcpp_double_infinity,
1542         __glibcpp_long_double_infinity): Remove.
1544 2002-09-03  Richard Henderson  <rth@redhat.com>
1546         * include/std/std_limits.h (__glibcpp_f32_min, __glibcpp_f32_max,
1547         __glibcpp_f32_digits, __glibcpp_f32_digits10, __glibcpp_f32_radix,
1548         __glibcpp_f32_epsilon, __glibcpp_f32_min_exponent,
1549         __glibcpp_f32_min_exponent10, __glibcpp_f32_max_exponent,
1550         __glibcpp_f32_max_exponent10, __glibcpp_f64_min, __glibcpp_f64_max,
1551         __glibcpp_f64_digits, __glibcpp_f64_digits10, __glibcpp_f64_radix,
1552         __glibcpp_f64_min_exponent, __glibcpp_f64_min_exponent10,
1553         __glibcpp_f64_max_exponent, __glibcpp_f64_max_exponent10,
1554         __glibcpp_f80_min, __glibcpp_f80_max, __glibcpp_f80_digits,
1555         __glibcpp_f80_digits10, __glibcpp_f80_radix, __glibcpp_f80_epsilon,
1556         __glibcpp_f80_min_exponent, __glibcpp_f80_min_exponent10,
1557         __glibcpp_f80_max_exponent, __glibcpp_f80_max_exponent10,
1558         __glibcpp_f96_min, __glibcpp_f96_max, __glibcpp_f96_digits,
1559         __glibcpp_f96_digits10, __glibcpp_f96_radix, __glibcpp_f96_epsilon,
1560         __glibcpp_f96_min_exponent, __glibcpp_f96_min_exponent10,
1561         __glibcpp_f96_max_exponent, __glibcpp_f96_max_exponent10,
1562         __glibcpp_f128_min, __glibcpp_f128_max, __glibcpp_f128_digits,
1563         __glibcpp_f128_digits10, __glibcpp_f128_radix, __glibcpp_f128_epsilon,
1564         __glibcpp_f128_min_exponent, __glibcpp_f128_min_exponent10,
1565         __glibcpp_f128_max_exponent, __glibcpp_f128_max_exponent10,
1566         __glibcpp_float_min, __glibcpp_float_max, __glibcpp_float_digits,
1567         __glibcpp_float_digits10, __glibcpp_float_radix,
1568         __glibcpp_float_epsilon, __glibcpp_float_min_exponent,
1569         __glibcpp_float_min_exponent10, __glibcpp_float_max_exponent,
1570         __glibcpp_float_max_exponent10, __glibcpp_double_min,
1571         __glibcpp_double_max, __glibcpp_double_digits,
1572         __glibcpp_double_digits10, __glibcpp_double_radix,
1573         __glibcpp_double_epsilon, __glibcpp_double_min_exponent,
1574         __glibcpp_double_min_exponent10, __glibcpp_double_max_exponent,
1575         __glibcpp_double_max_exponent10, __glibcpp_long_double_min,
1576         __glibcpp_long_double_max, __glibcpp_long_double_digits,
1577         __glibcpp_long_double_digits10, __glibcpp_long_double_radix,
1578         __glibcpp_long_double_epsilon, __glibcpp_long_double_min_exponent,
1579         __glibcpp_long_double_min_exponent10,
1580         __glibcpp_long_double_max_exponent,
1581         __glibcpp_long_double_max_exponent10): Remove macros.
1582         (std::numeric_limits<float>, std::numeric_limits<double>,
1583         std::numeric_limits<long double>): Use protected float.h macros.
1585 2002-09-01  Phil Edwards  <pme@gcc.gnu.org>
1587         * testsuite/Makefile.am:  Use LD_RUN_PATH when linking abi_check.
1588         Fix spelling in comment.
1589         * testsuite/Makefile.in:  Regenerate.
1590         * testsuite/abi_check.cc:  Use string literals to build 'cmd' rather
1591         than 'quote' and 'bslash'.
1593 2002-08-31  Phil Edwards  <pme@gcc.gnu.org>
1595         * acinclude.m4:  Minor comment tweaks.
1597         * docs/html/makedoc.awk:  New file...
1598         * docs/html/Makefile:  ...called from here...
1599         * docs/html/documentation.html:  ...to help generate this.
1601         * docs/html/21_strings/howto.html:  Prepare for new entry.
1602         * include/bits/basic_string.h:  Initial basic_stirng hook for
1603         doxygen.  Remove trailing whitespace.
1604         * include/bits/char_traits.h:  Point to onlinedocs for new entry.
1605         * include/bits/stringfwd.h:  Add doxygen hooks for string and
1606         wstring typedefs.
1608 2002-08-29  Richard Earnshaw  <rearnshaw@arm.com>
1610         * config/cpu/arm/cpu_limits.h: New file.
1611         * configure.target: Use config/cpu/arm for XScale and StrongARM
1612         configurations.
1614 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1616         * include/std/std_limits.h (__glibcpp_char_bits,
1617         __glibcpp_short_bits, __glibcpp_int_bits, __glibcpp_long_bits,
1618         __glibcpp_long_long_bits, __glibcpp_float_bits,
1619         __glibcpp_double_bits, __glibcpp_long_double_bits): Remove.  Use
1620         compiler predifined macros.
1621         (__glibcpp_wchar_t_is_signed): Define based on compiler predefined
1622         __WCHAR_UNSIGNED__.
1624 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1626         * include/std/std_limits.h (__glibcpp_f32_infinity_bytes,
1627         __glibcpp_f32_has_infinity, __glibcpp_f32_QNaN_bytes,
1628         __glibcpp_f32_has_QNaN, __glibcpp_f32_SNaN_bytes,
1629         __glibcpp_f32_has_SNaN, __glibcpp_f32_denorm_min_bytes,
1630         __glibcpp_f32_has_denorm, __glibcpp_f32_is_iec559,
1631         __glibcpp_f64_infinity_bytes,
1632         __glibcpp_f64_has_infinity, __glibcpp_f64_QNaN_bytes,
1633         __glibcpp_f64_has_QNaN, __glibcpp_f64_SNaN_bytes,
1634         __glibcpp_f64_has_SNaN, __glibcpp_f64_denorm_min_bytes,
1635         __glibcpp_f64_has_denorm, __glibcpp_f64_is_iec559,
1636         __glibcpp_f80_infinity_bytes,
1637         __glibcpp_f80_has_infinity, __glibcpp_f80_QNaN_bytes,
1638         __glibcpp_f80_has_QNaN, __glibcpp_f80_SNaN_bytes,
1639         __glibcpp_f80_has_SNaN, __glibcpp_f80_denorm_min_bytes,
1640         __glibcpp_f80_has_denorm, __glibcpp_f80_is_iec559,
1641         __glibcpp_f96_infinity_bytes,
1642         __glibcpp_f96_has_infinity, __glibcpp_f96_QNaN_bytes,
1643         __glibcpp_f96_has_QNaN, __glibcpp_f96_SNaN_bytes,
1644         __glibcpp_f96_has_SNaN, __glibcpp_f96_denorm_min_bytes,
1645         __glibcpp_f96_has_denorm, __glibcpp_f96_is_iec559,
1646         __glibcpp_f128_infinity_bytes,
1647         __glibcpp_f128_has_infinity, __glibcpp_f128_QNaN_bytes,
1648         __glibcpp_f128_has_QNaN, __glibcpp_f128_SNaN_bytes,
1649         __glibcpp_f128_has_SNaN, __glibcpp_f128_denorm_min_bytes,
1650         __glibcpp_f128_has_denorm, __glibcpp_f128_is_iec559,
1651         __glibcpp_float_infinity_bytes,
1652         __glibcpp_float_has_infinity, __glibcpp_float_QNaN_bytes,
1653         __glibcpp_float_has_QNaN, __glibcpp_float_SNaN_bytes,
1654         __glibcpp_float_has_SNaN, __glibcpp_float_denorm_min_bytes,
1655         __glibcpp_float_has_denorm, __glibcpp_float_is_iec559,
1656         __glibcpp_double_infinity_bytes,
1657         __glibcpp_double_has_infinity, __glibcpp_double_QNaN_bytes,
1658         __glibcpp_double_has_QNaN, __glibcpp_double_SNaN_bytes,
1659         __glibcpp_double_has_SNaN, __glibcpp_double_denorm_min_bytes,
1660         __glibcpp_double_has_denorm, __glibcpp_double_is_iec559,
1661         __glibcpp_long_double_infinity_bytes,
1662         __glibcpp_long_double_has_infinity, __glibcpp_long_double_QNaN_bytes,
1663         __glibcpp_long_double_has_QNaN, __glibcpp_long_double_SNaN_bytes,
1664         __glibcpp_long_double_has_SNaN, __glibcpp_long_double_denorm_min_bytes,
1665         __glibcpp_long_double_has_denorm, __glibcpp_long_double_is_iec559:
1666         New macros.
1667         (__glibcpp_word_bits, __glibcpp_word): Likewise.
1668         (__glibcpp_byte): New typedef.
1669         (__float_storage, __double_storage, __long_double_storage): New types.
1670         (__glibcpp_float_infinity, __glibcpp_float_QNaN,
1671         __glibcpp_float_SNaN, __glibcpp_float_denorm_min): Now
1672         objects. Declare.
1673         (__glibcpp_double_infinity, __glibcpp_double_QNaN,
1674         __glibcpp_double_SNaN, __glibcpp_double_denorm_min): Likewise.
1675         (__glibcpp_long_double_infinity, __glibcpp_long_double_QNaN,
1676         __glibcpp_long_double_SNaN, __glibcpp_long_double_denorm_min):
1677         Likewise.
1679         * src/limits.cc (__glibcpp_float_infinity, __glibcpp_float_QNaN,
1680         __glibcpp_float_SNaN, __glibcpp_float_denorm_min): Define.
1681         (__glibcpp_double_infinity, __glibcpp_double_QNaN,
1682         __glibcpp_double_SNaN, __glibcpp_double_denorm_min): Likewise.
1683         (__glibcpp_long_double_infinity, __glibcpp_long_double_QNaN,
1684         __glibcpp_long_double_SNaN, __glibcpp_long_double_denorm_min):
1685         Likewise.
1687 2002-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1689         * include/std/std_limits.h: Indent conditional macro definitions.
1691 2002-08-23  Phil Edwards  <pme@gcc.gnu.org>
1693         * Makefile.am (check-abi):  Specify current directory.
1694         * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE):  Fix shell syntax, use
1695         abi_baseline_triplet in baseline_file.
1696         * Makefile.in, aclocal.m4, configure:  Regenerate.
1697         * configure.target:  Add abi_baseline_triplet with default.
1698         * testsuite/abi_check.cc:  More error checking.
1700 2002-08-23  Phil Edwards  <pme@gcc.gnu.org>
1702         * config/linker-map.gnu:  Verbose comments, clean up spacing.
1703         * include/bits/stl_alloc.h:  Fix indentation of 'if' bodies, return
1704         statements.
1705         __allocator:  Change class declaration to struct.
1706         * docs/html/17_intro/C++STYLE:  Fix typo.
1707         * include/bits/stl_deque.h, include/bits/stl_list.h,
1708         include/bits/stl_map.h, include/bits/stl_multimap.h,
1709         include/bits/stl_vector.h:  Fix fallout from typo.
1711 2002-08-22  Benjamin Kosnik  <bkoz@redhat.com>
1713         * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Set
1714         GLIBCPP_BUILD_ABI_CHECK based on cross compiling, build, host
1715         variables.
1716         * aclocal.m4: Regenerate.
1717         * testsuite/Makefile.am (noinst_PROGRAMS): Make conditional on
1718         native compiling.
1719         * testsuite/Makefile.in: Regenerate.
1721 2002-08-22  Loren J. Rittle <ljrittle@acm.org>
1723         * testsuite/abi_check.cc: Enhance shell portability.
1724         Support older binutils/readelf.
1725         * config/abi/i386-unknown-freebsd4.6: Add.
1726         * config/abi/i386-unknown-freebsd4.6/baseline_symbols.txt: New file.
1728 2002-08-22  Paolo Carlini  <pcarlini@unitus.it>
1730         * docs/html/faq/index.html: Add Loren James Rittle and
1731         Paolo Carlini to the list of v3 maintainers.
1732         * docs/html/faq/index.txt: Ditto.
1733         * docs/html/17_intro/RELEASE-NOTES: Ditto.
1735 2002-08-22  Benjamin Kosnik  <bkoz@redhat.com>
1736             Phil Edwards  <pme@gcc.gnu.org>
1737             Ulrich Drepper  <drepper@redhat.com>
1739         * Makefile.am (check-abi): New rule.
1740         * Makefile.in: Regenerate.
1741         * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Export baseline_file.
1742         * aclocal.m4: Regenerate.
1743         * configure: Regenerate.
1744         * testsuite/Makefile.am (noinst_PROGRAMS): Add abi_check.
1745         (abi_check_SOURCES): Add.
1746         * testsuite/Makefile.in: Regenerate.
1747         * testsuite/abi_check.cc: New file.
1748         * config/abi: Add.
1749         * config/abi/i686-pc-linux-gnu: Add.
1750         * config/abi/i686-pc-linux-gnu/baseline_symbols.txt: New file.
1752 2002-08-19  Benjamin Kosnik  <bkoz@redhat.com>
1754         * configure.in (libtool_VERSION): Update to 5:1:0.
1755         * configure: Regenerate.
1757 2002-08-19  Jonathan Wakely  <jw@kayari.org>
1759         * docs/html/configopts.html, docs/html/documentation.html,
1760         docs/html/install.html, docs/html/22_locale/codecvt.html,
1761         docs/html/22_locale/ctype.html, docs/html/22_locale/howto.html,
1762         docs/html/22_locale/locale.html,
1763         docs/html/22_locale/messages.html: Conform to HTML 4.01 standard.
1765 2002-08-15  Benjamin Kosnik  <bkoz@redhat.com>
1767         * include/ext/stdio_filebuf.h (stdio_filebuf): Explicitly set
1768         _M_buf_size_opt to zero when unbuffering.
1769         * include/bits/fstream.tcc (filebuf::showmanyc): Simplify.
1770         Consistency checks for _M_buf_size_opt.
1772         Revert PR libstdc++/7445
1773         * src/locale.cc (locale::classic): Revert.
1775         * docs/html/17_intro/TODO: Add.
1777 2002-08-15  Phil Edwards  <pme@gcc.gnu.org>
1779         * docs/html/documentation.html:  Update doxygen links for 3.2.
1781 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
1783         * libsupc++/unwind-cxx.h (__cxa_exception): Change catchTemp
1784         type from void* to _Unwind_Ptr.
1785         * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
1786         Do not cast landing_pad or base_of_encoded_value to (void *).
1787         * libsupc++/eh_throw.cc (__gxx_exception_cleanup):
1788         Accept _URC_NO_REASON as a valid reason code.
1790 2002-08-14  Jonathan Wakely  <jw@kayari.org>
1792         * docs/html/22_locale/messages.html:  Use HTML entities for
1793         punctuation.
1795 2002-08-13  Jonathan Wakely  <jw@kayari.org>
1796             Phil Edwards  <pme@gcc.gnu.org>
1798         * docs/html/documentation.html:  Use HTML entities for punctuation.
1800 2002-08-09  Phil Edwards  <pme@gcc.gnu.org>
1802         * include/bits/deque.tcc, include/bits/list.tcc,
1803         include/bits/stl_deque.h, include/bits/stl_iterator_base_funcs.h,
1804         include/bits/stl_list.h, include/bits/stl_map.h,
1805         include/bits/stl_multimap.h, include/bits/stl_queue.h,
1806         include/bits/stl_stack.h, include/bits/stl_vector.h,
1807         include/bits/vector.tcc:  Re-indent contents of namespace std,
1808         re-wrap comment lines as necessary.
1810 2002-08-08  Danny Smith  <dannysmith@users.sourceforge.net>
1811             Benjamin Kosnik  <bkoz@redhat.com>
1813         * include/bits/istream.tcc (basic_istream::ignore): Use sbumpc,
1814         not snextc.
1815         * testsuite/27_io/narrow_stream_objects.cc (test10): Add.
1817 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1819         * libsupc++/Makefile.am (LTCOMPILE): Add LIBSUPCXX_PICFLAGS.
1820         * libsupc++/Makefile.in: Regenerate.
1822 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
1824         PR/7491
1825         * include/bits/slice_array.h(_DEFINE_VALARRAY_OPERATOR):
1826         Instantiate with new function objects.
1827         * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR): Likewise.
1828         Reformat.  Uglify.
1829         * include/bits/gslice_array.h: Likewise.
1830         * include/bits/indirect_array.h: Likewise.
1832 2002-08-03  Gabriel Dos Reis  <gdr@nerim.net>
1834         * testsuite/26_numerics/valarray_name_lookup.cc: Rename from
1835         testsuite/26_numerics/valarray_name_lookup.C
1837         * include/bits/valarray_array.h (_DEFINE_ARRAY_FUNCTION): Use our
1838         object function surrogates.
1839         * include/bits/valarray_meta.h (__shift_left): Fix typo.
1840         (_BinFunClos<>): Remove.
1841         (_BinFunBase<>): Likewise.
1842         (_BinFunBase1<>):Likewise.
1843         (_BinFunBase2<>): Likewise.
1844         (_DEFINE_EXPR_RELATIONAL_OPERATOR): Likewise.
1845         (_DEFINE_EXPR_UNARY_OPERATOR): Adjust definition.
1846         (_DEFINE_EXPR_BINARY_OPERATOR): Likewise.
1847         (_DEFINE_EXPR_BINARY_FUNCTION): Likewise.
1848         * include/std/std_valarray.h: Dont #include <functional> anymore.
1849         (_Bitwise_or<>, _Bitwise_and<>, _Bitwise_xor<>, _Shift_left<>,
1850         _Shift_right<>): Remove.
1851         (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT): Adjust instantiation.
1852         (_DEFINE_BINARY_OPERATOR): Tweak definition.
1853         (_DEFINE_LOGICAL_OPERATOR): Remove.
1854         * testsuite/26_numerics/valarray_name_lookup.C (main): Add more tests.
1856 2002-08-02  Gabriel Dos Reis  <gdr@nerim.net>
1858         * include/bits/valarray_meta.h (_UnFunBase<>): Remove.
1859         (_UnFunClos<>): Same.
1860         (_UnBase<>): Reformat.  Make first template-parameter non
1861         template.
1862         (_UnClos<>): Likewise.
1863         (_Expr<>): Reformate.  Adjust unary member operator return types.
1864         (_DEFINE_EXPR_UNARY_OPERATOR): Adjust definition.
1865         (_DEFINE_EXPR_UNARY_FUNCTION): Likewise.
1866         * include/std/std_valarray.h (_UnClos<>): Adjust declaration.
1867         (valarray<>::_UnaryOp<>):  New nested traits. Adjust unary member
1868         operator return types.  Reformat.
1869         (_Bitwise_not): Remove.
1870         (_DEFINE_VALARRAY_UNARY_OPERATOR): Adjust definition.
1871         * testsuite/26_numerics/valarray_name_lookup.C: New test.
1873 2002-08-02  Danny Smith  <dannysmith@users.sourceforge.net>
1875         * config/os/newlib/ctype_inline.h (is): Don't offset _M_table.
1876         (scan_is): Use this->is.
1877         (scan_not): Likewise.
1879 2002-08-02  Benjamin Kosnik  <bkoz@redhat.com>
1881         Revert PR libstdc++/6594
1882         * src/strstream.cc (strstreambuf): Revert.
1883         (strstreambuf::overflow): Same.
1884         (strstreambuf::~strstreambuf): Same.
1885         * testsuite/backward/strstream_members.cc (test02): Add.
1887         * docs/html/abi.txt: Update. Spell check.
1889         * testsuite/19_diagnostics/stdexceptions.cc (test04): Add bool test.
1891         * testsuite/Makefile.am (INCLUDES): Add LIBSUPCXX_INCLUDES.
1892         * testsuite/Makefile.in: Regenerate.
1893         * testsuite/testsuite_hooks.h: Use __throw_exception_again,
1894         include functexcept.h so that -fno-exceptions will build.
1896 2002-08-02  Gabriel Dos Reis  <gdr@nerim.net>
1898         * include/bits/valarray_meta.h (__unary_plus, __negate,
1899         __bitwise_not, __plus, __minus, __multiplies, __divides,
1900         __modulus, __bitwise_xor, __bitwise_or, __bitwise_and,
1901         __shift_left, __shift_right, __logical_and, __logical_or,
1902         __logical_not, __equal_to, __not_equal_to, __less, __less_equal,
1903         __greater_equal, __greater, __atan2, __pow): New function object
1904         classes.
1905         (__fun<>):  New function traits class.
1907 2002-08-01  Rick Danos  <rdanos@hotmail.com>
1909         PR libstdc++/7461
1910         * config/os/newlib/ctype_noninline.h (classic_table): Add offset.
1911         * config/os/newlib/ctype_inline.h (is): Use static_cast.
1913 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
1915         * libsupc++/Makefile.am (LT_COMPILE): Remove C++ flags.
1916         * libsupc++/Makefile.in: Regenerate.
1918 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
1919             Jakub Jelinek  <jakub@redhat.com>
1921         * config/linker-map.gnu: Change CXXABI_1 to CXXABI_1.2,
1922         GLIBCPP_3.1 to GLIBCPP_3.2.
1924 2002-07-31  Benjamin Kosnik  <bkoz@redhat.com>
1925             Mark Mitchell  <mark@codesourcery.com>
1927         PR libstdc++/7442
1928         * libsupc++/cxxabi.h (class __base_class_type_info::hwm_bit):
1929         Change to __hwm_bit.
1930         (__class_type_info): And here.
1932 2002-07-31  Benjamin Kosnik  <bkoz@redhat.com>
1934         PR libstdc++/7442
1935         * libsupc++/cxxabi.h
1936         (__base_class_info): Change to __base_class_type_info. 2.9.5p6c
1937         (__base_class_info::__base): Change to __base_type. 2.9.5p6c
1938         (__base_class_info::offset_shift): Change to __offset_shift. 2.9.5p6c
1939         (__vmi_class_type_info::__base_info): Don't make const, of type
1940         __base_class_type_info, as per 2.9.5p6c
1941         (__pbase_type_info::__qualifier_flags): Change to __flags, as per
1942         2.9.5p7.
1943         (__pbase_type_info::__qualifier_masks): Change to __masks, as per
1944         2.9.5p7.
1945         (__pointer_to_member_type_info::__context_class): Change member to
1946         __context, as per 2.9.5p9.
1947         * libsupc++/tinfo2.cc (__pointer_catch): Change __context_class to
1948         __context.
1949         * libsupc++/tinfo2.cc (__do_catch): Change __qualifier_flags to
1950         __flags.
1951         * libsupc++/tinfo.cc (__do_find_public_src): Change __base to
1952         __base_type.
1953         * libsupc++/tinfo.cc (__do_dyncast): Same.
1954         * libsupc++/tinfo.cc (__do_upcast): Same.
1956 2002-07-31  Benjamin Kosnik  <bkoz@redhat.com>
1958         * src/fstream.cc: Add _GLIBCPP_USE_WCHAR_T guards.
1960 2002-07-31  Simon Whomsley  <whomsley@avacadcam.com>
1962         * docs/html/22_locale/howto.html: Fix.
1964 2002-07-31  Alex Kompel  <shurik@sequoiap.com>
1966         PR libstdc++/7445
1967         * src/locale.cc (locale::classic): Move locks inside !_S_classic
1968         block.
1970 2002-07-31  Benjamin Kosnik  <bkoz@redhat.com>
1972         * docs/html/abi.txt: Update.
1974 2002-07-30  Benjamin Kosnik  <bkoz@redhat.com>
1975             Gabriel Dos Reis  <gdr@nerim.net>
1977         * include/bits/char_traits.h: Remove generic definitions.
1978         * include/bits/streambuf_iterator.h (istreambuf_iterator): Use
1979         eof, not -2.
1980         * include/bits/istream.tcc (istream::readsome): Don't check
1981         against eof, instead use constants.
1982         (istream::sync): Same.
1983         (istream::sentry::sentry): Use eq_int_type.
1984         (istream::get): Same.
1985         * include/bits/ostream.tcc: Change __pad to
1986         __pad<_CharT, _Traits>::_S_pad.
1987         * include/bits/locale_facets.h: Add __pad_traits generic and
1988         ostreambuf_iterator specialization.
1989         * include/bits/locale_facets.tcc: Change __pad into struct __pad
1990         with a _CharT and _Traits template parameter and _S_pad static
1991         member function.
1992         * src/locale-inst.cc: Update __pad instantiations.
1994         * include/std/std_fstream.h: Declare _M_underflow_common
1995         specializations.
1996         * src/fstream.cc: New. Add _M_underflow_common specializations.
1997         * include/bits/fstream.tcc (filebuf::close): Use traits_type.
1998         (filebuf::_M_underflow_common(bool)): Remove generic version, as
1999         sys_ungetc and custom int_types don't get along.
2000         * include/std/std_streambuf.h: Add _M_pos.
2001         * src/Makefile.am (sources): Add fstream.cc.
2002         * src/Makefile.in: Regenerate.
2004         * testsuite/21_strings/capacity.cc: Add char_traits specializations.
2005         * testsuite/22_locale/codecvt_members_unicode_char.cc: Same.
2006         * testsuite/22_locale/codecvt_members_unicode_wchar_t.cc: Same.
2007         * testsuite/22_locale/ctor_copy_dtor.cc: Same.
2008         * testsuite/27_io/filebuf_virtuals.cc (test07): Move to...
2009         * testsuite/27_io/filebuf.cc: ...here.
2010         * testsuite/testsuite_hooks.h: Add gnu_char, gnu_int, char_traits
2011         specialization for both.
2012         * testsuite/27_io/streambuf.cc: Add instantiation test,
2013         testsuite_hooks include.
2014         * testsuite/27_io/istream.cc: Same.
2015         * testsuite/27_io/ostream.cc: Same.
2016         * testsuite/27_io/fstream.cc: Same.
2017         * testsuite/27_io/stringstream.cc: Same.
2018         * testsuite/27_io/filebuf.cc: Same.
2019         * testsuite/27_io/stringbuf.cc: Same.
2021 2002-07-29  Alan Modra  <amodra@bigpond.net.au>
2023         * config/cpu/powerpc/cpu_limits.h (__glibcpp_long_bits): Define.
2024         * configure.target (cpu_include_dir): Use cpu/powerpc for powerpc64.
2025         * config/cpu/powerpc/atomicity.h (__always_swap): Remove.
2026         (__test_and_set): Remove.
2027         (_STWCX): Define and use.
2029 2002-07-26  Phil Edwards  <pme@gcc.gnu.org>
2031         * libsupc++/new (placement delete):  Remove unused parameter names.
2033 2002-07-25  Benjamin Kosnik  <bkoz@redhat.com>
2035         PR libstdc++/7216
2036         * include/std/std_istream.h (basic_iostream): Add typedefs for
2037         char_type, int_type, pos_type, off_type, and traits_type.
2038         * testsuite/27_io/iostream.cc (test01): Add typedef tests.
2039         * testsuite/27_io/istream.cc: Same.
2040         * testsuite/27_io/ostream.cc: Same.
2041         * testsuite/27_io/filebuf.cc: Same.
2042         * testsuite/27_io/stringbuf.cc: Replace content, move to...
2043         * testsuite/27_io/stringbuf_members.cc: ...here.
2044         * testsuite/27_io/streambuf.cc: Replace content, move to...
2045         * testsuite/27_io/streambuf_members.cc: ...here.
2046         * testsuite/27_io/stringstream.cc: Replace content, move to...
2047         * testsuite/27_io/stringstream_members.cc: ...here.
2048         * testsuite/27_io/ios.cc: New file.
2049         * testsuite/27_io/fstream.cc: New file.
2050         * testsuite/27_io/ifstream.cc: New file.
2051         * testsuite/27_io/ofstream.cc: New file.
2052         * testsuite/27_io/istringstream.cc: New file.
2053         * testsuite/27_io/ostringstream.cc: New file.
2055 2002-07-25  Benjamin Kosnik  <bkoz@redhat.com>
2057         PR libstdc++/7220
2058         * include/bits/istream.tcc (istream::ignore): Don't extract on
2059         zero.
2060         * testsuite/27_io/istream_unformatted.cc (test10): Add.
2062 2002-07-25  Benjamin Kosnik  <bkoz@redhat.com>
2064         * testsuite/27_io/ios_base_type.cc: Move to...
2065         * testsuite/27_io/ios_base_types.cc: ...here.
2067 2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>
2069         PR libstdc++/7222
2070         * src/locale.cc (locale::locale(const char*)): Use setlocale NULL.
2071         * testsuite/22_locale/ctor_copy_dtor.cc (test02): New.
2073 2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>
2075         PR libstdc++/7230
2076         * config/linker-map.gnu: Revert strstream patch from 2002-07-01.
2077         * include/Makefile.am (backward_headers): Use strstream, not
2078         strstream.h.
2079         * include/Makefile.in: Regenerate.
2080         * include/backward/strstream: Revert.
2081         * include/backward/strstream.h: Remove.
2082         * src/strstream.cc: Revert.
2083         * testsuite/backward/strstream_members.cc: Change include.
2085 2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>
2087         PR libstdc++/7219
2088         * include/bits/ios_base.h (ios_base::streampos): Add.
2089         (ios_base::streamoff): Add.
2090         * testsuite/27_io/ios_base_type.cc: New.
2092 2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>
2094         PR libstdc++/7286
2095         * libsupc++/new: Add placement delete.
2096         * testsuite/18_support/new_delete_placement.cc: New.
2098         * docs/html/abi.txt: Fix typos.
2100 2002-07-23  Benjamin Kosnik  <bkoz@redhat.com>
2102         * docs/html/documentation.html: Remove libstdc++-v3.0.86 links,
2103         confusing usage of "latest."
2104         De-tangle contributor information from introductory notes.
2105         Move abi.txt link placement, activate.
2106         Re-organize.
2107         Move chapter info into old FAQ format.
2108         * docs/html/organization.html: Removed, obsoleted by doxygen work.
2109         * docs/html/abi.txt: Add notes on testing ABI changes.
2111 2002-07-20  Phil Edwards  <pme@gcc.gnu.org>
2113         * docs/html/abi.txt:  New file.
2114         * docs/html/23_containers/howto.html:  Tweak vector-overhead text.
2115         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
2116         Import from upstream, R22.
2118         * include/bits/char_traits.h, include/bits/stl_iterator.h,
2119         include/bits/stl_iterator_base_types.h, libsupc++/exception,
2120         libsupc++/new, libsupc++/typeinfo:  Use @brief markup.
2122         * include/bits/deque.tcc, include/bits/stl_alloc.h,
2123         include/bits/stl_deque.h, include/bits/stl_list.h:  Postpone removal
2124         of deprecated functions until 3.4.  (Same timeframe, different text.)
2125         * include/bits/stl_vector.h:  Ditto.  Also do the same cleanups that
2126         the other sequence classes received.
2128 2002-07-18  Brendan Kehoe  <brendan@zen.org>
2130         * bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR): Fix typo of
2131         _Nname to _Name.
2133 2002-07-19  Gabriel Dos Reis  <gdr@nerim.net>
2135         DR/123
2136         * include/bits/slice_array.h
2137         (slice_array<T>::operator=(const T&)): Constify.
2138         * include/bits/gslice_array.h
2139         (gslice_array<T>::operator=(const T&)):  Likewise.
2140         * include/bits/mask_array.h
2141         (mask_array<T>::operator=(const T&)): Likewise.
2142         * include/bits/indirect_array.h
2143         (indirect_array<T>::operator=(const T&): Likewise.
2145 2002-07-17  Phil Edwards  <pme@gcc.gnu.org>
2147         * docs/doxygen/run_doxygen:  Remove template parameter names from
2148         "Compound List" summary page.  Reformat.
2149         * docs/html/documentation.html:  XHTML fixes.
2151 2002-07-16  Andreas Schwab  <schwab@suse.de>
2153         * libsupc++/new (set_new_handler): Declare to not throw any
2154         exceptions.
2155         * libsupc++/new_handler.cc (set_new_handler): Likewise.
2157 2002-07-16  Gabriel Dos Reis  <gdr@nerim.net>
2159         * include/Makefile.am (bits_headers): Remove slice.h
2160         * include/Makefile.in: Regenerate.
2161         * include/bits/slice.h (slice): move to include/bits/slice_array.h
2162         * include/bits/slice.h Remove.
2163         * include/std/std_valarray.h: Don't #include bits/slice.h anymore.
2164         * include/bits/slice_array.h: Comply to official coding styles.
2165         * testsuite/26_numerics/slice.cc: New test.
2167 2002-07-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2169         * config/os/solaris/solaris2.5/ctype_base.h (ctype_base): Fix
2170         print to match vendor <ctype.h>.
2172 2002-07-15  Phil Edwards  <pme@gcc.gnu.org>
2174         * docs/html/faq/index.html:  Fix download links.
2175         * docs/html/faq/index.txt:  Regenerate.
2176         * docs/html/17_intro/porting.html:  Regenerate from earlier changes.
2178 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2180         * configure.target (target_os switch): Allow for irix6*o32
2181         configurations.
2183 2002-07-10  Gabriel Dos Reis  <gdr@nerim.net>
2185         * include/bits/valarray_meta.h (_UnFunBase): Take a second
2186         template parameter. Remove _M_func data member.
2187         (_UnFunClos): Take a third template parameter.
2188         (__abs, __cos, __acos, __cosh, __sin, __asin, __sinh, __tan,
2189         __atan, __tanh, __exp, __log, __log10, __sqrt): New classes.
2190         (_DEFINE_EXPR_UNARY_OPERATOR): Adjust definition.
2192 2002-07-08  Eric Christopher  <echristo@redhat.com>
2194         * configure.target: Fix comment for mips atomicity. Add
2195         mips*-*-linux* target, enable atomic operations there.
2196         * config/cpu/mips/atomicity.h: Fix comments, remove
2197         #ifndef/#endif. Add push/pop mips2.
2199 2002-07-08  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
2201         * include/bits/stl_deque.h (_Deque_alloc_base):  Change order of
2202         member declarations to avoid compiler warnings and restore 3.1 ABI.
2204 2002-07-08  Phil Edwards  <pme@gcc.gnu.org>
2206         * docs/html/23_containers/howto.html:  Link to dk_std::vector paper
2207         and homepage.
2209 2002-07-07  Paolo Carlini  <pcarlini@unitus.it>
2211         PR libstdc++/7186
2212         * include/bits/stl_deque.h (_Deque_iterator::operator-):
2213         Make non-member, as already happens for the comparison
2214         operators in accord with DR179 (Ready).
2215         * testsuite/23_containers/deque_operators.cc: Add test02.
2217 2002-07-04  Benjamin Kosnik  <bkoz@redhat.com>
2218             Jack Reeves  <jackw_reeves@hotmail.com>
2220         * include/std/std_streambuf.h (basic_streambuf::_M_buf): Change to
2221         size_t, from int_type.
2222         (basic_streambuf::_M_buf_size_opt): Same.
2223         (basic_streambuf::_S_pback_sizex): Same.
2224         * include/bits/streambuf.tcc: Same.
2225         * include/std/std_streambuf.h (basic_streambuf::snextc): Use
2226         eq_int_type.
2227         (basic_streambuf::uflow): Same.
2228         * include/bits/sstream.tcc (basic_stringbuf::overflow): Use
2229         to_char_type.
2230         * include/bits/basic_ios.tcc (basic_ios::init): Use _CharT().
2231         * include/bits/streambuf.tcc (basic_streambuf::xsgetn): Use
2232         eq_int_type.
2233         (basic_streambuf::xsputn): Same.
2234         (__copy_streambufs): Same.
2236 2002-07-03  Benjamin Kosnik  <bkoz@redhat.com>
2238         * include/std/std_memory.h: Fix formatting.
2239         * testsuite/20_util/auto_ptr_neg.cc: New.
2240         * testsuite/20_util/auto_ptr.cc: Tweaks.
2241         * testsuite/23_containers/map_operators.cc (test01): Split into..
2242         * testsuite/23_containers/map_operators_neg.cc (test01): ...this. New.
2243         * testsuite/23_containers/set_operators.cc: Move to...
2244         * testsuite/23_containers/set_operators_neg.cc: ...here.
2245         * testsuite/README: Add some more naming rules.
2247 2002-07-03  Steev Wilcox  <steev@paradigmds.com>
2249         PR libstdc++/7057
2250         * include/ext/stl_hashtable.h: Fix.
2251         * testsuite/ext/hash_map.cc: New.
2253 2002-07-03  Jack Reeves  <jackw_reeves@hotmail.com>
2254             Kenny Simpson  <theonetruekenny@yahoo.com>
2255             Phil Edwards  <pme@gcc.gnu.org>
2257         PR libstdc++/3946
2258         * testsuite/20_util/auto_ptr.cc (test08):  New test.
2259         * include/std/std_memory.h (auto_ref_ptr):  Make constructor explicit.
2260         (auto_ptr::operator auto_ptr_ref):  Fix typo.
2261         General reformatting and doxygenating of the whole file.
2263 2002-07-03  Benjamin Kosnik  <bkoz@redhat.com>
2265         PR libstdc++/7097
2266         * include/c/std_cwchar.h: Fix.
2268 2002-07-02  Benjamin Kosnik  <bkoz@redhat.com>
2270         PR libstdc++/6410
2271         * include/bits/locale_facets.h (moneypunct::moneypunct): Add const
2272         char* name parameter.
2273         * config/locale/gnu/monetary_members.cc: Use it.
2274         * config/locale/generic/monetary_members.cc: Same.
2275         * src/localename.cc (_Impl::_Impl(const char*, size_t)): Use it.
2277         * include/backward/strstream.h: Update date.
2279 2002-07-02  Paolo Carlini  <pcarlini@unitus.it>
2281         PR libstdc++/6642
2282         * include/bits/stl_iterator.h
2283         (__normal_iterator::operator-(const __normal_iterator&)):
2284         Make non-member, as already happens for the comparison
2285         operators in accord with DR179 (Ready).
2286         * testsuite/24_iterators/iterator.cc: Add test from the PR.
2288 2002-07-02  Phil Edwards  <pme@gcc.gnu.org>
2290         PR libstdc++/7173
2291         * acinclude.m4:  Simplify determination of gcc_version, and move
2292         up to GLIBCPP_CONFIGURE.
2293         * configure.in (release_VERSION):  Really remove.
2294         (AM_INIT_AUTOMAKE, AM_CONFIG_HEADER):  Move after GLIBCPP_CONFIGURE.
2295         * aclocal.m4, configure:  Regenerate.
2297 2002-07-02  Phil Edwards  <pme@gcc.gnu.org>
2299         * docs/html/configopts.html, docs/html/install.html:  Tweaks.
2300         * include/ext/algorithm, include/ext/hash_map, include/ext/hash_set,
2301         include/ext/iterator, include/ext/numeric, include/ext/rb_tree,
2302         include/ext/slist, include/ext/stl_rope.h:  Add doxygen hooks.
2304 2002-07-01  Benjamin Kosnik  <bkoz@redhat.com>
2306         * include/backward/strstream: Remove namespace std. Transfer to...
2307         * include/backward/strstream.h: ...here. Qualify std names.
2308         * src/strstream.cc: Remove namespace std.
2309         * include/Makefile.am (backward_headers): Remove strstream.h.
2310         * include/Makefile.in: Regenerate.
2311         * config/linker-map.gnu: Export strstream bits.
2313         * src/fstream-inst.cc: Tweak.
2314         * src/io-inst.cc: Same.
2315         * src/istream-inst.cc: Same.
2316         * src/misc-inst.cc: Same.
2317         * src/ostream-inst.cc: Same.
2318         * src/sstream-inst.cc: Same.
2319         * src/valarray-inst.cc: Same.
2320         * src/misc-inst.cc: Remove unused instantiations.
2322 2002-07-01  Benjamin Kosnik  <bkoz@redhat.com>
2324         * configure.in (libtool_VERSION): Bump to 5:0:0.
2325         * configure: Regenerate.
2327 2002-06-28  Phil Edwards  <pme@gcc.gnu.org>
2329         PR libstdc++/7157, PR libstdc++/7158, PR libstdc++/7161
2330         * include/std/std_queue.h:  Include deque.tcc, vector.tcc.
2331         * include/std/std_stack.h:  Include deque.tcc.
2332         * testsuite/23_containers/adaptors.cc:  New file.
2334 2002-06-27  Phil Edwards  <pme@gcc.gnu.org>
2336         * include/bits/stl_alloc.h:  Deprecate all 'reallocate' memfns.
2337         * docs/html/ext/howto.html:  Update allocator notes.
2339 2002-06-26  Benjamin Kosnik  <bkoz@redhat.com>
2341         * configure.in (INTERFACE): Remove.
2342         (release_VERSION): Remove.
2343         * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Change include placement.
2344         (libstdcxx_interface): Change. Use gcc methods to determine version.
2345         * configure: Regenerate.
2346         * aclocal.m4: Regenerate.
2348 2002-06-25  DJ Delorie  <dj@redhat.com>
2350         * acinclude.m4 (GLIBCPP_CONFIGURE): Split out
2351         GLIBCPP_TOPREL_CONFIGURE.
2352         * aclocal.m4: Likewise.
2353         * configure.in: Call it before AC_CANONICAL_SYSTEM.
2354         * configure: Regenerate.
2356 2002-06-25  Jessica Han  <jessica@cup.hp.com>
2358         * config/os/hpux/os_defines.h Define _GLIBCPP_VTABLE_PADDING
2359         * libsupc++/tinfo.cc Handle the 8 byte aligned vtable entries when
2360         _GLIBCPP_VTABLE_PADDING is defined.
2362 2002-06-25  Benjamin Kosnik  <bkoz@redhat.com>
2364         * include/bits/stl_alloc.h: Additional formatting.
2366 2002-06-24  Phil Edwards  <pme@gcc.gnu.org>
2368         * include/bits/stl_alloc.h:  Reformat as per C++STYLE.
2370 2002-06-24  Phil Edwards  <pme@gcc.gnu.org>
2372         * config/cpu/*/bits/*:  Move header files up a level.  Remove bits.
2373         * config/os/*/bits/*:  Likewise.
2374         * configure.in:  Update.
2375         * configure:  Regenerate.
2376         * configure.target:  Update.
2377         * docs/html/17_intro/porting.texi:  Update.
2379 2002-06-21  Phil Edwards  <pme@gcc.gnu.org>
2381         * include/bits/stl_map.h, include/bits/stl_multimap.h,
2382         include/bits/stl_queue.h, include/bits/stl_stack.h:  Reformat and
2383         complete doxygenation.
2384         * include/bits/boost_concept_check.h:  Minor comment.
2386 2002-06-21  Benjamin Kosnik  <bkoz@redhat.com>
2388         * include/c_compatibility: New.
2389         * include/c_compatibility/assert.h: New.
2390         * include/c_compatibility/ctype.h: New.
2391         * include/c_compatibility/errno.h: New.
2392         * include/c_compatibility/float.h: New.
2393         * include/c_compatibility/iso646.h: New.
2394         * include/c_compatibility/limits.h: New.
2395         * include/c_compatibility/locale.h: New.
2396         * include/c_compatibility/math.h: New.
2397         * include/c_compatibility/setjmp.h: New.
2398         * include/c_compatibility/signal.h: New.
2399         * include/c_compatibility/stdarg.h: New.
2400         * include/c_compatibility/stddef.h: New.
2401         * include/c_compatibility/stdio.h: New.
2402         * include/c_compatibility/stdlib.h: New.
2403         * include/c_compatibility/string.h: New.
2404         * include/c_compatibility/time.h: New.
2405         * include/c_compatibility/wchar.h: New.
2406         * include/c_compatibility/wctype.h: New.
2408         * include/c/std_cerrno.h: Get out of the way... define errno.
2409         * include/c/std_cmath.h: Add abs, modf overloads.
2410         Undefine C99 isms. Still not sure how to deal with this sanely.
2411         * include/c/std_csetjmp.h: Tweak.
2412         * include/c/std_cwchar.h: Include cstddef for size_t.
2414         * include/c_std/std_cmath.h: Remove extra function.
2416         Pendantic std usage in testsuites.
2417         * testsuite/17_intro/header_cstdlib.cc (test01): Qualify ldiv_t
2418         with std.
2419         * testsuite/17_intro/header_cwchar.cc: Tweak.
2420         * testsuite/22_locale/codecvt_members_char_char.cc (test03): Use
2421         std::setlocale.
2422         * testsuite/22_locale/ctype_to_wchar_t.cc (test05): Same.
2423         * testsuite/22_locale/ctype_to_char.cc (test05): Same.
2424         * testsuite/22_locale/ctype_is_wchar_t.cc (test05): Same.
2425         * testsuite/22_locale/ctype_is_char.cc (test05): Same.
2426         * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Same.
2427         * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Same.
2428         * testsuite/22_locale/time_get_members_char.cc (test08): Same.
2429         * testsuite/22_locale/time_put_members_wchar_t.cc (test04): Same.
2430         * testsuite/22_locale/time_put_members_char.cc (test04): Same.
2431         * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Same.
2432         * testsuite/22_locale/num_put_members_char.cc (test04): Same.
2433         * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Same.
2434         * testsuite/22_locale/numpunct_members_char.cc (test03): Same.
2435         * testsuite/22_locale/num_get_members_wchar_t.cc: Same.
2436         * testsuite/22_locale/num_get_members_char.cc: Same.
2437         * testsuite/22_locale/money_put_members_wchar_t.cc (test07): Same.
2438         * testsuite/22_locale/money_put_members_char.cc (test07): Same.
2439         * testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Same.
2440         * testsuite/22_locale/moneypunct_members_char.cc (test03): Same.
2441         * testsuite/22_locale/money_get_members_wchar_t.cc (test08): Same.
2442         * testsuite/22_locale/money_get_members_char.cc (test08): Same.
2443         * testsuite/22_locale/messages_members_char.cc (test03): Same.
2444         * testsuite/22_locale/collate_members_wchar_t.cc (test04): Same.
2445         * testsuite/22_locale/collate_members_char.cc (test04): Same.
2446         * testsuite/26_numerics/fabs_inline.cc: Use std::printf.
2447         * testsuite/27_io/istream_seeks.cc (test02): Qualify abort.
2448         * testsuite/27_io/istream_extractor_arith.cc (test11): Qualify strtol.
2450 2002-06-20  Benjamin Kosnik  <bkoz@redhat.com>
2452         * libsupc++/Makefile.am (libsupc__convenience_la_SOURCES): Add
2453         c_sources.
2455 2002-06-20  Benjamin Kosnik  <bkoz@redhat.com>
2457         * src/ext-inst.cc (__gnu_cxx): Use instead of std:: for extensions.
2458         Use size_type instead of unsigned long.
2460 2002-06-20  Steve Ellcey  <sje@cup.hp.com>
2462         * src/ext-inst.cc (_S_fetch): Add explicit templates for char and
2463         wchar types.
2464         (_S_min_len): Ditto.
2466 2002-06-20  Benjamin Kosnik  <bkoz@redhat.com>
2468         * include/Makefile.am: Add rules.
2469         * include/Makefile.in: Regenerate.
2471         * acinclude.m4: Define GLIBCPP_C_HEADERS_COMPATIBILITY.
2472         * aclocal.m4: Regenerate.
2473         * configure: Regenerate.
2474         * configure.target (c_model, c_compatibility): Add.
2476         * libsupc++/Makefile.am (c_sources): New.
2477         (libsupc___la_SOURCES): Add c_sources.
2478         (LTCOMPILE): Remove INCLUDES.
2479         (GCC_INCLUDES): New.
2480         (C_COMPILE): New, like COMPILE but without INCLUDES.
2481         (cxa_demangle.o): Use C_COMPILE.
2482         (dyn-string.o): Use C_COMPILE.
2484         * include/c/std_cstdarg.h: Define __need___va_list.
2485         * include/c/std_cstddef.h: Define need_size_t, need_ptrdiff_t,
2486         need_NULL, need_offsetof.
2488 2002-06-19  Steve Ellcey  <sje@cup.hp.com>
2490         * configure.in (HAVE_FINITE*, HAVE_ISINF*, HAVE_ISNAN*):  Remove
2491         definitions in hpux11 cross-build because these functions do
2492         not exist on hpux11 (but some exist on hpux10); move defaults out
2493         into existing sections.
2494         * configure:  Regenerate.
2496 2002-06-18  Benjamin Kosnik  <bkoz@redhat.com>
2498         * include/c/std_cwchar.h: Guard. Add mbstate_t bits.
2499         * include/c/std_cwctype.h: Guard.
2501         * libsupc++/eh_alloc.cc: Tweak include order.
2502         * libsupc++/pure.cc: Use cstdio.
2503         * libsupc++/new_op.cc: Remove malloc forward declaration, as
2504         cstdlib brings it in. Use std::malloc.
2506         * src/Makefile.am (sources): Remove cmath.cc.
2507         * src/Makefile.in: Regenerate.
2508         * src/cmath.cc: Remove.
2510 2002-06-18  Phil Edwards  <pme@gcc.gnu.org>
2512         * configure.target:  Force mips to use the generic cpu routines.
2514 2002-06-18  Phil Edwards  <pme@gcc.gnu.org>
2516         * configure.host:  Delete file.
2517         * configure.target:  More documentation.  Factor out common parts of
2518         script into "intelligent" settings about defaults.  Remove redundancy.
2520         * acinclude.m4:  Update comments.  Do not call configure.host.
2521         (GLIBCPP_ENABLE_SYMVERS):  If disabled, do not bother checking for
2522         libgcc_s.
2523         * configure.in:  Slight reformatting, more comments.  Factor out
2524         "config/" from all the directories.
2525         * docs/html/17_intro/porting.texi:  Update and expand.
2526         * testsuite/Makefile.am (AM_RUNTESTFLAGS):  Move empty setting
2527         from configure.host.
2529         * aclocal.m4, configure, docs/html/17_intro/porting.html,
2530         testsuite/Makefile.in:  Regenerate.
2532 2002-06-16  Phil Edwards  <pme@gcc.gnu.org>
2534         * docs/doxygen/TODO:  Update.
2535         * docs/doxygen/tables.html:  Uncomment magical middle column.
2536         * docs/doxygen/user.cfg.in:  Kludge to ignore function-like macros.
2537         * include/bits/stl_queue.h:  Doxygenate and reformat.
2538         * include/bits/ios_base.h, include/std/std_streambuf.h:  Add comment
2539         for deprecated names required by the standard.
2541 2002-06-14  J.T. Conklin  <jtc@acorntoolworks.com>
2543         * configure.in (target_alias): Fix.
2544         * configure: Regenerate.
2545         * aclocal.m4: Regenerate.
2547 2002-06-12  Phil Edwards  <pme@gcc.gnu.org>
2549         * include/Makefile.am:  Add new files.
2550         * include/Makefile.in:  Regenerate.
2552         * include/bits/stl_deque.h, include/bits/stl_list.h,
2553         include/bits/stl_vector.h:  Clean up, reformat.  Move definitions...
2554         * include/bits/deque.tcc, include/bits/list.tcc,
2555         include/bits/vector.tcc:  ...to here.  New files.
2557         * include/ext/stl_hashtable.h:  Inclide correct full headers.
2558         * include/std/std_deque.h:  Include .tcc files for now.
2559         * include/std/std_list.h:  Likewise.
2560         * include/std/std_vector.h:  Likewise.
2562 2002-06-12  Daniel Jacobowitz  <drow@mvista.com>
2564         * Makefile.am: Add FLAGS_TO_PASS.
2565         * Makefile.in: Regenerated.
2567 2002-06-11  J.T. Conklin  <jtc@acorntoolworks.com>
2568             Benjamin Kosnik  <bkoz@redhat.com>
2570         * configure.target: Set os_include_dir to config/os/qnx/qnx6.1
2571         under *-qnx6.[12]*.
2572         * configure.in: Add support for *-qnx6.[12]*.
2573         * configure: Regenerate.
2575         * config/os/qnx, config/os/qnx/qnx6.1, config/os/qnx/qnx6.1/bits:
2576         New directories.
2577         * config/os/qnx/qnx6.1/bits/ctype_base.h, ctype_inline.h,
2578         ctype_noninline.h, os_defines.h: New files.
2580 2002-06-10  Loren J. Rittle <ljrittle@acm.org>
2582         * acinclude.m4 (GLIBCPP_CHECK_SETRLIMIT_ancilliary): Reorder and
2583         include all required headers for test against older POSIX standard.
2584         (GLIBCPP_CHECK_SETRLIMIT): Likewise.
2585         (ac_setrlimit): Likewise.
2586         * aclocal.m4: Regenerate.
2587         * configure: Regenerate.
2588         * testsuite/testsuite_hooks.cc: Reorder and include all
2589         required headers for use against older POSIX standard.
2591 2002-06-08  Paolo Carlini  <pcarlini@unitus.it>
2593         * testsuite/backwards/strstream_members.cc: New.
2595 2002-06-08  Benjamin Kosnik  <bkoz@redhat.com>
2597         * include/backwards/strstream: Format.
2598         * src/strstream.cc: Format.
2600 2002-06-08  Andreas Schwab  <schwab@suse.de>
2602         * src/strstream.cc (strstreambuf::overflow): Set _M_buf,
2603         _M_buf_size and _M_buf_size_opt to the new buffer and size.
2605 2002-06-08  Benjamin Kosnik  <bkoz@redhat.com>
2607         * config/os/generic/bits/ctype_noninline.h: Tweak format.
2609 2002-06-07  Steve Ellcey  <sje@cup.hp.com>
2611         * src/locale-inst.cc (__codecvt_abstract_base):
2612         Put inside _GLIBCPP_USE_WCHAR_T ifdef.
2613         * include/bits/istream.tcc (basic_istream): Ditto.
2614         (ws) Ditto.
2615         (operator>>) Ditto.
2616         * include/bits/ostream.tcc (basic_ostream): Ditto.
2617         (endl): Ditto.
2618         (ends): Ditto.
2619         (flush): Ditto.
2620         (operator<<): Ditto.
2622 2002-06-07  Phil Edwards  <pme@gcc.gnu.org>
2624         * mkcheck.in:  Link against local testsuite library.
2625         * testsuite/testsuite_hooks.h (__set_testsuite_memlimit):  Move null
2626         implementation out...
2627         * testsuite/testsuite_hooks.cc:  ...to here.
2629 2002-06-06  Loren J. Rittle <ljrittle@acm.org>
2631         * src/Makefile.am (AUTOMAKE_OPTIONS): Use cygnus-style generation.
2632         * include/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
2633         * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
2634         * src/Makefile.in: Regenerate (explicitly with --cygnus option).
2635         * testsuite/Makefile.in: Likewise.
2637 2002-06-05  David Edelsohn  <edelsohn@gnu.org>
2639         * config/os/aix/bits/ctype_noninline.h (do_toupper,do_tolower):
2640         Call external symbol.
2642 2002-06-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2644         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3_target_compile):
2645         Search correct multilib testsuite dir for libv3test.
2647 2002-06-04  Paolo Carlini  <pcarlini@unitus.it>
2648             Gaby Dos Reis  <gdr@codesourcery.com>
2650         * include/bits/basic_string.tcc
2651         (basic_string::_S_construct(forward_iterator_tag):
2652         Fix typo in null pointer check.
2653         * testsuite/21_strings/ctor_copy_dtor.cc: Add test04.
2655 2002-06-04  Paolo Carlini  <pcarlini@unitus.it>
2657         * testsuite/22_locale/money_get_members_char.cc
2658         (test02): Add decimal point to long double constants.
2659         * testsuite/22_locale/money_get_members_wchar_t.cc
2660         (test02): Likewise.
2661         * testsuite/22_locale/money_put_members_char.cc
2662         (test02, test03, test06): Likewise.
2663         * testsuite/22_locale/money_put_members_wchar_t.cc:
2664         (test02, test03, test06): Likewise.
2665         * testsuite/22_locale/num_get_members_char.cc:
2666         (test02, test01): Likewise; suffix long long constants with LL.
2667         * testsuite/22_locale/num_get_members_wchar_t.cc:
2668         (test02, test01): Likewise.
2669         * testsuite/22_locale/num_put_members_char.cc:
2670         (test02, test01): Likewise.
2671         * testsuite/22_locale/num_put_members_wchar_t.cc:
2672         (test02, test01): Likewise.
2674 2002-06-03  Marc Espie  <espie@openbsd.org>
2676         * config/cpu/m68k/bits/atomicity.h(__exchange_and_add): Fix inline
2677         assembly for old assemblers.
2679 2002-06-03  Phil Edwards  <pme@gcc.gnu.org>
2681         * include/bits/stl_bvector.h (swap(_Bit_reference,_Bit_reference)):
2682         Move/rename...
2683         (vector<bool>::swap(reference,reference)): ...to this.
2685 2002-06-03  Phil Edwards  <pme@gcc.gnu.org>
2687         * docs/doxygen/TODO:  Update.
2688         * docs/doxygen/user.cfg.in (SORT_MEMBER_DOCS):  Set to off, now that
2689         some class members are in 14882 order.
2690         * docs/html/ext/howto.html:  3.1 is in the past now, not the future.
2692         * include/std/std_bitset.h:  Update comment.
2693         * src/bitset.cc:  Update comments, clean up spacing.
2695         * src/Makefile.am (sources):  Alphabetize for convenience.
2696         * src/Makefile.in:  Regenerate.
2698 2002-06-03  Phil Edwards  <pme@gcc.gnu.org>
2700         * include/bits/stl_deque.h, include/bits/stl_list.h,
2701         include/bits/stl_vector.h:  Reformat to (mostly) match C++STYLE.
2702         Reorder to match 14882.  Doxygen blocks for all public members.
2704 2002-05-31  Marcus Meissner  <meissner@suse.de>
2706         PR libstdc++/6886
2707         * include/bits/stl_bvector.h:  Use UL suffix for unsigned longs.
2708         * testsuite/23_containers/vector_bool.cc (test02):  New test.
2710 2002-05-30  Marc Espie  <espie@openbsd.org>
2712         * configure.in: Always check for sys/types.h
2713         * configure: Regenerate.
2715 2002-05-28  Nick Clifton  <nickc@cambridge.redhat.com>
2717         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init):
2718         Rebuild the wrapper file every time this proc is called.
2720 2002-05-28  Phil Edwards  <pme@gcc.gnu.org>
2722         * testsuite/Makefile.am (noinst_LIBRARIES):  New target.  Pull in
2723         CXX/INCLUDES.
2724         * testsuite/Makefile.in:  Regenerate.
2725         * testsuite/testsuite_hooks.h (gnu_copy_tracker):  Move from
2726         list_modifiers.cc and rename from 'T'.  Move code bodies...
2727         * testsuite/testsuite_hooks.cc:  ...to here.  New file.
2728         * testsuite/23_containers/list_modifiers.cc:  Move 'T' class out.
2729         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3_target_compile):
2730         Add libv3test.a to link options.
2732 2002-05-27  Benjamin Kosnik  <bkoz@redhat.com>
2734         * src/misc-inst.cc: Define unnecessary algorithm
2735         instantiations. Break apart instantiations into groupings below.
2736         * src/fstream-inst.cc: New.
2737         * src/io-inst.cc: New.
2738         * src/istream-inst.cc: New.
2739         * src/ostream-inst.cc: New.
2740         * src/streambuf-inst.cc: New.
2741         * src/sstream-inst.cc: New.
2742         * src/Makefile.am (sources): Add files.
2743         * src/Makefile.in: Regenerate.
2745         * acinclude.m4: Work around automake 1.4-p5 bug, change
2746         AM_GNU_GETTEXT in comments to AM-GNU-GETTEXT.
2748 2002-05-27  Benjamin Kosnik  <bkoz@redhat.com>
2750         PR libstdc++/6795.
2751         * config/os/solaris/solaris2.6/bits/ctype_noninline.h
2752         (classic_table): Fix.
2753         * config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.
2755 2002-05-27  Benjamin Kosnik  <bkoz@redhat.com>
2757         * testsuite/22_locale/ctype_is_wchar_t.cc: Guard with
2758         _GLIBCPP_USE_WCHAR_T.
2759         * testsuite/22_locale/ctype_narrow_wchar_t.cc: Same.
2760         * testsuite/22_locale/ctype_to_wchar_t.cc: Same.
2761         * testsuite/22_locale/ctype_widen_wchar_t.cc: Same.
2763 2002-05-26  Carlo Wood  <carlo@alinoe.com>
2764             Paolo Carlini  <pcarlini@unitus.it>
2766         PR libstdc++/6811
2767         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
2768         (__enc_traits::operator=): add missing return statement.
2770 2002-05-24  Phil Edwards  <pme@gcc.gnu.org>
2772         PR libstdc++/6282
2773         * include/std/std_bitset.h (_Base_biteset<0>):  New specialization.
2774         (operator>>):  If nothing was extracted, don't fail in the
2775         zero-length case.
2776         * testsuite/23_containers/bitset_ctor.cc (test02):  New test.
2778 2002-05-24  Benjamin Kosnik  <bkoz@redhat.com>
2780         PR libstdc++/6701
2781         * testsuite/22_locale/ctype_narrow_char.cc: New.
2782         * testsuite/22_locale/ctype_narrow_wchar_t.cc: New.
2783         * testsuite/22_locale/ctype_widen_char.cc: New.
2784         * testsuite/22_locale/ctype_widen_wchar_t.cc: New.
2785         * testsuite/22_locale/ctype_members_char.cc: Move some bits into...
2786         * testsuite/22_locale/ctype_is_char.cc: ...this.
2787         * testsuite/22_locale/ctype_to_char.cc: ...and this.
2788         * testsuite/22_locale/ctype_members_wchar_t.cc: Move some bits into...
2789         * testsuite/22_locale/ctype_is_wchar_t.cc: ...this.
2790         * testsuite/22_locale/ctype_to_wchar_t.cc: ...and this.
2792         * testsuite/22_locale/ctype_scan_wchar_t.cc: Should pass.
2794 2002-05-24  Dale Peakall <dale@peakall.net>
2796         PR libstdc++/6701
2797         * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_narrow): Fix.
2798         * config/locale/generic/ctype_members.cc: Same.
2800 2002-05-24  Benjamin Kosnik  <bkoz@redhat.com>
2802         PR libstdc++/6750
2803         * include/bits/ostream.tcc (ostream::operator<<(const char*)): Fix
2804         for empty string literal.
2805         (ostream::operator<<(const _CharT*)): Same.
2806         (ostream<char>::operator<<(const char*)): Same.
2807         (ostream<char>::operator<<(streambuf*)): Same.
2808         * testsuite/27_io/ostream_inserter_char.cc (test08): Add tests.
2809         * testsuite/27_io/ostream_inserter_other.cc (test02): Modify.
2811 2002-05-23  Benjamin Kosnik  <bkoz@redhat.com>
2813         * configure.in (release_VERSION): Update to 3.1.1.
2814         (libtool_VERSION): Update to 4:1:0.
2815         * configure: Regenerate.
2817 2002-05-21  Phil Edwards  <pme@gcc.gnu.org>
2819         * include/bits/stl_pair.h:  Tweak comment markup.
2821 2002-05-21  Phil Edwards  <pme@gcc.gnu.org>
2823         * include/ext/stdio_filebuf.h:  Add header guards.  Doxygenate.
2825 2002-05-21  Phil Edwards  <pme@gcc.gnu.org>
2827         * docs/doxygen/user.cfg.in (EXCLUDE):  Add 'CVS'.
2829 2002-05-21  Phil Edwards  <pme@gcc.gnu.org>
2831         * include/bits/stl_vector.h:  Reformat to follow C++STYLE.
2832         Doxygenate all public members.  Reorder to follow 14882.
2833         (vector::push_back(void)):  Remove previously-deprecated fn.
2834         (vector::insert(iterator), vector::_M_insert_aux(iterator)):
2835         Deprecate for removal in 3.3.
2837 2002-05-20  Phil Edwards  <pme@gcc.gnu.org>
2839         * docs/html/faq/index.html (5.4):  Recommend against -I options for
2840         finding the ext headers.
2841         * docs/html/faq/index.txt:  Regenerate.
2843 2002-05-19  Paolo Carlini  <pcarlini@unitus.it>
2845         * testsuite/23_containers/deque_operators.cc (test01):
2846         Fix minor typo in last commit.
2848 2002-05-18  Paolo Carlini  <pcarlini@unitus.it>
2850         PR libstdc++/6503
2851         * include/bits/stl_deque.h (_Deque_iterator::operator==,
2852         operator!=, operator<, operator>, operator>=, operator<=):
2853         Make non-member functions, to allow comparing const and
2854         non-const iterators in any order.
2855         * testsuite/23_containers/deque_operators.cc: New testfile.
2857 2002-05-16  Phil Edwards  <pme@gcc.gnu.org>
2859         * docs/html/faq/index.html:  Update not-a-bug list with basic_file.h.
2860         * docs/html/faq/index.txt:  Regenerate.
2862 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2864         * Makefile.am: Allow for PWDCMD to override hardcoded pwd.
2865         * acinclude.m4: Likewise.
2866         * docs/html/Makefile: Likewise.
2867         * aclocal.m4: Regenerate.
2868         * configure: Regenerate.
2869         * Makefile.in: Regenerate.
2871 2002-05-15  Loren J. Rittle <ljrittle@acm.org>
2873         libstdc++/6641
2874         * include/bits/c++config (__USE_MALLOC): Report case where
2875         the user improperly defined it on the command line.
2877 2002-05-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2879         * testsuite/testsuite_hooks.h (__set_testsuite_memlimit):
2880         Retrieve current limits before setting.
2882 2002-05-15  Benjamin Kosnik  <bkoz@redhat.com>
2884         PR libstdc++/6518
2885         * include/bits/ostream.tcc (ostream::operator<<(const char*)): Fix
2886         for null case.
2887         (ostream::operator<<(const _CharT*)): Same.
2888         (ostream<char>::operator<<(const char*)): Same.
2889         * testsuite/27_io/ostream_inserter_char.cc (test07): Add test.
2891 2002-05-15  Benjamin Kosnik  <bkoz@redhat.com>
2893         PR libstdc++/6594
2894         * src/strstream.cc (strstreambuf): Fix leak.
2896 2002-05-15  Paolo Carlini  <pcarlini@unitus.it>
2898         PR libstdc++/6648
2899         * include/bits/istream.tcc (istream::getline, ignore):
2900         Upon __idelim (__delim) call sbumpc() not snextc().
2901         * testsuite/27_io/narrow_stream_objects.cc:
2902         Add test08 and test09.
2904 2002-05-13  Benjamin Kosnik  <bkoz@redhat.com>
2906         * testsuite/22_locale/ctype_scan_char.cc: Tweak.
2907         * testsuite/22_locale/ctype_scan_wchar_t.cc: New.
2909         * docs/html/install.html: Fix.
2911 2002-05-13  Benjamin Kosnik  <bkoz@redhat.com>
2913         * include/bits/fstream.tcc
2914         (basic_filebuf::_M_allocate_internal_buffer): Remove extraneous
2915         try/catch blocks.
2916         * src/localename.cc (locale::_Impl::_M_install_facet): Same.
2918         * docs/html/install.html: Tweak, add bits about required locales
2919         for the 22_locale tests when using the gnu model.
2921         * testsuite/27_io/istream_sentry.cc: Tweak.
2923 2002-05-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2925         * config/os/irix/irix5.2/bits/ctype_inline.h (scan_is, scan_not):
2926         Fix typo, use this->is() rather than manually (and perhaps
2927         incorrectly) inlining it.
2928         * config/os/irix/irix6.5/bits/ctype_inline.h (scan_is, scan_not):
2929         Likewise.
2930         * testsuite/22_locale/ctype_scan_char.cc: New file.
2932 2002-05-13  Paolo Carlini  <pcarlini@unitus.it>
2933             Jakub Jelinek  <jakub@redhat.com>
2935         * testsuite/22_locale/money_get_members_char.cc
2936         (test01, test02, test04): Use the de_DE@euro named locale
2937         instead of de_DE to allow for an uniform behaviour with
2938         both old and Euro-era localedata; tweak some tests.
2939         * testsuite/22_locale/money_get_members_wchar_t.cc
2940         (test01, test02, test04): Likewise.
2941         * testsuite/22_locale/money_put_members_char.cc
2942         (test01, test02, test04): Likewise.
2943         * testsuite/22_locale/money_put_members_wchar_t.cc
2944         (test01, test02, test04): Likewise.
2946 2002-05-13  Paolo Carlini  <pcarlini@unitus.it>
2948         * testsuite/22_locale/codecvt_members_char_char.cc
2949         (test03): Robustify wrt localedata.
2950         * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Likewise.
2951         * testsuite/22_locale/collate_members_char.cc (test04): Likewise.
2952         * testsuite/22_locale/collate_members_wchar_t.cc (test04): Likewise.
2953         * testsuite/22_locale/ctype_members_char.cc (test05): Likewise.
2954         * testsuite/22_locale/ctype_members_wchar_t.cc (test04): Likewise.
2955         * testsuite/22_locale/messages_members_char.cc (test03): Likewise.
2956         * testsuite/22_locale/money_get_members_char.cc (test08): Likewise.
2957         * testsuite/22_locale/money_get_members_wchar_t.cc (test08): Likewise.
2958         * testsuite/22_locale/money_put_members_char.cc (test07): Likewise.
2959         * testsuite/22_locale/money_put_members_wchar_t.cc (test07): Likewise.
2960         * testsuite/22_locale/moneypunct_members_char.cc (test03): Likewise.
2961         * testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Likewise.
2962         * testsuite/22_locale/num_get_members_char.cc (test06): Likewise.
2963         * testsuite/22_locale/num_get_members_wchar_t.cc (test06): Likewise.
2964         * testsuite/22_locale/num_put_members_char.cc (test04): Add comment.
2965         * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Likewise.
2966         * testsuite/22_locale/numpunct_members_char.cc (test03): Likewise.
2967         * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Likewise.
2968         * testsuite/22_locale/time_get_members_char.cc (test08): Likewise.
2969         * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Likewise.
2970         * testsuite/22_locale/time_put_members_char.cc (test04): Likewise.
2971         * testsuite/22_locale/time_put_members_wchar_t.cc (test04): Likewise.
2973 2002-05-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2975         * config/os/irix/irix5.2/bits/os_defines.h: Revert 2002-05-06
2976         change.
2978 2002-05-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2980         * config/os/gnu-linux/bits/os_defines.h (__glibcpp_long_bits): Define
2981         to 64 for hppa 64-bit port.
2982         (__glibcpp_long_double_bits): Define to 64 for all hppa ports.
2984 2002-05-10  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2986         * acinclude.m4 (enable_symvers): Quote $LD.
2987         * aclocal.m4: Regenerate.
2988         * configure: Likewise.
2990 2002-05-09  Jakub Jelinek  <jakub@redhat.com>
2992         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Append all
2993         multilib dirs containing libgcc_s*.so.1 below gcc object dir to
2994         LD_LIBRARY_PATH.
2996 2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
2998         * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
2999         script entry, and set LD to it when configuring multilibs.
3000         * configure: Rebuilt.
3002 2002-05-07  Mark Mitchell  <mark@codesourcery.com>
3004         * configure.in: Add support for WindISS.
3005         * configure: Regenerated.
3006         * configure.target: Add support for WindISS.
3007         * config/os/windiss/bits/ctype_base.h: New file.
3008         * config/os/windiss/bits/ctype_inline.h: Likewise.
3009         * config/os/windiss/bits/ctype_noninline.h: Likewise.
3010         * config/os/windiss/bits/os_defines.h: Likewise.
3012 2002-05-06  Paolo Carlini  <pcarlini@unitus.it>
3014         Test all the facets for the temporary "C" locale switch issue.
3015         * testsuite/22_locale/codecvt_members_char_char.cc: Add test03.
3016         * testsuite/22_locale/codecvt_members_wchar_t_char.cc: Likewise.
3017         * testsuite/22_locale/collate_members_char.cc: Add test04.
3018         * testsuite/22_locale/collate_members_wchar_t.cc: Likewise.
3019         * testsuite/22_locale/ctype_members_char.cc: Add test05.
3020         * testsuite/22_locale/ctype_members_wchar_t.cc: Add test04.
3021         * testsuite/22_locale/messages_members_char.cc: Add test03.
3022         * testsuite/22_locale/money_get_members_char.cc: Add test08.
3023         * testsuite/22_locale/money_get_members_wchar_t.cc: Likewise.
3024         * testsuite/22_locale/money_put_members_char.cc: Add test07.
3025         * testsuite/22_locale/money_put_members_wchar_t.cc: Likewise.
3026         * testsuite/22_locale/moneypunct_members_char.cc: Add test03.
3027         * testsuite/22_locale/moneypunct_members_wchar_t.cc: Likewise.
3028         * testsuite/22_locale/num_get_members_char.cc: Add test06.
3029         * testsuite/22_locale/num_get_members_wchar_t.cc: Likewise.
3030         * testsuite/22_locale/numpunct_members_char.cc: Add test03.
3031         * testsuite/22_locale/numpunct_members_wchar_t.cc: Likewise.
3032         * testsuite/22_locale/time_get_members_char.cc: Add test08.
3033         * testsuite/22_locale/time_get_members_wchar_t.cc: Likewise.
3034         * testsuite/22_locale/time_put_members_char.cc: Add test04.
3035         * testsuite/22_locale/time_put_members_wchar_t.cc: Likewise.
3037         * testsuite/22_locale/num_put_members_char.cc (test04): Add comment.
3038         * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Likewise.
3040 2002-05-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3042         * config/os/irix/irix5.2/bits/os_defines.h (_SGI_SOURCE,
3043         __EXTENSIONS__): Ensure they are always defined.
3045 2002-05-06  Phil Edwards  <pme@gcc.gnu.org>
3047         * docs/html/documentation.html:  Fix broken link.
3049 2002-05-04  Benjamin Kosnik  <bkoz@redhat.com>
3050             Paolo Carlini  <pcarlini@unitus.it>
3052         * testsuite/22_locale/num_put_members_char.cc: Add test04(),
3053         testing for the locale_facets.tcc entry of the previous commit.
3054         * testsuite/22_locale/num_put_members_wchar_t.cc: Likewise.
3056 2002-05-04  Takeshi Kobayakawa  <tskoba@mte.biglobe.ne.jp>
3058         * config/locale/generic/c_locale.cc
3059         (__convert_to_v(float, double, long double)):
3060         Fix the temporary switch to the "C" locale, saving and
3061         restoring in the proper way the current locale.
3062         * config/locale/generic/time_members.cc
3063         (__timepunct<char, wchar_t>::_M_put): Likewise.
3064         * config/locale/gnu/messages_members.cc
3065         (messages<char>::do_get): Likewise.
3066         * config/locale/gnu/messages_members.h
3067         (messages<_CharT>::do_get): Likewise.
3068         * config/locale/gnu/time_members.cc
3069         (__timepunct<char, wchar_t>::_M_put): Likewise.
3070         * include/bits/locale_facets.tcc (__convert_from_v): Likewise.
3072 2002-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3074         * configure.in (AC_CHECK_HEADERS): Check for string.h & stdlib.h.
3075         * libsupc++/Makefile.am (LTCOMPILE): Add $(DEFS).
3077         * Makefile.in, config.h.in, configure: Regenerate.
3079 2002-05-03  Benjamin Kosnik  <bkoz@redhat.com>
3081         PR libstdc++/6549.
3082         * include/bits/fstream.tcc (filebuf::_M_underflow_common): Revert.
3083         * testsuite/27_io/narrow_stream_objects.cc (test07): Add.
3085 2002-05-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3087         * config/os/irix/irix5.2/bits/ctype_noninline.h (classic_table):
3088         Return __ctype + 1.
3089         (ctype:_M_table): Initialize to classic_table(), not __ctype.
3091 2002-05-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3093         * configure.in: Update local install.html, configopts.html paths.
3094         * configure: Regenerate.
3096 2002-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3098         * config/os/irix/irix5.2/bits/os_defines.h
3099         (__glibcpp_long_double_bits, __glibcpp_long_bits): Define.
3101         * config/os/irix/irix5.2/bits/ctype_inline.h: Cast to unsigned
3102         char.
3104 2002-05-02  Phil Edwards  <pme@gcc.gnu.org>
3106         * docs/html/faq/index.html:  Update list in #4.1.
3107         * docs/html/faq/index.txt:  Regenerated.
3109 2002-05-02  Benjamin Kosnik  <bkoz@redhat.com>
3111         * docs/html/17_intro/RELEASE-NOTES (New): Update.
3113 2002-05-01  Phil Edwards  <pme@gcc.gnu.org>
3115         * include/std/std_bitset.h:  Fix doxygen comments.
3116         * docs/html/documentation.html:  Minor tweaks for 3.1.
3117         * docs/html/27_io/howto.html:  Likewise.
3118         * docs/html/ext/howto.html:  Likewise, mention stdio_filebuf.
3119         * docs/html/faq/index.html:  Likewise.
3120         * docs/html/faq/index.txt:  Regenerated.
3122 2002-05-01  Benjamin Kosnik  <bkoz@redhat.com>
3124         PR libstdc++/6533
3125         * include/bits/streambuf_iterator.h (istreambuf_iterator::_M_get): New.
3126         (istreambuf_iterator::equal): Use it.
3127         (istreambuf_iterator::operator*): Use it.
3129 2002-05-01  Paolo Carlini  <pcarlini@unitus.it>
3131         PR libstdc++/6513
3132         * include/bits/stl_uninitialized.h
3133         (uninitialized_copy(_InputIter, _InputIter, _ForwardIter)):
3134         Fix typo in 2001-07-17 commit: typedef _ValueType to
3135         iterator_traits<_ForwardIter> not <_InputIter>.
3136         * testsuite/23_containers/vector_ctor.cc: Add test04.
3138 2002-04-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3140         PR libstdc++/6501
3141         * include/c_std/std_cctype.h: Include bits/c++config.h.
3142         * config/os/hpux/bits/os_defines.h (_SB_CTYPE_MACROS): Define.
3144 2002-04-30  Benjamin Kosnik  <bkoz@redhat.com>
3146         * include/ext/stdio_filebuf.h: New file.
3147         * include/ext/enc_filebuf.h: New file.
3148         * config/io/basic_file_stdio.h (__basic_file::sys_open): Add fd ctor.
3149         * config/io/basic_file_stdio.cc: Same.
3150         * include/bits/fstream.tcc (filebuf::_M_allocate_internal_buffer):
3151         Remove _M_unbuf hacks.
3152         (filebuf::_M_destroy_internal_buffer): Same.
3153         (filebuf::filebuf(cfile, openmode, int_type): Remove definition.
3154         (filebuf::fd): Remove.
3155         * include/std/std_fstream.h (filebuf::_M_unbuf): Remove.
3156         (filebuf::filebuf(__c_file*, openmode, int_type)): Remove.
3157         (filebuf::fd): Remove.
3158         * src/ios.cc (ios_base::_S_ios_create): Change to use specialized
3159         filebufs.
3160         (ios_base::_S_ios_destroy): Same.
3161         * src/misc-inst.cc (file_filebuf<char>): Add instantiation.
3162         * include/Makefile.am (ext_headers): Add ext_filebuf.h,
3163         stdio_filebuf.h.  * include/Makefile.in: Regenerate.
3165 2002-04-30  Benjamin Kosnik  <bkoz@redhat.com>
3167         PR libstdc++/6511
3168         * config/os/solaris/solaris2.7/bits/ctype_noninline.h: Fix typo.
3170 2002-04-29  Benjamin Kosnik  <bkoz@redhat.com>
3172         PR libstdc++/5820
3173         * include/bits/fstream.tcc (basic_filebuf::_M_underflow_common):
3174         Check for eof.
3175         * include/bits/streambuf_iterator.h: Match stream_iterator.h.
3176         (istreambuf_iterator::operator++): Invalidate on eof.
3177         (istreambuf_iterator::operator++(int)): Same.
3178         (istreambuf_iterator::operator*): Same.
3180 2002-04-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3182         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Set all
3183         of LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
3184         LD_LIBRARY64_PATH.
3186 2002-04-28  Benjamin Kosnik  <bkoz@redhat.com>
3188         PR libstdc++/5820
3189         * config/io/basic_file_stdio.h (__basic_file::sys_getc): Return int.
3190         (__basic_file::sys_ungetc): Take int.
3191         * config/io/basic_file_stdio.cc (__basic_file::sys_ungetc): Same.
3192         * include/bits/fstream.tcc (basic_filebuf::_M_underflow_common):
3193         Use sys_getc for unbuffered input.
3194         * testsuite/27_io/narrow_stream_objects.cc (test06): New.
3196         * src/ios.cc (_M_grow_words): Adjust error checking.
3197         * testsuite/27_io/ios_base_storage.cc: Same.
3199 2002-04-28  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
3201         * include/ext/stl_hashtable.h: Import __iterator_category
3203 2002-04-28  Paolo Carlini  <pcarlini@unitus.it>
3204             Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
3206         * testsuite/ext/hash_set.cc: New testfile.
3208 2002-04-27  Benjamin Kosnik  <bkoz@redhat.com>
3210         * config/os/solaris/solaris2.5/bits/os_defines.h: Remove
3211         _G_USING_THUNKS.
3212         * config/os/solaris/solaris2.6/bits/os_defines.h: Same.
3213         * config/os/solaris/solaris2.7/bits/os_defines.h: Same.
3215 2002-04-26  Paolo Carlini  <pcarlini@unitus.it>
3217         * include/bits/basic_string.h (replace(__pos, __n1, __s, __n2):
3218         Fix and tighten __throw_length_error check.
3219         * testsuite/21_strings/replace.cc (test05): New.
3220         * testsuite/21_strings/replace.cc (test02, test03, test04): Tweak.
3222 2002-04-23  Loren J. Rittle <ljrittle@acm.org>
3224         * include/std/std_fstream.h (basic_filebuf::sync): Hoist
3225         unconditional flush on lower-layer handle to here...
3226         * include/bits/fstream.tcc (basic_filebuf::_M_really_overflow):
3227         ...from here.  Optimize remaining _M_file.sync() call pattern.
3228         * testsuite/27_io/narrow_stream_objects.cc (test04): New test.
3229         (test05): Likewise.
3231 2002-04-23  Jason Merrill  <jason@redhat.com>
3233         * include/bits/fstream.tcc (basic_filebuf::seekoff): Fix for
3234         output-only filebufs.
3235         * include/std/std_fstream.h (basic_filebuf::_M_set_indeterminate):
3236         Likewise.
3237         (basic_filebuf::_M_set_determinate): Likewise.
3239         PR libstdc++/6414
3240         * include/bits/fstream.tcc (basic_filebuf::seekoff): Adjust return
3241         value properly in the trivial case.
3242         * testsuite/27_io/istream_seeks.cc (test04): Make sure that
3243         tellg() returns the right value after a read.
3245 2002-04-23  Hans-Peter Nilsson  <hp@bitrange.com>
3247         * config/cpu/mmix/bits/cpu_limits.h: New file.
3248         * configure.target (CPULIMITSH): Use it.
3250 2002-04-22  Loren J. Rittle <ljrittle@acm.org>
3252         * docs/html/17_intro/porting.texi (_GLIBCPP_AVOID_FSEEK): Remove.
3253         * docs/html/17_intro/porting.html: Rebuilt.
3255 2002-04-20  Jason Merrill  <jason@redhat.com>
3257         PR libstdc++/4150
3258         * include/std/std_streambuf.h (basic_streambuf::_M_set_indeterminate):
3259         Move to filebuf.
3260         (basic_streambuf::_M_set_determinate): Likewise.
3261         (basic_streambuf::_M_is_indeterminate): Likewise.
3262         * include/bits/std_fstream.h (basic_filebuf::_M_filepos): New
3263         non-static data member.
3264         (basic_filebuf::_M_underflow_common): New non-static member function.
3265         (basic_filebuf::_M_underflow, _M_uflow): Call it.
3266         (basic_filebuf::sync): Avoid useless seeking.
3267         (basic_filebuf::_M_set_indeterminate): Move here from streambuf.
3268         Set _M_filepos.
3269         (basic_filebuf::_M_set_determinate): Likewise.
3270         (basic_filebuf::_M_is_indeterminate): Likewise.
3271         * include/bits/fstream.tcc (basic_filebuf::_M_really_overflow): Seek
3272         back to _M_out_beg if necessary.
3273         (basic_filebuf::seekoff): Likewise.
3274         (basic_filebuf::_M_underflow_common): Generalization of old
3275         underflow().  Don't seek back to _M_in_beg.
3276         * src/ios.cc: Lose _GLIBCPP_AVOID_FSEEK stuff.
3277         * config/os/solaris/solaris2.?/bits/os_defines.h: Likewise.
3278         * config/os/bsd/freebsd/bits/os_defines.h: Likewise.
3279         * config/os/mingw32/bits/os_defines.h: Likewise.
3280         * testsuite/27_io/filebuf_virtuals.cc (test05): Don't overspecify
3281         ungetc test.
3283 2002-04-22  Benjamin Kosnik  <bkoz@redhat.com>
3285         * include/bits/istream.tcc (istream::read): Fix.
3286         * testsuite/27_io/istream_unformatted.cc (main): Add.
3288 2002-04-20  Benjamin Kosnik  <bkoz@redhat.com>
3290         PR libstdc++/6360
3291         * include/bits/istream.tcc (istream::ignore): Streamline, use
3292         delimiter as is.
3293         * include/bits/streambuf.tcc: Use this->gptr.
3294         * testsuite/27_io/istream_unformatted.cc (test08): Add test.
3296 2002-04-18  Benjamin Kosnik  <bkoz@redhat.com>
3298         * include/bits/localefwd.h (locale::id::_M_id): Do this correctly,
3299         as type safety is important, especially on solaris.
3300         * include/bits/istream.tcc (istream::read): Clean.
3301         (istream::readsome): Same.
3302         * locale.cc: Wrap lines.
3304         * testsuite/21_strings/inserters_extractors.cc: Tweaks.
3305         * testsuite/27_io/instantiations.cc (test): Add bool variable...
3306         * testsuite/21_strings/capacity.cc: Clean.
3308 2002-04-17  Phil Edwards  <pme@gcc.gnu.org>
3310         * docs/doxygen/doxygroups.cc:  New group on binary searching.
3311         * include/bits/stl_algo.h:  Document binary searches and merges.
3312         * include/bits/stl_deque.h:  The 'map' member is not the 'map' class.
3314 2002-04-17  Phil Edwards  <pme@gcc.gnu.org>
3316         * docs/doxygen/mainpage.html:  Doxygen logo is now a PNG file.
3317         * docs/doxygen/run_doxygen:  Bump required version.
3318         * docs/doxygen/user.cfg.in:  Revert accidental change.
3319         * docs/html/faq/index.html:  Reindent a block of links.
3320         (4.4):  New note on using dlsym.
3321         * docs/html/faq/index.txt:  Regenerated.
3323 2002-04-17  Phil Edwards  <pme@gcc.gnu.org>
3325         * testsuite_flags.in (cxxflags):  Also pass @EXTRA_CXX_FLAGS@.
3327 2002-04-17  Benjamin Kosnik  <bkoz@redhat.com>
3329         * config/linker-map.gnu (__malloc_alloc_template): Add.
3330         (__default_alloc_template): Same.
3331         * include/bits/stl_alloc.h (__malloc_alloc_template): Add extern
3332         template.
3333         (__default_alloc_template): Same.
3335 2002-04-17  Benjamin Kosnik  <bkoz@redhat.com>
3337         * testsuite/27_io/filebuf_virtuals.cc: Add _S_pback_size instantiation.
3339 2002-04-16  Benjamin Kosnik  <bkoz@redhat.com>
3341         * src/concept-inst.cc (vector<locale::facet*>): Remove instantiations.
3342         * src/stl-inst.cc (vector::_M_insert_aux): Remove instantiation.
3343         (__malloc_alloc_template): Conditionalize.
3345         * include/bits/istream.tcc: Remove sputbackc calls.
3347         * testsuite/19_diagnostics/stdexceptions.cc: Fix comment.
3349 2002-04-16  Paolo Carlini <pcarlini@unitus.it>
3351         * testsuite/24_iterators/rel_ops.cc: New test.
3353 2002-04-16  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
3355         * include/bits/type_traits.h (__normal_iterator): Declare in
3356         __gnu_cxx.  Adjust use at global namespace.
3357         * include/bits/stl_iterator.h (__normal_iterator): Move definition
3358         into __gnu_cxx::. Add more operator overloads.  Tidy existing ones.
3359         * include/bits/basic_string.h (basic_string): Adjust use of
3360         __normal_iterator.
3361         * include/bits/stl_vector.h (_Alloc>): Likewise.
3362         * src/concept-inst.cc (__gnu_cxx): __normal_iterator<> is now here.
3363         * src/string-inst.cc (operator==): Instantiate in __gnu_cxx.
3365 2002-04-15  Benjamin Kosnik  <bkoz@redhat.com>
3367         PR libstdc++/4164
3368         Valgrind fixes.
3369         * config/io/basic_file_stdio.cc (__basic_file::~__basic_file):
3370         Call close.
3371         (__basic_file::close): Call fflush. Correct return if fclose ok.
3372         (__basic_file::is_open): Make const.
3373         Change __c_file_type to __c_file.
3374         * config/io/basic_file_stdio.h: Change __c_file_type to __c_file.
3375         (__basic_file::is_open): Make const.
3376         * config/io/c_io_stdio.h: Change __c_file_type to __c_file.
3377         * include/std/std_fstream.h (filebuf::_M_allocate_file): Remove.
3378         (filebuf::_M_unbuf): Add.
3379         (filebuf::_M_file): Change to non-pointer.
3380         (filebuf::_M_allocate_pback_buffer): Remove.
3381         * include/bits/fstream.tcc (filebuf::_M_allocate_file): Remove.
3382         (filebuf::_M_allocate_internal_buffer): Use _M_unbuf.
3383         Change initialization list for _M_file change.
3384         (filebuf::_M_allocate_pback_buffer): Remove.
3385         Change _M_file usage to reflect non-pointer data member.
3387         * config/locale/generic/c_locale.cc
3388         (locale::facet::_S_create_c_locale): Add parameter.
3389         * config/locale/generic/collate_members.cc: Change
3390         _M_compare_helper to _M_compare.
3391         Change _M_transform_helper to _M_transform.
3392         * config/locale/generic/monetary_members.cc: Changeup data types.
3393         Add dtors.
3394         * config/locale/generic/numeric_members.cc: Add dtors.
3395         * config/locale/generic/time_members.cc: Add dtors.
3396         * config/locale/gnu/c_locale.cc: Add parameter.
3397         * config/locale/gnu/collate_members.cc:Change
3398         _M_compare_helper to _M_compare.
3399         Change _M_transform_helper to _M_transform.
3400         * config/locale/gnu/ctype_members.cc: Better error checking.
3401         * config/os/gnu-linux/bits/ctype_noninline.h: Better error checking.
3402         * config/locale/gnu/messages_members.cc: Tweak comment.
3403         * config/locale/gnu/monetary_members.cc: Change data types.
3404         Add dtors.
3405         * config/locale/gnu/numeric_members.cc: Add dtors, better error
3406         checking.
3407         * config/locale/gnu/time_members.cc: Same.
3408         * config/locale/ieee_1003.1-2001/c_locale.cc
3409         (locale::facet::_S_create_c_locale): Add parameter.
3410         * config/locale/ieee_1003.1-2001/c_locale.h: Correct typedef.
3411         * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Remove
3412         bogus ctor.
3414         * include/bits/locale_facets.h (moneypunct): Use string literals.
3415         Don't define dtor.
3416         (numpunct): Same.
3417         (__timepunct): Same.
3418         (locale::_Impl::_M_facets): Change from vector to array.
3419         (locale::_Impl::_M_names): Change from array of strings to array
3420         of string literals.
3421         (locale::facet::_S_create_c_locale): Add parameter.
3422         (locale::locale::_S_num_facets): Move to...
3423         (locale::_Impl::_M_facets_size): Here.
3424         * include/bits/locale_facets.tcc: Fixups for _M_facets, _M_name
3425         changes.
3426         * include/bits/localefwd.h: (locale::id::_M_id): Add member function.
3427         (locale::_Impl::_Impl(facet**, size_t, bool)): Add.
3428         (locale::_Impl::_Impl(string, size_t)): Change to
3429         (locale::_Impl::_Impl(const char*, size_t)): This.
3431         * include/bits/streambuf.tcc (streambuf::_S_pback_size): Define.
3432         * include/std/std_streambuf.h (streambuf::_M_pback_size): Change to
3433         (streambuf::_S_pback_size): This.
3435         * src/globals.cc: Add pre-allocations for "C" facets.
3436         * src/locale-inst.cc: Remove vector instantiations.
3437         * src/locale.cc: Remove vector include. Fixups for _M_names,
3438         _M_facets changes.
3439         * src/localename.cc: Same.
3441         * include/bits/stl_vector.h: Fix odd formatting.
3443         * include/bits/basic_string.tcc: Tweak comment.
3445         * libsupc++/new: Make sure parameters are uglified.
3446         * libsupc++/typeinfo: Same.
3448         * testsuite/22_locale/num_get_members_char.cc: Fixup.
3449         * testsuite/22_locale/num_get_members_wchar_t.cc: Same.
3450         * testsuite/27_io/filebuf_members.cc: Same.
3452 2002-04-12  Steve Ellcey  <sje@cup.hp.com>
3454         * gcc/libstdc++-v3/config/os/hpux/bits/os_defines.h
3455         (strtoll, strtoull): In 64 bit mode HP-UX (IA64 and HPPA)
3456         does not define strtoll or strtoull, but does define strtol
3457         and strtoul which are the same since in 64 bit mode
3458         sizeof(long) == sizeof(long long).
3460 2002-04-12  Phil Edwards  <pme@gcc.gnu.org>
3462         * include/std/std_bitset.h:  Doxygenate std::bitset<>.  Clean up
3463         trailing spaces, indentation, and macro names.  Make exception
3464         messages more informative.
3466 2002-04-11  Richard Henderson  <rth@redhat.com>
3468         * include/bits/fstream.tcc (basic_filebuf<>::open): Fix & ordering.
3469         * include/bits/ostream.tcc (basic_ostream<>::operator<<(long)): Same.
3470         (basic_ostream<>::operator<<(long long)): Same.
3472 2002-04-11  Richard Henderson  <rth@redhat.com>
3474         * config/linker-map.gnu: Add __gxx_personality_sj0.
3476 2002-04-09  Benjamin Kosnik  <bkoz@redhat.com>
3478         libstdc++/1072
3479         * include/bits/localefwd.h (locale::_Impl::_M_facets): Change from
3480         pointer to vector.
3481         Remove forward declaration of vector.
3482         Include vector.
3483         * include/bits/locale_facets.tcc: Remove vector include.
3484         (use_locale): Adjust.
3485         (has_locale): Adjust.
3486         * src/locale.cc: Adjust.
3487         * src/localename.cc: Same.
3489 2002-04-09  Benjamin Kosnik  <bkoz@redhat.com>
3490             Richard Henderson  <rth@redhat.com>
3492         * include/bits/sstream.tcc: Clean up bit ops.
3493         * include/bits/fstream.tcc: Same.
3495 2002-04-09  Jakub Jelinek  <jakub@redhat.com>
3497         * include/bits/locale_facets.h (__num_base::_S_scale_hex): Remove.
3498         (__num_base::_S_scale_oct): Remove.
3499         * src/locale.cc (__num_base::_S_scale_hex): Remove.
3500         (__num_base::_S_scale_oct): Remove.
3502 2002-04-09  Benjamin Kosnik  <bkoz@redhat.com>
3504         libstdc++/6124
3505         * testsuite/23_containers/bitset_members.cc: New test.
3506         * include/std/std_bitset.h (_Bit_count::_S_bit_count): Move..
3507         (_S_bit_count): Here.
3508         (_First_one::_S_first_one): Move...
3509         (_S_first_one): Here.
3510         Format.
3511         * src/bitset.cc: Adjust.
3512         * config/linker-map.gnu: Export.
3514 2002-04-08  Benjamin Kosnik  <bkoz@redhat.com>
3516         libstdc++/5180
3517         * include/bits/fstream.tcc (filebuf::seekpos): Fix.
3518         * include/std/std_fstream.h: Clean.
3519         * include/bits/ostream.tcc: Remove extraneous variables.
3520         * include/bits/sstream.tcc (stringbuf::seekoff): Be strict about
3521         open modes and which modes.
3522         (stringbuf::seekpos): Same.
3523         * testsuite/27_io/stringbuf_virtuals.cc: New tests.
3525 2002-04-05  Jonathan Wakely <jw@kayari.org>
3527         * include/bits/stl_algo.h (unique_copy, __gcd, rotate, rotate_copy,
3528         random_shuffle, partition, stable_partition, sort, stable_sort,
3529         partial_sort, partial_sort_copy, nth_element):  Doxygenate.
3531 2002-04-05  David S. Miller  <davem@redhat.com>
3533         * config/os/gnu-linux/bits/os_defines.h
3534         (__glibcpp_long_double_bits): Set to 64 on 32-bit Sparc.
3536 2002-04-04  Benjamin Kosnik  <bkoz@redhat.com>
3538         libstdc++/3457
3539         via gawrilow@math.tu-berlin.de
3540         * acinclude.m4 (version_specific_libs): Fix combo usage with
3541         --with-gxx-include-dir.
3542         * aclocal.m4: Regenerate.
3543         * configure: Same.
3545 2002-04-03  Benjamin Kosnik  <bkoz@redhat.com>
3547         As per DR 184, libstdc++/3139
3548         * include/std/std_limits.h (__glibcpp_bool_digits): Change to 1.
3549         (numeric_limits<bool>::is_iec559): False.
3550         (numeric_limits<bool>::is_modulo): False.
3552         * testsuite/27_io/ios_init.cc: Add instantiations.
3554 2002-04-02  Benjamin Kosnik  <bkoz@redhat.com>
3556         libstdc++/5268
3557         * src/ios.cc: (ios_base::Init::_S_ios_destroy): Remove flush calls.
3558         * testsuite/27_io/ios_init.cc (tests04): Add test.
3560         libstdc++/3983
3561         * include/bits/basic_ios.h (basic_ios::_M_get_fctype_ios): Remove.
3562         (basic_ios::_M_ios_fctype): Consistently name to _M_fctype.
3563         * include/bits/basic_ios.tcc: Same. Remove outdated comments.
3564         * include/bits/istream.tcc: Use _M_fctype, make consistent with
3565         ostream.
3566         * testsuite/27_io/ios_init.cc (tests03): Add test.
3568 2002-04-02  Phil Edwards  <pme@gcc.gnu.org>
3570         * include/Makefile.am (install-data-local):  Use mkinstalldirs.
3571         * include/Makefile.in:  Regenerate.
3573 2002-04-02  Paolo Carlini  <pcarlini@unitus.it>
3574             Nathan Myers  <ncm@cantrip.org>
3575             Philip Martin  <philip@codematters.co.uk>
3577         * include/bits/basic_string.h
3578         (replace(i1, i2, _CharT* k1, _CharT* k2),
3579         replace(i2, i2, const _CharT* k1, const _CharT* k2),
3580         replace(i1, i2, iterator k1, iterator k2,
3581         replace(i1, i2, const_iterator k1, const_iterator k2):
3582         New specializations to optimize for the common cases of
3583         pointers and iterators.
3584         (replace(pos, n1, s, n2)): Tweak.
3585         * include/bits/basic_string.tcc: Tweak comments.
3586         * testsuite/21_strings/replace.cc (test04): New tests.
3588 2002-04-01  Benjamin Kosnik  <bkoz@redhat.com>
3590         libstdc++/5542
3591         * acinclude: More extensive checks for msgfmt, --enable-nls.
3592         * aclocal.m4: Regenerate.
3593         * configure: Regenerate.
3595 2002-04-01  Phil Edwards  <pme@gcc.gnu.org>
3597         * libsupc++/exception (__verbose_terminate_handler):  Point to docs.
3598         * docs/doxygen/doxygroups.cc:  Doxygen hooks for abi::__cxa_demangle.
3599         * docs/html/18_support/howto.html:  Document the demangler.
3600         * docs/html/17_intro/howto.html:  And link to it.
3602         * docs/doxygen/mainpage.html:  Describe user-vs-maintainer docs.
3603         * docs/doxygen/run_doxygen:  Print user-vs-maintainer.
3605 2002-04-01  Phil Edwards  <pme@gcc.gnu.org>
3607         * config/linker-map.gnu:  Export __verbose_terminate_handler.
3608         * libsupc++/Makefile.am (sources):  Add cxa_demangle.c, dyn-string.c.
3609         Make new LTCOMPILE variable, use it in new special build rules.
3610         * libsupc++/Makefile.in:  Rebuild.
3611         * src/vterminate.cc (__verbose_terminate_handler):  Enable use of
3612         runtime __cxa_demangle.
3614         * docs/html/install.html:  Update prereqs and instructions.
3615         * docs/html/19_diagnostics/howto.html:  Bring naming for
3616         verbose_terminate_handler into line with reality.
3618 2002-04-01  Benjamin Kosnik  <bkoz@redhat.com>
3620         libstdc++/3129
3621         * include/bits/basic_ios.h (basic_ios::_M_exception): Move.
3622         (basic_ios::_M_streambuf_state): Move.
3623         * include/bits/ios_base (ios_base): To here.
3624         * include/bits/ios_base.h (ios_base::_S_local_words): To
3625         _S_local_word_size.
3626         (ios_base::_M_word_array): To _M_local_word.
3627         (ios_base::_M_words_limit): To _M_word_size.
3628         (ios_base::_M_words): To _M_word.
3629         Comment.
3630         * include/bits/basic_ios.tcc: Adjust.
3631         * src/ios.cc (ios_base::_M_grow_words): Tweak.
3632         * testsuite/27_io/ios_base_storage.cc: Add tests.
3634         libstdc++/5207
3635         Kenny Simpson <theonetruekenny@yahoo.com>
3636         * include/bits/ios_base.h: Fix.
3638         Richard Henderson  <rth@redhat.com>
3639         * include/bits/ostream.tcc (ostream::operator<<(_CharT)): Correct
3640         last change.
3642         * include/bits/basic_string.h: Tweak formatting.
3644 2002-04-01  Paolo Carlini  <pcarlini@unitus.it>
3646         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
3647         (codecvt::do_out, codecvt::do_unshift, codecvt::do_in):
3648         By definition, sizeof(char) == 1.
3649         * include/bits/locale_facets.tcc (money_get::do_get,
3650         money_put::do_put): Ditto.
3651         * testsuite/21_strings/inserters_extractors.cc
3652         (test04): Ditto.
3654 2002-03-30  Richard Henderson  <rth@redhat.com>
3656         PR c++/3719
3657         * libsupc++/eh_personality.cc (__cxa_call_unexpected): Copy handler
3658         data out of the exception struct before calling unexpectedHandler.
3660 2002-03-28  Roger Sayle  <roger@eyesopen.com>
3662         * include/c_std/std_cmath.h:  To prevent problems overloading
3663         g++ builtins, use the double variants from the global namespace
3664         before defining float and long double variants in std::.
3666 2002-03-28  Loren J. Rittle <ljrittle@acm.org>
3668         * testsuite/18_support/numeric_limits.cc (test_extrema): Fix typo.
3670 2002-03-28  Paolo Carlini  <pcarlini@unitus.it>
3672         * testsuite/24_iterators/istream_iterator.cc
3673         (test02): New tests.
3675 2002-03-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3676             Paolo Carlini  <pcarlini@unitus.it>
3678         * testsuite/22_locale/codecvt_members_unicode_wchar_t.cc
3679         (test01): Protect the test with _GLIBCPP_USE_WCHAR_T;
3680         fix i_lit_base e_lit_base arrays, making them independent
3681         from the endianness of the platform; tweak UCS4 to UCS-4BE.
3683 2002-03-27  Benjamin Kosnik  <bkoz@redhat.com>
3685         * include/bits/ostream.tcc (ostream::operator<<(_CharT)): Always
3686         allocate at least a byte.
3688         * testsuite/18_support/numeric_limits.cc (test_extrema): Make
3689         debugger-friendly.
3690         * testsuite/27_io/streambuf.cc (test07): Fix.
3691         (test06): Enable.
3693 2002-03-27  Phil Edwards  <pme@gcc.gnu.org>
3695         * docs/doxygen/Intro.3:  Date tweak.
3696         * docs/doxygen/TODO:  Update.
3697         * docs/doxygen/doxygroups.cc:  Point to tables.html.
3698         * docs/doxygen/mainpage.html:  Date tweak.
3699         * docs/doxygen/run_doxygen:  Version tweak.  Copy tables.html over.
3700         * docs/doxygen/tables.html:  Fill in the blanks.
3702         * docs/doxygen/user.cfg.in (ALIASES):  Remove maint and endmaint.
3703         * include/bits/stl_algo.h:  Likewise; use expanded form.
3704         * include/bits/stl_alloc.h:  Likewise.
3705         * include/bits/stl_construct.h:  Likewise.
3706         * include/bits/stl_deque.h:  Likewise.
3707         * include/bits/stl_iterator_base_types.h:  Likewise.
3708         * include/bits/stl_list.h:  Likewise.
3709         * include/bits/stl_relops.h:  Likewise.
3710         * include/bits/stl_tempbuf.h:  Likewise.
3711         * include/bits/stl_vector.h:  Likewise.
3712         * include/std/std_memory.h:  Likewise.
3714         * include/bits/stl_deque.h:  Point into tables.html and add @ingroup.
3715         * include/bits/stl_list.h:  Likewise.
3716         * include/bits/stl_vector.h:  Likewise.
3718 2002-03-26  Benjamin Kosnik  <bkoz@redhat.com>
3720         * include/c/: Guard with _CPP_.
3721         * include/c_std/: Same.
3722         * include/Makefile.am: Fixup install, link routines for null
3723         c_base_headers_extra scenarios.
3724         * include/Makefile.in: Regerate.
3726 2002-03-25  Paolo Carlini <pcarlini@unitus.it>
3727             Richard Henderson  <rth@redhat.com>
3729         * testsuite/22_locale/codecvt_members_unicode_char.cc
3730         (test01, test02): make sure that the i_lit_base array
3731         is sufficiently aligned.
3733 2002-03-25  Benjamin Kosnik  <bkoz@redhat.com>
3735         * config/os/newlib/bits/ctype_noninline.h (ctype::classic): Set to
3736         _ctype_.
3738 2002-03-25  Paolo Carlini  <pcarlini@unitus.it>
3740         * testsuite/22_locale/collate_byname.cc
3741         (test01): compare the result of collate::compare with
3742         that of collate::transform + string::compare, not with
3743         that of collate::transform + collate::compare; values
3744         returned by collate::compare are normalized, therefore
3745         test against +-1.
3747 2002-03-25  Benjamin Kosnik  <bkoz@redhat.com>
3748             Jakub Jelinek  <jakub@redhat.com>
3750         * config/locale/gnu/messages_members.h: Correct conditional.
3751         * config/locale/gnu/messages_members.cc: Same.
3752         * config/locale/gnu/time_members.cc: Same.
3754 2002-03-25  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3755             Paolo Carlini  <pcarlini@unitus.it>
3757         * testsuite/22_locale/codecvt_members_unicode_char.cc
3758         (test01, test02): Fix i_lit_base arrays, making them
3759         independent from the endianness of the platform.
3761 2002-03-22  Benjamin Kosnik  <bkoz@redhat.com>
3763         * acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_SUPP): Just test for
3764         signbit and __signbit directly.
3765         * aclocal.m4: Regenerate.
3766         * configure: Regenerate.
3767         * config.h.in: Regenerate.
3768         * libmath/Makefile.am: Simplify.
3769         * libmath/Makefile.in: Regenerate.
3770         * include/c_std/std_cmath.h: Update paths for include of cmath.tcc.
3772         * include/Makefile.am: Clean up handling of extra "C" header files.
3773         Add hooks for "C" compatibility headers.
3774         * include/Makefile.in: Regenerate.
3776         * include/c/*: Formatting tweaks, cleanups.
3777         * include/c_std/*: Same.
3779 2002-03-22  Benjamin Kosnik  <bkoz@redhat.com>
3781         * config/locale/gnu/messages_members.h: Add __uselocale bits.
3782         * config/locale/gnu/messages_members.cc: Same.
3783         * config/locale/gnu/time_members.cc: Same.
3785 2002-03-22  Benjamin Kosnik  <bkoz@redhat.com>
3787         * src/vterminate.cc: Format, -fno-exceptions cleanup.
3789 2002-03-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3791         * acinclude.m4 (GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3): New.
3792         (GLIBCPP_CONFIGURE_TESTSUITE): Use it to check for setenv.
3793         * aclocal.m4: Regenerate.
3794         * configure: Likewise.
3796 2002-03-19  Paolo Carlini  <pcarlini@unitus.it>
3797             Ulrich Drepper  <drepper@redhat.com>
3799         * src/locale-inst.cc (__convert_from_v): Add an additional
3800         __size parameter in the declarations.
3801         * include/bits/locale_facets.tcc
3802         (__convert_from_v): When available (that is,
3803         _GLIBCPP_USE_C99 defined) use snprintf instead of sprintf.
3804         (num_put::_M_convert_float): Depending on _GLIBCPP_USE_C99
3805         being defined or not, call and use __convert_from_v in the
3806         appropriate way.
3807         (num_put::_M_convert_int): Same here.
3808         (money_put::do_put(long double)): Same here.
3810 2002-03-19  Phil Edwards  <pme@gcc.gnu.org>
3812         * docs/html/faq/index.html (#3.6):  Rewrap and close <a href> tags.
3813         * docs/html/faq/index.txt:  Regenerate.
3815 2002-03-19  Steve Ellcey  <sje@cup.hp.com>
3817         * acinclude.m4 (GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS): Define
3818         GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS to set LIBUNWIND_FLAG if
3819         --enable-libunwind-exceptions is set.
3820         * configure.in (GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS): Call new
3821         macro to check for libunwind.
3822         * configure: Regenerate.
3823         * src/Makefile.am (libstdc___la_LDFLAGS): Add
3824         LIBUNWIND_FLAG to libstdc link line.
3825         * src/Makefile.in: Regenerate.
3827 2002-03-19  Benjamin Kosnik  <bkoz@redhat.com>
3829         * docs/html/faq/index.html: Add OS X workaround.
3830         * docs/html/17_intro/TODO: Update.
3832 2002-03-18  Paolo Carlini  <pcarlini@unitus.it>
3834         * include/bits/locale_facets.tcc
3835         (money_put::do_put(long double)): Fix dimensioning of
3836         temporary buffers to avoid risk of overruns.
3837         (money_put::do_put(string)): Same for the buffer used to
3838         add the grouping chars.
3839         * testsuite/22_locale/money_put_members_char.cc: Add test06.
3840         * testsuite/22_locale/money_put_members_wchar_t.cc: Ditto.
3842         * include/bits/locale_facets.tcc
3843         (collate::do_transform): Simplify.
3845 2002-03-18  Phil Edwards  <pme@gcc.gnu.org>
3847         * acinclude.m4 (GLIBCPP_CONFIGURE):  Make indentation/spacing uniform.
3848         * configure.in:  Add comments pointing the way for autoconf 2.5x.
3849         * aclocal.m4, config.h.in, configure:  Regenerate.
3851 2002-03-18  Philipp Thomas  <pthomas@suse.de>
3853         * include/backward/hash_map.h: hash, hashtable, hash_map and
3854         hash_multimap are in namespace __gnu_cxx.
3855         include/backward/hash_set.h: hash, hashtable, hash_set and
3856         hash_multiset are in namespace __gnu_cxx.
3857         include/backward/hashtable.h: hash and hashtable are in
3858         namespace __gnu_cxx.
3859         include/backward/rope.h: char_producer, sequence_buffer,
3860         rope, crope and wrope are in namespace __gnu_cxx.
3861         include/backward/slist.h: slist is in namespace __gnu_cxx.
3862         * testsuite/backward/header_hash_map_h.cc
3863         testsuite/backward/header_hash_set_h.cc
3864         testsuite/backward/header_hashtable_h.cc
3865         testsuite/backward/header_rope_h.cc
3866         testsuite/backward/header_slist_h.cc
3867         testsuite/backward/header_tempbuf_h.cc: New tests for
3868         checking that we're using the correct namespace.
3870 2002-03-17  Jason Merrill  <jason@redhat.com>
3872         PR c++/4381
3873         * libsupc++/eh_personality.cc (get_adjusted_ptr): New static fn.
3874         (check_exception_spec): Call it.  Take the thrown pointer.
3875         (__cxa_call_unexpected): Pass it.
3876         (PERSONALITY_FUNCTION): Likewise.  Use get_adjusted_ptr.
3878 2002-03-15  Anthony Green  <green@redhat.com>
3880         * configure.in: Remove useless is_mingw32.
3881         * configure: Rebuilt.
3883 2002-03-15  Paolo Carlini  <pcarlini@unitus.it>
3885         * testsuite/22_locale/collate_members_char.cc
3886         (test01): compare the result of collate::compare with
3887         that of collate::transform + string::compare, not with
3888         that of collate::transform + collate::compare.
3889         (test01): values returned by collate::compare are
3890         normalized, therefore test against +-1.
3891         * testsuite/22_locale/collate_members_wchar_t.cc: Ditto.
3893 2002-03-12  Loren Rittle  <ljrittle@acm.org>
3895         reported by Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
3896         * testsuite/thread/pthread4.cc: Lower nominal iteration counter.
3898 2002-03-12  Benjamin Kosnik  <bkoz@redhat.com>
3899             Per Liboriussen  <liborius@stofanet.dk>
3901         * config/os/gnu-linux/bits/ctype_noninline.h: Cast to
3902         unsigned char.
3903         * config/os/gnu-linux/bits/ctype_inline.h: Same.
3905         * config/os/irix/irix6.5/bits/ctype_inline.h: Same.
3907         * config/os/solaris/solaris2.5/bits/ctype_inline.h: Same.
3908         * config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.
3910         * config/os/solaris/solaris2.6/bits/ctype_inline.h: Same.
3911         * config/os/solaris/solaris2.6/bits/ctype_noninline.h: Same.
3913         * config/os/solaris/solaris2.7/bits/ctype_inline.h: Same.
3914         * config/os/solaris/solaris2.7/bits/ctype_noninline.h: Same.
3916         * testsuite/22_locale/ctype_members_char.cc (main): Add tests.
3918 2002-03-12  Benjamin Kosnik  <bkoz@redhat.com>
3920         * include/bits/basic_string.tcc (string::_S_construct(_InIter,
3921         _InIter, const _Alloc&, forward_iterator_tag): Check for null.
3922         (string::basic_string(const _CharT* __s, const _Alloc& __a)): Same.
3923         * testsuite/21_strings/ctor_copy_dtor.cc (test01): Re-enable, now
3924         that memory limits are in place.
3925         (test03): Add tests.
3927 2002-03-11  Benjamin Kosnik  <bkoz@redhat.com>
3929         * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Check for wctype.h.
3930         * aclocal.m4: Regenerate.
3931         * config.h.in: Regenerate.
3932         * configure: Regenerate.
3933         * include/c_std/std_cwctype.h: Guard.
3935 2002-03-11  Chris Demetriou  <cgd@broadcom.com>
3937         * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Enhance check for
3938         whether GLIBCPP_CHECK_LINKER_FEATURES has been used.
3939         * aclocal.m4: Regenerate.
3940         * configure: Regenerate.
3942 2002-03-11  Benjamin Kosnik  <bkoz@redhat.com>
3944         * include/bits/stl_bvector.h: Fix warning.
3946 2002-03-11  Richard Henderson  <rth@redhat.com>
3948         * include/bits/stl_bvector.h (_Bit_type): New.  Use throughout.
3950 2002-03-11  Phil Edwards  <pme@gcc.gnu.org>
3952         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-list-sourcefiles):
3953         New function.  Build the list of tests to run in testsuite_files.
3954         * testsuite/libstdc++-v3.dg/dg.exp:  Use it.
3956 2002-03-11  Phil Edwards  <pme@gcc.gnu.org>
3958         * testsuite/21_strings/capacity.cc:  Only explicitly instantiate on
3959         platforms with no weak support.
3960         * testsuite/27_io/ios_init.cc:  Likewise.
3962 2002-03-10  Paolo Carlini  <pcarlini@unitus.it>
3964         * include/bits/locale_facets.tcc (time_put::do_put):
3965         Consider sizeof(char_type) in allocating the buffer.
3967         * include/bits/locale_facets.tcc (collate::do_tranform):
3968         Remove redundant variable.
3970 2002-03-10  Ulrich Drepper  <drepper@redhat.com>
3971             Paolo Carlini  <pcarlini@unitus.it>
3973         * config/locale/generic/collate_members.cc
3974         (collate<char,wchar_t>::_M_compare_helper): normalize
3975         values returned by strcoll and wcscoll.
3976         * config/locale/gnu/collate_members.cc
3977         (collate<char,wchar_t>::_M_compare_helper): ditto
3978         for __strcoll_l and __wcscoll_l.
3980 2002-03-10  Anthony Green  <green@redhat.com>
3982         * configure.in: Support cross builds to mingw32 target.
3983         * configure: Rebuilt.
3985 2002-03-09  Paolo Carlini  <pcarlini@unitus.it>
3987         * include/bits/locale_facets.tcc (collate::do_transform):
3988         Rewrite to fix problems with long transformed strings.
3990 2002-03-08  Benjamin Kosnik  <bkoz@redhat.com>
3992         * c_locale_generic.cc: Move to...
3993         * generic/c_locale.cc
3994         * c_locale_generic.h: Move to...
3995         * generic/c_locale.h
3996         * codecvt_specializations_generic.h: Move to...
3997         * generic/codecvt_specializations.h
3998         * collate_members_generic.cc: Move to...
3999         * generic/collate_members.cc
4000         * ctype_members_generic.cc: Move to...
4001         * generic/ctype_members.cc
4002         * messages_members_generic.cc: Move to...
4003         * generic/messages_members.cc
4004         * messages_members_generic.h: Move to...
4005         * generic/messages_members.h
4006         * moneypunct_members_generic.cc: Move to...
4007         * generic/monetary_members.cc
4008         * numpunct_members_generic.cc: Move to...
4009         * generic/numeric_members.cc
4010         * time_members_generic.cc: Move to...
4011         * generic/time_members.cc
4012         * c_locale_gnu.cc: Move to...
4013         * gnu/c_locale.cc
4014         * c_locale_gnu.h: Move to...
4015         * gnu/c_locale.h
4016         * collate_members_gnu.cc: Move to...
4017         * gnu/collate_members.cc
4018         * ctype_members_gnu.cc: Move to...
4019         * gnu/ctype_members.cc
4020         * messages_members_gnu.cc: Move to...
4021         * gnu/messages_members.cc
4022         * messages_members_gnu.h: Move to...
4023         * gnu/messages_members.h
4024         * moneypunct_members_gnu.cc: Move to...
4025         * gnu/monetary_members.cc
4026         * numpunct_members_gnu.cc: Move to...
4027         * gnu/numeric_members.cc
4028         * time_members_gnu.cc: Move to...
4029         * gnu/time_members.cc
4030         * c_locale_ieee_1003.1-200x.cc: Move to...
4031         * ieee_1003.1-2001/c_locale.cc
4032         * c_locale_ieee_1003.1-200x.h: Move to...
4033         * ieee_1003.1-2001/c_locale.h
4034         * codecvt_specializations_ieee_1003.1-200x.h: Move to...
4035         * ieee_1003.1-2001/codecvt_specializations.h
4036         * messages_members_ieee_1003.1-200x.cc: Move to...
4037         * ieee_1003.1-2001/messages_members.cc
4038         * messages_members_ieee_1003.1-200x.h: Move to...
4039         * ieee_1003.1-2001/messages_members.h
4041         * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Make consistent.
4042         * aclocal.m4: Regenerate.
4043         * configure: Regenerate.
4044         * src/Makefile.am (sources): Change to monetary and numeric.
4045         * src/Makefile.in: Regenerate.
4046         * docs/html/configopts.html: Update to ieee_1003.1-2001.
4048 2002-03-08  scott snyder  <snyder@fnal.gov>
4050         libstdc++/5875
4051         * include/bits/locale_facets.tcc (num_put::_M_convert_float):
4052         Allow one more digit of precision.
4053         * testsuite/27_io/ostream_inserter_arith.cc: Test that we can
4054         write a double and read back in the same value.
4056 2002-03-08  Benjamin Kosnik  <bkoz@redhat.com>
4058         * include/std/std_limits.h: Move static const data members out of
4059         generic template, into base class __numeric_limits_base.
4060         * src/limits.cc: Add definitions.
4061         * config/linker-map.gnu: Add __numeric_limits_base.
4062         * testsuite/18_support/numeric_limits.cc: Declare test in scope.
4064 2002-03-07  Benjamin Kosnik  <bkoz@redhat.com>
4066         * include/bits/stl_alloc.h: Add extern implicit allocator
4067         instantiations.
4068         * include/bits/basic_string.tcc: Tweak.
4069         * include/bits/locale_facets.tcc: Remove default args. Add
4070         has_facet, use_facet extern instantiations.
4071         * src/stl-inst.cc: Add explicit instantiation.
4072         * src/locale-inst.cc: Clean. Remove locale member template
4073         instantiations.
4075         * testsuite/22_locale/operators.cc (test02): Enable.
4077 2002-03-06  Benjamin Kosnik  <bkoz@redhat.com>
4078             Stephen M. Webb  <stephen.webb@bregmasoft.com>
4080         * include/bits/stl_tree.h (_S_rb_tree_red): Make enum.
4081         (_S_rb_tree_black): Make enum.
4082         Clean. Format.
4083         * include/bits/stl_bvector.h (__WORD_BIT): To _M_word_bit, enum.
4084         * include/bits/stl_algo.h (__stl_chunk_size): _M_chunk_size, enum.
4085         (__stl_threshold): _M_threshold, enum.
4086         * src/stl-inst.cc: Same.
4087         * config/linker-map.gnu: Remove.
4089         * testsuite/23_containers/vector_bool.cc: New.
4091 2002-03-06  Phil Edwards  <pme@gcc.gnu.org>
4093         * docs/doxygen/user.cfg.in:  Also document deprecated entries.
4094         * docs/html/Makefile:  Example rule to rebuild porting-howto.html.
4095         * docs/html/17_intro/howto.html:  "gcc"->"GCC" changes, when
4096         referring to the collection as a whole.  New section on which macros
4097         can be redefined by the user.
4098         * docs/html/19_diagnostics/howto.html:  Update note for concepts.
4099         * docs/html/20_util/howto.html:  Update link to SGI.
4100         * docs/html/faq/index.html:  Update snapshot versions.  New entry
4101         on why g++ (but not gcc) must currently predefine certain macros.
4102         * docs/html/faq/index.txt:  Regenerated.
4104         * include/bits/basic_string.h (basic_string::_S_construct):  Fix
4105         names in declaration.
4106         (basic_string::compare):  These are no longer optional.
4107         * include/bits/ostream.tcc:  Tweak closing brace placement.
4108         * include/bits/stl_algo.h:  Lots of initial doxygen comment hooks.
4109         * include/std/std_sstream.h:  Fix typo in comment.
4110         * include/bits/locale_facets.tcc:  Remove unneeded header inclusion.
4111         * src/locale.cc:  Likewise.
4113 2002-03-06  Phil Edwards  <pme@gcc.gnu.org>
4115         PR libstdc++/5734
4116         * include/bits/stl_vector.h (vector::push_back()):  Guard with
4117         _GLIBCPP_DEPRECATED.
4119 2002-03-06  Phil Edwards  <pme@gcc.gnu.org>
4121         * include/bits/c++config:  Fix misplaced leading blanks on first line.
4123 2002-03-05  Benjamin Kosnik  <bkoz@redhat.com>
4125         * docs/html/17_intro/RELEASE-NOTES: Fix usage.
4126         * README (libmath): Make clear.
4128 2002-03-05  Jakub Jelinek  <jakub@redhat.com>
4130         * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Check for version
4131         script globbing in ld.
4132         * aclocal.m4: Rebuilt.
4133         * configure: Rebuilt.
4135 2002-03-05  Benjamin Kosnik  <bkoz@redhat.com>
4137         * docs/html/17_intro/RELEASE-NOTES: Update.
4138         * README: Format subdirectories.
4140 2002-03-05  Paolo Carlini  <pcarlini@unitus.it>
4142         libstdc++/5816
4143         * include/bits/locale_facets.tcc
4144         (num_get::_M_extract_float): Fix the parsing of __dec, since
4145         the standard prescribes that if no grouping characters are
4146         seen, no grouping check is applied.
4147         * testsuite/22_locale/num_get_members_char.cc: Add test05
4148         distilled from the PR.
4149         * testsuite/22_locale/num_get_members_wchar_t.cc: Ditto.
4151 2002-03-04  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4153         * docs/html/17_intro/porting-howto.xml: Refer to
4154         http://www.oasis-open.org for docbookx.dtd.
4155         * docs/html/17_intro/porting-howto.html: Regenerated.
4157 2002-03-03  Phil Edwards  <pme@gcc.gnu.org>
4159         PR libstdc++/3955
4160         * include/std/std_sstream.h:  Remove trailing spaces.
4161         (basic_stringbuf::_M_stringbuf_init):  Also check for ios_base::app.
4162         * testsuite/27_io/stringbuf.cc (test05, test06):  New tests.
4164 2002-03-02  Paolo Carlini  <pcarlini@unitus.it>
4166         * testsuite/22_locale/num_get_members_char.cc (test04):
4167         Use a named locale expecting grouping (de_DE).
4168         * testsuite/22_locale/num_get_members_wchar_t.cc (test04):
4169         Ditto.
4170         * testsuite/27_io/ios_manip_basefield.cc (test01):
4171         Extend coverage, uniform treatment of hexs and octs.
4173 2002-02-28  Richard Henderson  <rth@redhat.com>
4175         * config/linker-map.gnu: Export operator new with unsigned long,
4176         and with std::nothrow_t.  Likewise operator delete.
4178 2002-02-28  Paolo Carlini  <pcarlini@unitus.it>
4180         * include/bits/locale_facets.tcc (num_get::_M_extract_int):
4181         Admit grouping for octals and hexadecimals too.
4182         * testsuite/22_locale/num_get_members_char.cc: Add test04.
4183         (test01): Tweak "." -> "," in void* test.
4184         * testsuite/22_locale/num_get_members_wchar_t.cc: Ditto.
4186         * testsuite/27_io/ios_manip_basefield.cc: Remove static keyword.
4187         * testsuite/27_io/ios_manip_fmtflags.cc: Remove two of them.
4189 2002-02-27  Paolo Carlini  <pcarlini@unitus.it>
4191         * testsuite/27_io/ios_manip_basefield.cc (test01):
4192         Fix for 64 bit machines.
4194 2002-02-26  Benjamin Kosnik  <bkoz@redhat.com>
4196         libstdc++/3983
4197         * include/bits/basic_ios.tcc (basic_ios::init): Set _M_fill to zero.
4198         Adjust comment.
4199         * include/bits/basic_ios.h (basic_ios::_M_fill): Make mutable.
4200         (basic_ios::_M_fill_init): New.
4201         (basic_ios::fill()): Delay dealing with _M_fill.
4202         Adjust comment.
4203         * ios.cc (ios_base::ios_base()): Initialize _M_callbacks, _M_words.
4204         (ios_base::_M_call_callbacks): Adjust.
4205         * testsuite/27_io/ios_init.cc (test02): Adjust testcase.
4207 2002-02-26  Loren Rittle  <ljrittle@acm.org>
4209         * include/Makefile.am (thread_target_headers): Unconditionally
4210         stage and install gthr-posix.h.
4211         (${target_builddir}/gthr-posix.h): New rule cloned off
4212         ${target_builddir}/gthr-default.h.
4213         (${target_builddir}/gthr-default.h): Support chained inclusion
4214         of gthr support headers.
4215         * include/Makefile.in: Rebuilt.
4217 2002-02-26  Paolo Carlini  <pcarlini@unitus.it>
4219         * include/bits/locale_facets.tcc (num_put::_M_widen_int):
4220         Group all the integral types, not only decs.
4221         * testsuite/27_io/ios_manip_basefield.cc (test01): Tweak existing
4222         tests, add a few more.
4224 2002-02-25  Benjamin Kosnik  <bkoz@redhat.com>
4226         * src/ios.cc (ios_base::~ios_base): Tweak.
4227         (ios_base::_M_call_callbacks): Deal with null __p.
4228         (ios_base::ios_base): Set _M_callbacks.
4229         * include/bits/basic_ios.tcc (basic_ios::init): Adjust comment.
4230         * testsuite/27_io/ios_init.cc (test02): Fix.
4232         * mkcheck.in (static_fail): Failed links go to output file.
4234 2002-02-25  Phil Edwards  <pme@gcc.gnu.org>
4236         * docs/html/faq/index.html:  Update.
4237         * docs/html/faq/index.txt:  Regenerate.
4239 2002-02-22  Phil Edwards  <pme@gcc.gnu.org>
4241         * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS):  Fix comment.
4242         * aclocal.m4:  Regenerate.
4243         * docs/html/configopts.html:  Document --enable-symvers.
4244         * config/linker-map.gnu:  Break libsupc++ symbols out to their own tag.
4246 2002-02-22  Philipp Thomas  <pthomas@suse.de>
4248         * include/backward/tempbuf.h: get_temporary_buffer and
4249         return_temporary_buffer are in namespace std, not in __gnu_cxx.
4251 2002-02-21  Benjamin Kosnik  <bkoz@redhat.com>
4253         * configure.in (target_alias): Default to yes.
4254         * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Add check for shared
4255         libgcc to default case.
4257 2002-02-20  Phil Edwards  <pme@gcc.gnu.org>
4259         * acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES):  Also check version.
4260         (GLIBCPP_ENABLE_SYMVERS):  Redo logic, use linker version.
4261         * configure.in (GLIBCPP_ENABLE_SYMVERS):  Move later in the script.
4262         * aclocal.m4:  Regenerate.
4263         * configure:  Regenerate.
4264         * config/linker-map.dummy:  New file.  Contains nothing useful.
4266 2002-02-20  Benjamin Kosnik  <bkoz@redhat.com>
4268         * testsuite/22_locale/money_put_members_char.cc: Fix.
4269         * testsuite/22_locale/money_put_members_wchar_t.cc: Fix.
4271         * testsuite/27_io/standard_manipulators.cc: New file.
4273         * testsuite/27_io/ios_manip_basefield.cc: Check results, now failing.
4274         * testsuite/27_io/ios_manip_fmtflags.cc: Use locale::classic().
4276 2002-02-20  Danny Smith  <dannysmith@users.sourceforge.net>
4278         * config/os/mingw32/bits/ctype_noninline.h
4279         (ctype<char>::ctype): Remove default args from parm list.
4280         * config/os/djgpp/bits/ctype_noninline.h: Same.
4282 2002-02-19  Benjamin Kosnik  <bkoz@redhat.com>
4284         * include/std/std_iomanip.h: Inline, tweaks.
4285         * config/linker-map.gnu: Remove hacks.
4287         * testsuite/21_strings/capacity.cc: Add explicit instantiations.
4288         * testsuite/27_io/ios_init.cc: Same.
4289         * testsuite/22_locale/money_get_members_char.cc (test07): Fix.
4290         * testsuite/22_locale/money_get_members_wchar_t.cc (test07): Same.
4292 2002-02-19  Benjamin Kosnik  <bkoz@redhat.com>
4294         * config/linker-map.gnu: Export global vtable, typeinfo, guard
4295         variable, and thunk info as per CXXABI docs.
4297 2002-02-19  Loren Rittle <ljrittle@acm.org>
4299         * include/Makefile.am: Use CONFIG_HEADER instead of ad hoc names.
4300         * include/Makefile.in: Rebuilt.
4302 2002-02-18  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
4304         * testsuite/22_locale/collate_byname.cc (test01): Replace size4
4305           with size3 for the string collations of str5.
4307 2002-02-18  Paolo Carlini  <pcarlini@unitus.it>
4309         libstdc++/5708
4310         * include/bits/locale_facets.tcc (money_put::do_put):
4311         For the space field use __fill instead of ' ', uniformly.
4312         * testsuite/22_locale/money_put_members_char.cc:
4313         Add test05 distilled from PR.
4314         (test01-02-03): Trim some '*' to ' '.
4315         * testsuite/22_locale/money_put_members_wchar_t.cc: Ditto.
4317 2002-02-18  Loren Rittle <ljrittle@acm.org>
4319         libstdc++/5697
4320         * include/Makefile.am (thread_builddir): Remove (map all
4321         existing uses to target_builddir).
4322         (thread_headers): Rename to...
4323         (thread_target_headers): ...this.
4324         (stamp-thread): Remove.
4325         (stamp-target): Correctly state the position as built.
4326         Update all dependencies to match the new reality.  Remove all
4327         dependency calculations on directories.
4328         * include/Makefile.in: Rebuilt.
4330 2002-02-16   Benjamin Kosnik  <bkoz@redhat.com>
4332         * include/bits/locale_facets.tcc: Add pragma GCC system_header.
4333         * include/bits/fstream.tcc: Same.
4334         * include/bits/sstream.tcc: Same.
4335         * include/bits/ostream.tcc: Same.
4336         * include/bits/istream.tcc: Same.
4337         * include/bits/streambuf.tcc: Same.
4338         * include/bits/basic_ios.tcc: Same.
4339         * include/bits/basic_string.tcc: Same.
4341 2002-02-15  Benjamin Kosnik  <bkoz@redhat.com>
4343         * include/std/std_iosfwd.h: Don't guard typedefs with
4344         _GLIBCPP_USE_WCHAR_T
4345         * include/bits/stringfwd.h: Same.
4347 2002-02-15  Benjamin Kosnik  <bkoz@redhat.com>
4349         * src/locale.cc (moneypunct_byname): Remove definitions.
4350         * include/std/std_streambuf.h (streambuf::operator=): Return.
4352 2002-02-15  Benjamin Kosnik  <bkoz@redhat.com>
4354         Tune for size.
4355         * src/string-inst.cc (string::_Rep::_S_terminal): Remove redundant
4356         explicit instantiation.
4357         (string::_Rep::_S_max_size): Same.
4358         * include/bits/basic_string.tcc: Add extern explicit
4359         instantiations for string, wstring.
4360         * include/bits/basic_ios.tcc: Add extern explicit instantiations
4361         for ios, wios.
4362         * include/bits/streambuf.tcc: Same, for streambuf, wstreambuf.
4363         * include/bits/istream.tcc: Same, for istream, wistream.
4364         * include/bits/ostream.tcc: Same for ostream, wostream, iostream,
4365         wiostream.
4366         * include/bits/sstream.tcc: Same, for stringbuf, wstringbuf,
4367         istringstream, wistringstream, ostringstream, wostringstream,
4368         stringstream, wstringstream.
4369         * include/bits/fstream.tcc: Same, for filebuf, wfilebuf, ifstream,
4370         wifstream, ofstream, wofstream, fstream, wfstream.
4371         * src/misc-inst.cc: Correct comments.
4372         Add iomanip instantiations for wide streams.
4373         * include/std/std_iomanip.h: Same.
4374         * include/bits/locale_facets.tcc: Same.
4376         * include/std/std_streambuf.h: Correct
4377         _GLIBCPP_FULLY_COMPLIANT_HEADERS guard.
4378         * include/std/std_sstream.h: Same.
4379         * include/std/std_ostream.h: Same.
4380         * include/std/std_istream.h: Same.
4381         * include/std/std_fstream.h: Same.
4383         * include/std/std_streambuf.h: Add definitions for private copy
4384         ctor and assignment operator.
4385         * include/std/std_istream.h: Remove declared but undefined copy
4386         ctor and assignment operator. This is taken care of in ios_base,
4387         so adding it in the derived class as well is superfluous.
4388         * include/std/std_ostream.h: Same.
4390         * include/bits/basic_ios.h (basic_ios::clear): Don't inline.
4391         * include/bits/basic_ios.tcc (basic_ios::clear): Move definition here.
4393 2002-02-14  Benjamin Kosnik  <bkoz@redhat.com>
4395         * config/linker-map.gnu: Change tag from GCC_3.1 to GLIBCPP_3.1.
4396         Add typeinfo bits. Smooth.
4397         * aclocal.m4: Regenerate.
4398         * configure: Same.
4399         * src/Makefile.in: Same.
4401 2001-02-14  Joel Sherrill  <joel@OARcorp.com>
4403         * config/cpu/m68k/bits/atomicity.h: Corrected for RTEMS targets
4404         which do not have a CAS instruction.
4406 2002-02-14  Phil Edwards  <pme@gcc.gnu.org>
4408         * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS):  New macro, initial revision.
4409         * configure.in:  Call it.
4410         * config/linker-map.gnu:  New file, initial incomplete revision.
4411         * src/Makefile.am:  Optionally pass version script to the linker.
4412         * aclocal.m4:  Regenerate.
4413         * configure:  Regenerate.
4414         * src/Makefile.in:  Regenerate.
4416 2002-02-13  Benjamin Kosnik  <bkoz@redhat.com>
4418         * src/localename.cc: Remove stdexcept include.
4419         * src/locale-inst.cc: Same.
4420         * src/locale.cc: Same.
4421         * src/functexcept.cc: Remove string includes.
4422         * include/std/std_bitset.h: Remove stdexcept include.
4423         * testsuite/23_containers/bitset_members.cc: Add stdexcept.
4424         * testsuite/23_containers/bitset_ctor.cc: Same.
4426 2002-02-11  Benjamin Kosnik  <bkoz@redhat.com>
4428         * include/bits/stl_algo (__stl_threshold): Declare external.
4429         (__stl_chunk_size): Same.
4430         * include/bits/stl_bvector.h (__WORD_BIT): Same.
4431         * include/bits/stl_tree.h (_S_rb_tree_red): Same.
4432         (_S_rb_tree_black): Same.
4433         * src/stl-inst.cc (__stl_threshold): Define.
4434         (__stl_chunk_size): Same.
4435         (__WORD_BIT): Same.
4436         (_S_rb_tree_red): Same.
4437         (_S_rb_tree_black): Same.
4439         * config/io/basic_file_libio.h (__basic_file): Add declarations.
4440         * include/bits/basic_file.h: Remove.
4441         * config/io/c_io_stdio.h: Remove _GLIBCPP_BASIC_FILE_ENCAPSULATION
4442         Declare generic types, specialization.
4443         * config/io/basic_file_stdio.cc: Definitions.
4444         * config/io/c_io_libio.h: Remove _GLIBCPP_BASIC_FILE_INHERITANCE.
4445         Declare generic types.
4446         * include/Makefile.am (bits_headers): Remove basic_file.h.
4447         (extra_target_headers): Change basic_file_model.h to basic_file.h.
4448         (stamp-target): Same.
4450         * include/bits/stl_alloc.h: Tweaks.
4451         * include/bits/localefwd.h: Same.
4453 2002-02-11  Aaron W LaFramboise  <AWLaFramboise@aol.com>
4455         * include/bits/locale_facets.tcc (collate::do_hash): Fix.
4456         * testsuite/22_locale/collate_members_char.cc (test03): New test.
4457         * testsuite/22_locale/collate_members_wchar_t.cc (test03): Same.
4459 2002-02-10  Phil Edwards  <pme@gcc.gnu.org>
4461         * include/bits/stl_algo.h (transform (both signatures), generate_n):
4462         Use __typeof__ in concept checks.
4464 2002-02-10  Jonathan Wakely  <cow@compsoc.man.ac.uk>
4466         * include/bits/stl_algo.h (__median, for_each, find, find_if,
4467         adjacent_find, count, count_if, search, search_n, swap_ranges,
4468         transform, replace, replace_if, replace_copy, replace_copy_if,
4469         generate, generate_n, remove_copy, remove_copy_if, remove, remove_if,
4470         unique, unique_copy, reverse, reverse_copy):  Doxygenate.
4472 2002-02-08  Benjamin Kosnik  <bkoz@redhat.com>
4474         * include/bits/locale_facets.h
4475         (numpunct<_CharT>::_M_initialize_numpunct): Remove definition.
4476         (__timepunct<_CharT>::_M_initialize_timepunct): Same.
4477         (__timepunct<_CharT>::_M_put_helper): Same.
4478         (moneypunct<_CharT, _Intl>::_M_initialize_moneypunct): Same.
4480         * include/bits/fstream.tcc (filebuf::underflow): Remove
4481         __codecvt_type typedef.
4482         (filebuf::_M_convert_to_external): Same.
4484 2002-02-08  Phil Edwards  <pme@gcc.gnu.org>
4486         * docs/doxygen/TODO:  Update.
4487         * docs/doxygen/doxygroups.cc:  Tweak __gnu_cxx description.
4488         * docs/doxygen/mainpage.html:  Add TODO list link.
4489         * docs/doxygen/user.cfg.in:  Add @doctodo hook.
4490         * docs/doxygen/tables.html:  New file, emoty structure only.
4492         * include/bits/stl_iterator.h:  Doxygenate just about everything.
4493         * include/bits/stl_iterator_base_funcs.h:  Ditto, clean up spaces.
4494         * include/bits/stl_iterator_base_types.h:  Add notes.
4496 2002-02-07  Stephan Buys  <sbproxy@icon.co.za>
4498         * include/bits/stl_map.h:  Tweak doxygen markup.
4499         * include/bits/stl_multimap.h:  Doxygenate and remove extra spaces.
4500         * include/bits/stl_vector.h:  Likewise.
4502 2002-02-07  Benjamin Kosnik  <bkoz@redhat.com>
4504         libstdc++/5286
4505         libstdc++/3860
4506         * include/std/std_fstream.h (filebuf::__file_type): Change to
4507         __basic_file<char>.
4508         (filebuf::_M_convert_to_external): Declare.
4509         * include/bits/fstream.tcc (filebuf::_M_convert_to_external): Define
4510         codecvt bits for wide streams.
4511         (filebuf::_M_really_overflow): Use it.
4512         (filebuf::underflow): Use codecvt.
4513         * config/locale/codecvt_specializations_ieee_1003.1-200x.h:
4514         (codecvt<__enc_traits>::do_out): Deal with partial.
4515         (codecvt<__enc_traits>::do_encoding): Return something useful.
4516         * src/codecvt.cc (codecvt<wchar_t>::do_encoding): Return sizeof
4517         wchar_t.
4518         * testsuite/22_locale/codecvt_members_unicode_char.cc (test01):
4519         Change expected encoding output.
4520         (test02): Same.
4521         * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test01): Same.
4522         (test02): Same.
4524 2002-02-07  Benjamin Kosnik  <bkoz@redhat.com>
4525             Wolfgang Bangerth  <wolfgang.bangerth@iwr.uni-heidelberg.de>
4527         * include/bits/basic_ios.tcc (basic_ios::narrow): Add default value.
4528         (basic_ios::widen): Same.
4530 2002-02-07  Paolo Carlini  <pcarlini@unitus.it>
4532         * testsuite/22_locale/money_get_members_char.cc:
4533         Add comment, tidy up.
4534         (test01): more "en_HK" tests (without showbase).
4535         * testsuite/22_locale/money_get_members_wchar_t.cc: Ditto.
4537 2002-02-06  Loren Rittle <ljrittle@acm.org>
4539         * config/locale/c_locale_generic.cc: Do not trust
4540         _GLIBCPP_HAVE_STRTOF or _GLIBCPP_HAVE_STRTOLD as
4541         set by configure.
4543 2002-02-06  Loren Rittle <ljrittle@acm.org>
4545         * acinclude.m4: Add C++ linkage check for strtof.
4546         * aclocal.m4: Rebuilt.
4547         * config.h.in: Rebuilt.
4548         * configure: Rebuilt.
4549         * config/locale/c_locale_generic.cc: Conditionally include
4550         <ieeefp.h>.  Improve handling and error checking of float
4551         and long double input for non-C99 configurations.
4553 2002-02-06  Paolo Carlini  <pcarlini@unitus.it>
4555         * include/bits/locale_facets.tcc (money_get::do_get(string)):
4556         In case money_base::symbol deal properly with multi-char sign
4557         for patterns {X,Y,Z,symbol} and {X,Y,symbol,none}.
4558         * testsuite/22_locale/money_get_members_char.cc: Add test07.
4559         * testsuite/22_locale/money_get_members_wchar_t.cc: Add test07.
4561 2002-02-05  Paolo Carlini  <pcarlini@unitus.it>
4563         * include/bits/locale_facets.tcc (money_get::do_get(string)):
4564         First construct a tentative returned string, then, only if the
4565         parsing succeeds, copy it into the string passed by reference.
4566         * testsuite/22_locale/money_get_members_char.cc: Add test06.
4567         * testsuite/22_locale/money_get_members_wchar_t.cc: Add test06.
4569 2002-02-04  Phil Edwards  <pme@gcc.gnu.org>
4571         * docs/doxygen/TODO:  Impl-defined behavior now documented...
4572         * docs/html/17_intro/howto.html:  ...here.
4573         * docs/doxygen/mainpage.doxy:  Remove, rename...
4574         * docs/doxygen/mainpage.html:  ...to this.  Tweak HTML, add license.
4575         * docs/doxygen/style.css:  Add small text.
4576         * docs/doxygen/run_doxygen:  Adjust for new mainpage.
4577         * docs/doxygen/user.cfg.in:  Likewise.
4579 2002-02-04  Stephan Buys  <sbproxy@icon.co.za>
4581         * include/bits/stl_map.h:  Initial doxygen markup.
4582         * include/std/std_fstream.h:  Initial doxygen markup.
4584 2002-02-04  Paolo Carlini  <pcarlini@unitus.it>
4586         libstdc++/5579
4587         * include/bits/locale_facets.tcc (money_get::do_get(string)):
4588         Deal correctly with !(__io.flags() & ios_base::showbase)
4589         for case money_base::symbol.
4590         * testsuite/22_locale/money_get_members_char.cc: Add test05.
4591         * testsuite/22_locale/money_get_members_wchar_t.cc: Add test05.
4593 2002-02-02  Paolo Carlini  <pcarlini@unitus.it>
4595         * testsuite/22_locale/operators.cc
4596         (gnu_collate::do_compare()): Add return statement to
4597         suppress "no return statement" warning.
4599 2002-02-01  Paolo Carlini  <pcarlini@unitus.it>
4601         * testsuite/27_io/ostream_manip.cc: Enable test02.
4603 2002-02-01  Phil Edwards  <pme@gcc.gnu.org>
4605         * docs/html/documentation.html:  Update for 3.0.96.
4606         * docs/html/faq/index.html:  Update for 3.0.96.
4607         * docs/html/faq/index.txt:  Regenerated.
4608         * docs/doxygen/TODO:  Update notes.
4609         * docs/html/17_intro/howto.html:  Initial impl-specific listing.
4611 2002-01-31  Benjamin Kosnik  <bkoz@redhat.com>
4613         * config/locale/codecvt_specializations_ieee_1003.1-200x.h:
4614         Initialize all data members in copy ctor. Make ctors explicit.
4615         (__enc_traits::__enc_traits()): Default ctor does nothing.
4616         (__enc_traits::_M_init): Guard against multiple iconv_opens.
4617         * include/std/std_sstream.h (basic_stringbuf): Make data members
4618         protected.
4619         * include/std/std_fstream.h (basic_filebuf): Same.
4620         * include/std/std_streambuf.h: Tweak.
4621         * include/bits/streambuf.tcc: Same.
4622         * include/bits/sstream.tcc: Same.
4623         * include/bits/fstream.tcc: Same.
4625 2002-01-31  Loren Rittle <ljrittle@acm.org>
4627         * testsuite/22_locale/codecvt_members_char_char.cc: Do not
4628         allow NULL argument to be passed to setenv().
4629         * testsuite/22_locale/codecvt_members_wchar_t_char.cc: Likewise.
4630         * testsuite/22_locale/collate_members_char.cc: Likewise.
4631         * testsuite/22_locale/collate_members_wchar_t.cc: Likewise.
4632         * testsuite/22_locale/ctype_members_char.cc: Likewise.
4633         * testsuite/22_locale/ctype_members_wchar_t.cc: Likewise.
4634         * testsuite/22_locale/messages_members_char.cc: Likewise.
4635         * testsuite/22_locale/money_get_members_char.cc: Likewise.
4636         * testsuite/22_locale/money_get_members_wchar_t.cc: Likewise.
4637         * testsuite/22_locale/money_put_members_char.cc: Likewise.
4638         * testsuite/22_locale/money_put_members_wchar_t.cc: Likewise.
4639         * testsuite/22_locale/moneypunct_members_char.cc: Likewise.
4640         * testsuite/22_locale/moneypunct_members_wchar_t.cc: Likewise.
4641         * testsuite/22_locale/num_get_members_char.cc: Likewise.
4642         * testsuite/22_locale/num_get_members_wchar_t.cc: Likewise.
4643         * testsuite/22_locale/num_put_members_char.cc: Likewise.
4644         * testsuite/22_locale/num_put_members_wchar_t.cc: Likewise.
4645         * testsuite/22_locale/numpunct_members_char.cc: Likewise.
4646         * testsuite/22_locale/numpunct_members_wchar_t.cc: Likewise.
4647         * testsuite/22_locale/time_get_members_char.cc: Likewise.
4648         * testsuite/22_locale/time_get_members_wchar_t.cc: Likewise.
4649         * testsuite/22_locale/time_put_members_char.cc: Likewise.
4650         * testsuite/22_locale/time_put_members_wchar_t.cc: Likewise.
4652 2002-01-30  Benjamin Kosnik  <bkoz@redhat.com>
4654         * config/locale/c_locale_gnu.cc: Same errno fixes as generic.
4656         * ChangeLog-2001: Fix spelling errors...
4657         * docs/html/17_intro/RELEASE-NOTES: Update.
4658         * docs/html/17_intro/TODO: Update.
4659         * README (file): Update.
4661 2002-01-30  Loren Rittle <ljrittle@acm.org>
4663         * config/locale/c_locale_generic.cc: Check errno for ERANGE
4664         instead of non-zero to aid portability.
4666 2002-01-30  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
4668         * docs/html/22_locale/messages.html: Fix example code.
4670 2002-01-30  Richard Henderson  <rth@redhat.com>
4672         * testsuite/27_io/ostream_inserter_arith.cc (test03_check): Break
4673         out from test03 and templatize.
4674         (test03): Use it.
4676 2002-01-30  Paolo Carlini  <pcarlini@unitus.it>
4678         * config/locale/numpunct_members_gnu.cc
4679         (numpunct<char, wchar_t>::_M_initialize_numpunct()):
4680         Fix initialization of _M_grouping for locales which have
4681         _M_thousands_sep == '\0'(L'\0', respectively).
4682         * testsuite/22_locale/numpunct_byname.cc (test02): Add test.
4684 2002-01-30  Paolo Carlini  <pcarlini@unitus.it>
4686         * testsuite/27_io/ostream_inserter_arith.cc (test03):
4687         Better fix for 32/64 bit architectures, avoiding the
4688         implicit assumption that CHAR_BIT == 8.
4690 2002-01-28  Phil Edwards  <pme@gcc.gnu.org>
4692         * Makefile.am (doxygen, doxygen-maint, doxygen-man):  Tweak targets.
4693         * Makefile.in:  Regenerate.
4695         * docs/doxygen/run_doxygen:  Update, mostly for man pages.
4696         * docs/doxygen/Intro.3:  Update.
4697         * docs/doxygen/TODO:  Update.
4698         * docs/doxygen/doxygroups.cc:  Add namespace hook for __gnu_cxx.
4699         * docs/doxygen/mainpage.doxy:  Update.
4700         * docs/doxygen/user.cfg.in:  Update for header rename.  Also
4701         regenerate comments and variables with 1.2.12.
4702         * docs/doxygen/maint.cfg.in:  Remove file.
4704         * include/bits/stl_relops.h:  Doxygenate.
4705         * include/bits/stl_tempbuf.h (std::_Temporary_buffer):  Likewise.
4707         * include/c_std/std_cassert.h, include/c_std/std_cctype.h,
4708         include/c_std/std_cerrno.h, include/c_std/std_cfloat.h,
4709         include/c_std/std_ciso646.h, include/c_std/std_climits.h,
4710         include/c_std/std_clocale.h, include/c_std/std_cmath.h,
4711         include/c_std/std_csetjmp.h, include/c_std/std_csignal.h,
4712         include/c_std/std_cstdarg.h, include/c_std/std_cstddef.h,
4713         include/c_std/std_cstdio.h, include/c_std/std_cstdlib.h,
4714         include/c_std/std_cstring.h, include/c_std/std_ctime.h,
4715         include/c_std/std_cwchar.h, include/c_std/std_cwctype.h,
4716         include/ext/algorithm, include/ext/functional, include/ext/hash_map,
4717         include/ext/hash_set, include/ext/iterator, include/ext/memory,
4718         include/ext/numeric, include/ext/rb_tree, include/ext/rope,
4719         include/ext/ropeimpl.h, include/ext/slist, include/ext/stl_hash_fun.h,
4720         include/ext/stl_hashtable.h, include/ext/stl_rope.h,
4721         include/std/std_algorithm.h, include/std/std_bitset.h,
4722         include/std/std_complex.h, include/std/std_deque.h,
4723         include/std/std_fstream.h, include/std/std_functional.h,
4724         include/std/std_iomanip.h, include/std/std_ios.h,
4725         include/std/std_iosfwd.h, include/std/std_iostream.h,
4726         include/std/std_istream.h, include/std/std_iterator.h,
4727         include/std/std_limits.h, include/std/std_list.h,
4728         include/std/std_locale.h, include/std/std_map.h,
4729         include/std/std_memory.h, include/std/std_numeric.h,
4730         include/std/std_ostream.h, include/std/std_queue.h,
4731         include/std/std_set.h, include/std/std_sstream.h,
4732         include/std/std_stack.h, include/std/std_stdexcept.h,
4733         include/std/std_streambuf.h, include/std/std_string.h,
4734         include/std/std_utility.h, include/std/std_valarray.h,
4735         include/std/std_vector.h:  Add/correct @file doxygen hook.
4737         * include/ext/memory:  Doxygenate most of rest of file.
4738         * libsupc++/exception:  Doxygen output formatting.
4739         * libsupc++/new:  Say which header it is.
4741         * testsuite/lib/libstdc++-v3-dg.exp:  Fix spacing.
4742         * docs/html/19_diagnostics/howto.html:  Describe concept-checks switch.
4743         * docs/html/23_containers/howto.html:  Describe O(n) list::size().
4744         * docs/html/27_io/howto.html:  Also link to Langer and Kreft text.
4746 2002-01-28  Paolo Carlini  <pcarlini@unitus.it>
4747             Charles Leggett <CGLeggett@lbl.gov>
4749         * testsuite/27_io/filebuf_members.cc (test_05): Add test.
4751 2002-01-28  Paolo Carlini  <pcarlini@unitus.it>
4753         * testsuite/27_io/ostream_inserter_arith.cc (test03):
4754         Fix to deal correctly with both 32 bit and 64 bit architectures
4756 2002-01-25  Loren Rittle <ljrittle@acm.org>
4758         * testsuite/thread/pthread1.cc: Use one condition variable
4759         per predicate instead of tricky use of one condition variable.
4761 2002-01-25  Benjamin Kosnik  <bkoz@redhat.com>
4763         * include/bits/fstream.tcc (filebuf::close()): Fix close for input
4764         streams.
4765         (filebuf::_M_really_overflow): Match indeterminate and sync calls.
4766         * testsuite/27_io/filebuf.cc: Compile only.
4767         * testsuite/27_io/filebuf_members.cc: Move tests to here.
4768         * testsuite/27_io/filebuf_virtuals.cc: And here.
4769         Revert sungetc, sync changes for expected values.
4770         * testsuite/27_io/filebuf-*: Move to...
4771         * testsuite/27_io/filebuf_virtuals-*: ...here.
4772         * testsuite/27_io/istream.cc: Compile only, activate.
4773         * testsuite/27_io/ostream.cc: Same.
4774         * testsuite/27_io/iostream.cc: New.
4775         * testsuite/27_io/iostream_members.cc: New.
4777 2002-01-25  David Billinghurst <David.Billinghurst@riotinto.com>
4779         * testsuite/thread/pthread1.cc: Enable on cygwin.
4780         * testsuite/thread/pthread2.cc: Likewise.
4781         * testsuite/thread/pthread3.cc: Likewise.
4782         * testsuite/thread/pthread4.cc: Likewise.
4783         * testsuite/thread/pthread5.cc: Likewise.
4784         * testsuite/thread/pthread6.cc: Likewise.
4786 2002-01-24  Benjamin Kosnik  <bkoz@redhat.com>
4788         * testsuite/27_io/ostream_inserter_char.cc (test07): New.
4790 2002-01-24  Benjamin Kosnik  <bkoz@redhat.com>
4792         * include/bits/basic_ios.h (basic_ios::_M_check_facet): Make
4793         const, tweak.
4794         (basic_ios::fill(char_type)): Use fill().
4795         * include/bits/basic_ios.tcc (basic_ios::widen): Use _M_check_facet.
4796         (basic_ios::narrow): Same.
4797         (basic_ios::_M_cache_facets): Explicitly set cached facets to zero
4798         if they are invalid.
4799         (basic_ios::init): Comment.
4800         * testsuite/27_io/ios_init.cc (test02): New.
4802 2002-01-24  Phil Edwards  <pme@gcc.gnu.org>
4804         * include/bits/stl_tempbuf.h (_Temporary_buffer):  Add doxygen hook.
4805         * include/bits/stl_algo.h:  Include stl_tempbuf.h.
4806         * include/ext/memory:  Do not include stl_tempbuf.h.
4807         (temporary_buffer):  Add doxygen hook.
4808         (__get_temporary_buffer, get_temporary_buffer,
4809         return_temporary_buffer):  Move back to std:: header...
4810         * include/std/std_memory.h:  ...here.  Do not include stl_tempbuf.h.
4811         * include/ext/rope:  Do not include stl_tempbuf.h.
4812         * include/ext/stl_hashtable.h:  Likewise.
4813         * include/std/std_algorithm.h:  Likewise.
4814         * testsuite/20_util/temporary_buffer.cc:  New file.
4816 2002-01-24  andrew@andypo.net
4817             (tweaks, test and commit by Loren J. Rittle  <ljrittle@acm.org>)
4819         libstdc++/5432
4820         * include/bits/ios_base.h: Use _Atomic_word for reference counts.
4821         * include/bits/localefwd.h: Likewise.
4822         Also use for std::locale::id::_S_highwater.
4823         * src/ios.cc (ios_base::xalloc): Use _Atomic_word.
4824         * src/locale.cc: Support new usage of _Atomic_word.
4825         (std::locale::classic): Guard entire function against reentry.
4826         * src/localename.cc: Support new usage of _Atomic_word.
4828 2002-01-24   Benjamin Kosnik  <bkoz@redhat.com>
4830         * testsuite/22_locale/num_put_members_wchar_t.cc (test03): Use
4831         _GLIBCPP_HAVE_SETENV.
4832         * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test02): Same.
4833         * testsuite/22_locale/collate_members_char.cc (test02): Same.
4834         * testsuite/22_locale/ctype_members_char.cc (test03): Same.
4835         * testsuite/22_locale/ctype_members_wchar_t.cc (test03): Same.
4836         * testsuite/22_locale/messages_members_char.cc (test02): Same.
4837         * testsuite/22_locale/moneypunct_members_char.cc (test02): Same.
4838         * testsuite/22_locale/moneypunct_members_wchar_t.cc (test02): Same.
4839         * testsuite/22_locale/money_put_members_char.cc (test04): Same.
4840         * testsuite/22_locale/money_put_members_wchar_t.cc (test04): Same.
4841         * testsuite/22_locale/num_get_members_char.cc (test03): Same.
4842         * testsuite/22_locale/num_get_members_wchar_t.cc (test03): Same.
4843         * testsuite/22_locale/numpunct_members_char.cc (test02): Same.
4844         * testsuite/22_locale/numpunct_members_wchar_t.cc (test02): Same.
4845         * testsuite/22_locale/time_get_members_char.cc (test07): Same.
4846         * testsuite/22_locale/time_get_members_wchar_t.cc (test07): Same.
4847         * testsuite/22_locale/time_put_members_char.cc (test03): Same.
4848         * testsuite/22_locale/time_put_members_wchar_t.cc (test03): Same.
4849         * testsuite/22_locale/num_put_members_char.cc (test03): Same.
4850         * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Check for setenv.
4851         * aclocal.m4: Regenerate.
4852         * configure: Regenerate.
4853         * config.h.in: Regenerate.
4855 2002-01-23  Loren Rittle <ljrittle@acm.org>
4857         * testsuite/thread/pthread1.cc: New test.
4858         * testsuite/thread/pthread2.cc: New test adapted from libstdc++/5347.
4859         * testsuite/thread/pthread3.cc: Likewise.
4860         * testsuite/thread/pthread4.cc: New test adapted from
4861         http://gcc.gnu.org/ml/gcc-bugs/2002-01/msg00679.html
4862         * testsuite/thread/pthread5.cc: New test adapted from libstdc++/5464.
4863         * testsuite/thread/pthread6.cc: New test adapted from libstdc++/5444.
4865 2002-01-23  Richard Henderson  <rth@redhat.com>
4867         PR libstdc++/5198
4868         * config/cpu/m68k/bits/atomicity.h (__exchange_and_add): Only use
4869         CAS on the cpu variants that support it.  Add versions that use
4870         TAS and that disable interrupts.
4871         (__atomic_add): Use __exchange_and_add to guarantee atomicity.
4873 2002-01-23  Matt Kraai  <kraai@alumni.cmu.edu>
4875         * include/bits/locale_facets.tcc: Remove old comments.
4877 2002-01-23  Andreas Tobler  <toa@pop.agri.ch>
4879         * include/bits/locale_facets.tcc (__convert_to_v): Change template
4880         parameter to _Tv.
4881         (__convert_from_v): Same.
4883 2002-01-23  Benjamin Kosnik  <bkoz@redhat.com>
4885         * include/bits/locale_facets.h (num_get::_M_extract_int): Change
4886         prototype.
4887         * include/bits/locale_facets.tcc (num_get::_M_extract_int): Remove
4888         __max_digits checks, adjust arguments.
4889         (num_get::do_get(*)): Changeup.
4891 2002-01-23  Loren Rittle <ljrittle@acm.org>
4893         * config/locale/c_locale_generic.cc: Fix typename usage.
4895 2002-01-22  Benjamin Kosnik  <bkoz@redhat.com>
4897         * config/locale/c_locale_generic.cc: Fix.
4899 2002-01-22  Benjamin Kosnik  <bkoz@redhat.com>
4901         * docs/html/22_locale/messages.html: Remove angle brackets.
4902         * docs/html/17_intro/TODO: Add.
4904 2002-01-22  Paolo Carlini  <pcarlini@unitus.it>
4906         * testsuite/27_io/ios_manip_basefield.cc: Enable test02.
4907         * testsuite/27_io/ostream_inserter_arith.cc: Enable test03.
4908         * testsuite/27_io/ostream_inserter_char.cc: Enable test01.
4909         * testsuite/27_io/ostream_inserter_other.cc: Enable test04.
4911 2002-01-22  Benjamin Kosnik  <bkoz@redhat.com>
4913         Audit for LANG independence.
4914         * include/bits/localefwd.h: Tweaks.
4915         * include/bits/locale_facets.tcc (money_get::do_get(long double)):
4916         Use __convert_to_v.
4917         (time_get::do_get_year): Same.
4918         (__convert_from_v): Add.
4919         (num_put::_M_convert_float): Use.
4920         (num_put::_M_convert_int): Same.
4921         (money_put::do_put): Same.
4923         * src/locale-inst.cc: Add instantiations for __convert_from_v.
4924         * config/locale/time_members_gnu.cc: Cleanup setlocale usage.
4925         * config/locale/time_members_generic.cc:
4926         * config/locale/messages_members_gnu.cc: Same.
4927         * config/locale/messages_members_gnu.h: Same.
4929         * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test02): New.
4930         * testsuite/22_locale/codecvt_members_char_char.cc (test02): New.
4931         * testsuite/22_locale/collate_members_wchar_t.cc (test02): New.
4932         * testsuite/22_locale/collate_members_char.cc (test02): New.
4933         * testsuite/22_locale/ctype_members_wchar_t.cc (test03): New.
4934         * testsuite/22_locale/ctype_members_char.cc (test03): New.
4935         * testsuite/22_locale/messages_members_char.cc (test02): New.
4936         * testsuite/22_locale/moneypunct_members_wchar_t.cc (test02): New.
4937         * testsuite/22_locale/moneypunct_members_char.cc (test02): New.
4938         * testsuite/22_locale/money_get_members_wchar_t.cc (test04): New.
4939         * testsuite/22_locale/money_get_members_char.cc (test04): New.
4940         * testsuite/22_locale/money_put_members_wchar_t.cc (test04): New.
4941         * testsuite/22_locale/money_put_members_char.cc (test04): New.
4942         * testsuite/22_locale/numpunct_members_wchar_t.cc (test02): New.
4943         * testsuite/22_locale/numpunct_members_char.cc (test02): New.
4944         * testsuite/22_locale/time_put_members_wchar_t.cc (test03): New.
4945         * testsuite/22_locale/time_put_members_char.cc (test03): New.
4946         * testsuite/22_locale/time_get_members_wchar_t.cc (test07): New.
4947         * testsuite/22_locale/time_get_members_char.cc (test07): New.
4948         * testsuite/22_locale/num_get_members_wchar_t.cc (test03): New.
4949         * testsuite/22_locale/num_get_members_char.cc (test03): New.
4950         * testsuite/22_locale/num_put_members_wchar_t.cc (test03): New.
4951         * testsuite/22_locale/num_put_members_char.cc (test03): New.
4953         * testsuite/22_locale/time_get_members_char.cc: Fixups for global
4954         locale issues.
4955         * testsuite/22_locale/time_get_members_char.cc: Same.
4957 2002-01-22  Benjamin Kosnik  <bkoz@redhat.com>
4959         libstdc++/5280
4960         * include/bits/localefwd.h: Tweak comments.
4961         * include/bits/locale_facets.h (__convert_to_v): Add.
4962         * include/bits/locale_facets.tcc (num_get::do_get(double)): Use it.
4963         (num_get::do_get(float)): Same.
4964         (num_get::do_get(long double)): Same.
4965         (num_get::do_get(bool)): Same.
4966         (num_get::do_get(long)): Same.
4967         (num_get::do_get(long long)): Same.
4968         (num_get::do_get(unsigned int)): Same.
4969         (num_get::do_get(unsigned short)): Same.
4970         (num_get::do_get(unsigned long)): Same.
4971         (num_get::do_get(unsigned long long)): Same.
4972         * config/locale/c_locale_gnu.cc (__convert_to_v): Specialize.
4973         * config/locale/c_locale_generic.cc: Same.
4975 2002-01-22  Loren Rittle <ljrittle@acm.org>
4977         * include/Makefile.am (c_base_builddir): Remove redundant slash.
4978         (std_builddir): Likewise.
4979         (std_headers_rename): Fix cut-n-paste typo.
4980         (install-data-local): Concat path per element instead of once to
4981         first element of list.
4982         * include/Makefile.in: Rebuilt.
4984 2002-01-22  Benjamin Kosnik  <bkoz@redhat.com>
4986         * config/os/aix/bits/ctype_noninline.h: Fix formatting.
4987         * config/os/bsd/netbsd/bits/ctype_noninline.h: Fix typo.
4988         * config/os/bsd/freebsd/bits/ctype_noninline.h: Fix formatting.
4990 2002-01-20  Benjamin Kosnik  <bkoz@redhat.com>
4992         * include/bits/locale_facets.h (ctype<char>::classic_table):
4993         Remove definition.
4994         (ctype<char>::_S_ctable): Remove.
4995         * config/os/gnu-linux/bits/ctype_noninline.h
4996         (ctype<char>::_S_table): Remove definition.
4997         (ctype<char>::classic_table): Define.
4998         (ctype<char>::ctype): Replace _S_ctable with classic_table().
4999         * config/os/aix/bits/ctype_noninline.h: Same.
5000         * config/os/bsd/freebsd/bits/ctype_noninline.h: Same.
5001         * config/os/bsd/netbsd/bits/ctype_noninline.h: Same.
5002         * config/os/djgpp/bits/ctype_noninline.h: Same.
5003         * config/os/generic/bits/ctype_noninline.h: Same.
5004         * config/os/gnu-linux/bits/ctype_noninline.h: Same.
5005         * config/os/hpux/bits/ctype_noninline.h: Same.
5006         * config/os/irix/irix5.2/bits/ctype_noninline.h: Same.
5007         * config/os/irix/irix6.5/bits/ctype_noninline.h: Same.
5008         * config/os/mingw32/bits/ctype_noninline.h: Same.
5009         * config/os/newlib/bits/ctype_noninline.h: Same.
5010         * config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.
5011         * config/os/solaris/solaris2.6/bits/ctype_noninline.h: Same.
5012         * config/os/solaris/solaris2.7/bits/ctype_noninline.h: Same.
5014 2002-01-20  Danny Smith  <dannysmith@users.sourceforge.net>
5016         * config/os/mingw32/bits/ctype_noninline.h: Declare _ctype instead
5017         of _pctype. Use to define _S_ctable.  Add definition for alternate
5018         ctor.  Initialise _M_ctable to _S_ctable in ctors.
5019         (do_toupper, do_tolower): Use inline code appropriate for C-locale
5020         rather than ::toupper, ::tolower.
5022 2002-01-18  Loren Rittle <ljrittle@acm.org>
5024         * testsuite/18_support/numeric_limits.cc (test_extrema<long double>):
5025         Add specialization for FreeBSD systems only to avoid losing test
5026         only due to extra precision unmentioned in system headers.
5028 2002-01-18  David Billinghurst <David.Billinghurst@riotinto.com>
5030         * config/os/irix/irix6.5/bits/ctype_noninline.h: Fix typo
5032 2002-01-17  Nick Clifton  <nickc@cambridge.redhat.com>
5034         * testsuite/testsuite_hooks.h: Fix comment typo.  Memory
5035         limiting is only attempted if _GLIBCPP_MEM_LIMIT is defined.
5037 2002-01-17  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
5039         * testsuite/22_locale/ctor_copy_dtor.cc: Remove check.
5041 2002-01-17  David Edelsohn  <edelsohn@gnu.org>
5043         * configure.target: Define OPT_LDFLAGS for AIX case.
5045 2002-01-17  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
5047         * include/std/std_limits.h (__glibcpp_float_has_quiet_NaN,
5048         __glibcpp_double_has_quiet_NaN): Correct mispelling.
5050 2002-01-17  Andreas Tobler  <toa@pop.agri.ch>
5052         * config/os/solaris/solaris2.6/bits/ctype_noninline.h: Fix.
5054 2002-01-16  David Edelsohn  <dje@watson.ibm.com>
5056         * acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES): Do not clear
5057         SECTION_LDFLAGS and OPT_LDFLAGS.  Fix ac_sectionLDflags type.
5058         * aclocal.m4: Regenerate.
5059         * configure: Regenerate.
5061 2002-01-16  Benjamin Kosnik  <bkoz@redhat.com>
5063         * include/Makefile.am (c_base_headers_rename): New.
5064         (c_base_headers_extra): New.
5065         (stamp-c_base): Modify.
5066         (install-data-local): Use both.
5067         * include/Makefile.in: Regenerate.
5068         * include/c/[cctype ciso646 cmath cstdarg cstdlib cerrno climits
5069         csetjmp cstddef cstring cwchar cassert cfloat clocale csignal
5070         cstdio ctime cwctype]: Move to..
5071         * include/c/std_*: Here.
5072         * include/c_std/[cctype ciso646 cmath cstdarg cstdlib cerrno climits
5073         csetjmp cstddef cstring cwchar cassert cfloat clocale csignal
5074         cstdio ctime cwctype]: Move to..
5075         * include/c_std/std_*: Here.
5077         Alexandre Oliva  <aoliva@redhat.com>
5078         * include/Makefile.am (.PRECIOUS): Add rule.
5079         * include/Makefile.in: Regenerate.
5081 2002-01-16  Benjamin Kosnik  <bkoz@redhat.com>
5082             Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
5084         * include/bits/stl_iterator.h (reverse_iterator::_M_current):
5085         Deuglify, should be current.
5086         (back_insert_iterator::_M_container): Deuglify, should be container.
5087         (front_insert_iterator::_M_container): Same.
5088         (insert_iterator::_M_container): Same.
5089         * testsuite/24_iterators/reverse_iterator.cc: Add check.
5090         * testsuite/24_iterators/back_insert_iterator.cc: Add check.
5091         * testsuite/24_iterators/front_insert_iterator.cc: Same.
5092         * testsuite/24_iterators/insert_iterator.cc: Same.
5094 2002-01-16  Benjamin Kosnik  <bkoz@redhat.com>
5096         * include/bits/locale_facets.h (ctype<char>::classic_table): Make
5097         static.
5098         (ctype<char>::_M_ctable): Make static, change name to _S_ctable.
5099         * config/os/gnu-linux/bits/ctype_noninline.h: Define _S_ctable.
5100         * config/os/solaris/solaris2.7/bits/ctype_noninline.h: Same.
5101         * config/os/solaris/solaris2.6/bits/ctype_noninline.h: Same.
5102         * config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.
5103         * config/os/newlib/bits/ctype_noninline.h: Same.
5104         * config/os/irix/irix6.5/bits/ctype_noninline.h: Same.
5105         * config/os/irix/irix5.2/bits/ctype_noninline.h: Same.
5106         * config/os/hpux/bits/ctype_noninline.h: Same.
5107         * config/os/djgpp/bits/ctype_noninline.h: Same.
5108         * config/os/bsd/netbsd/bits/ctype_noninline.h: Same.
5109         * config/os/bsd/freebsd/bits/ctype_noninline.h: Same.
5110         * config/os/aix/bits/ctype_noninline.h: Same.
5112         Testcase by Dietmar Kühl via Peter Schmid
5113         * testsuite/22_locale/ctype_members_char.cc (char>): Add test for
5114         classic_table().
5116 2002-01-16  Benjamin Kosnik  <bkoz@redhat.com>
5118         * libmath/signbitl.c: Copyright years as list, not range.
5119         * libmath/Makefile.am: Same.
5120         * libmath/Makefie.in: Regenerate.
5121         * libmath/signbit.c: Same.
5122         * libmath/nan.c: Same.
5123         * libmath/copysignf.c: Same.
5124         * libmath/signbitf.c: Same.
5125         * testsuite/22_locale/money_get_members_char.cc: Same.
5126         * testsuite/22_locale/money_get_members_wchar_t.cc: Same.
5127         * testsuite/22_locale/money_put_members_char.cc: Same.
5128         * testsuite/22_locale/money_put_members_wchar_t.cc: Same.
5129         * testsuite/22_locale/time_get_members_char.cc: Same.
5130         * testsuite/22_locale/time_get_members_wchar_t.cc: Same.
5131         * testsuite/22_locale/time_put_members_char.cc: Same.
5132         * testsuite/22_locale/time_put_members_wchar_t.cc: Same.
5133         * testsuite/21_strings/nonmember.cc: Same.
5134         * testsuite/21_strings/compare.cc: Same.
5135         * testsuite/27_io/stringstream.cc: Same.
5136         * testsuite/27_io/stringbuf.cc: Same.
5137         * testsuite/27_io/filebuf.cc: Same.
5138         * testsuite/27_io/ios_manip_basefield.cc: Same.
5139         * testsuite/27_io/ios_manip_fmtflags.cc: Same.
5140         * include/bits/cpp_type_traits.h: Same.
5141         * include/bits/generic_shadow.h: Same.
5142         * include/bits/gslice_array.h: Same.
5143         * include/bits/gslice.h: Same.
5144         * include/bits/indirect_array.h: Same.
5145         * include/bits/slice_array.h: Same.
5146         * include/bits/sstream.tcc: Same.
5147         * include/bits/streambuf_iterator.h: Same.
5148         * include/bits/valarray_array.tcc: Same.
5149         * include/bits/valarray_meta.h: Same.
5150         * include/bits/valarray_array.h: Same.
5151         * config/os/mingw32/bits/ctype_noninline.h: Same.
5152         * config/os/mingw32/bits/ctype_base.h: Same.
5153         * config/os/hpux/bits/ctype_noninline.h: Same.
5154         * config/os/hpux/bits/ctype_base.h: Same.
5155         * config/os/gnu-linux/bits/ctype_noninline.h: Same.
5156         * config/os/gnu-linux/bits/ctype_base.h: Same.
5157         * config/os/generic/bits/ctype_noninline.h: Same.
5158         * config/os/generic/bits/ctype_base.h: Same.
5160         * libsupc++/tinfo.h: Tweaks.
5162 2002-01-15  Benjamin Kosnik  <bkoz@redhat.com>
5164         * testsuite/22_locale/num_put_members_wchar_t.cc (test02): Same.
5165         * testsuite/22_locale/num_put_members_char.cc (test01): Tweak.
5166         * testsuite/22_locale/ctype_members_char.cc: Tweak.
5168 2002-01-15  Benjamin Kosnik  <bkoz@redhat.com>
5170         * include/bits/locale_facets.tcc (num_put::do_put(bool): Fix.
5171         (num_put::do_put(void*)): Fix.
5172         * testsuite/22_locale/num_put_members_char.cc (test02): Add.
5173         * testsuite/22_locale/num_put_members_wchar_t.cc (test02): Add.
5174         * testsuite/22_locale/num_get_members_char.cc (test02): Add
5175         long double, void, bool types.
5176         * testsuite/22_locale/num_get_members_wchar_t.cc (test02): Add.
5178 2002-01-15  Benjamin Kosnik  <bkoz@redhat.com>
5179             Alexandre Oliva  <aoliva@redhat.com>
5181         * libmath/Makefile.am (LINK): Add --tag CC.
5182         * libmath/Makefile.in: Regenerate.
5184 2002-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5186         * config/os/hpux/bits/ctype_noninline.h: Use __SB_masks for address
5187         of character to attribute mapping table.
5189 2002-01-15  David Billinghurst <David.Billinghurst@riotinto.com>
5191         * testsuite/26_numerics/c99_classification_macros_c.cc
5192         Remove dg-error and dg-excess-errors comments.
5194 2002-01-14  Benjamin Kosnik  <bkoz@redhat.com>
5196         * include/bits/locale_facets.tcc (time_put::put): Correct output
5197         iterator positions.
5198         * testsuite/22_locale/time_put_members_char.cc (test02): Add.
5199         * testsuite/22_locale/time_put_members_wchar_t.cc (test02): Add.
5200         * testsuite/22_locale/time_get_members_wchar_t.cc (test06): Add.
5201         * testsuite/22_locale/time_get_members_char.cc (test06): Add.
5203 2002-01-14  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5205         * docs/html/17_intro/porting-howto.xml: Update filebuf section.
5207 2002-01-14  Paolo Carlini  <pcarlini@unitus.it>
5208             Nathan Myers  <ncm@cantrip.org>
5210         * include/bits/basic_string.h
5211         (replace(__pos, __n1, __s, __n2)): Optimize by avoiding
5212         temporaries (i.e., call _M_replace_safe) when possible.
5213         (replace(__pos, __n, __str)): Call replace(__pos, __n1, __s, __n2).
5214         (replace(__pos, __n1, __s)): Call replace(__pos, __n1, __s , __n2).
5215         (replace(__i1, __i2, __str)): Call replace(__i1, __i2, __s, __n).
5216         (replace(__i1, __i2, __s)): Call replace(__i1, __i2, __s, __n).
5217         (replace(__i1, __i2, __s, __n)): Call replace(__pos1, __n1, __s, __n2).
5218         * include/bits/basic_string.tcc
5219         (replace(__pos1, __n1, __str, __pos2, __n2)): Call
5220         replace(__pos, __n1, __s, __n2).
5221         * testsuite/21_strings/replace.cc (test03): New testcases.
5223         * include/bits/basic_string.h (insert(__pos, __s, __n)):
5224         Adjust comparison wrt overflow.
5226 2002-01-12  Benjamin Kosnik  <bkoz@redhat.com>
5228         * include/Makefile.am (std_headers_rename): New variable.
5229         (install-data-local): Use it.
5230         * include/Makefile.in: Regenerate.
5232 2002-01-12  Benjamin Kosnik  <bkoz@redhat.com>
5234         * include/bits/locale_facets.tcc (money_put::do_put(string):
5235         Correct output iterator value.
5236         * testsuite/22_locale/money_put_members_char.cc (test03): Add.
5237         * testsuite/22_locale/money_put_members_wchar_t.cc: Same.
5239 2002-01-11  Phil Edwards  <pme@gcc.gnu.org>
5241         * include/Makefile.am, include/Makefile.in (stamp-std):  Fix typo from
5242         previous commit.
5244 2002-01-11  Phil Edwards  <pme@gcc.gnu.org>
5246         * include/Makefile.am (std_headers):  Update list with new names.
5247         (stamp-std):  Link to standardized name.
5248         * include/Makefile.in:  Regenerate.
5250         * include/std/algorithm, include/std/bitset, include/std/complex,
5251         include/std/deque, include/std/fstream, include/std/functional,
5252         include/std/iomanip, include/std/ios, include/std/iosfwd,
5253         include/std/iostream, include/std/istream, include/std/iterator,
5254         include/std/limits, include/std/list, include/std/locale,
5255         include/std/map, include/std/memory, include/std/numeric,
5256         include/std/ostream, include/std/queue, include/std/set,
5257         include/std/sstream, include/std/stack, include/std/stdexcept,
5258         include/std/streambuf, include/std/string, include/std/utility,
5259         include/std/valarray, include/std/vector:  Rename to...
5261         * include/std/std_algorithm.h, include/std/std_bitset.h,
5262         include/std/std_complex.h, include/std/std_deque.h,
5263         include/std/std_fstream.h, include/std/std_functional.h,
5264         include/std/std_iomanip.h, include/std/std_ios.h,
5265         include/std/std_iosfwd.h, include/std/std_iostream.h,
5266         include/std/std_istream.h, include/std/std_iterator.h,
5267         include/std/std_limits.h, include/std/std_list.h,
5268         include/std/std_locale.h, include/std/std_map.h,
5269         include/std/std_memory.h, include/std/std_numeric.h,
5270         include/std/std_ostream.h, include/std/std_queue.h,
5271         include/std/std_set.h, include/std/std_sstream.h,
5272         include/std/std_stack.h, include/std/std_stdexcept.h,
5273         include/std/std_streambuf.h, include/std/std_string.h,
5274         include/std/std_utility.h, include/std/std_valarray.h,
5275         include/std/std_vector.h:  ...this.
5277 2002-01-11  Loren Rittle <ljrittle@acm.org>
5279         * include/Makefile.am (extra_target_headers): New list of all
5280         target files built with ad hoc naming rules.
5281         (stamp-*): Handle LN_S failure in manner portable across make
5282         implementations.
5283         (install-data-local): Install header files from human-maintained
5284         file lists and directory components instead of non-robust find.
5285         * include/Makefile.in: Rebuilt.
5287 2002-01-11  Benjamin Kosnik  <bkoz@redhat.com>
5289         * include/bits/locale_facets.tcc (money_get::do_get(string)):
5290         Check for zero-length negative sign before adding it to output
5291         string.
5292         (money_get::do_get(long double)): Return beg.
5293         * testsuite/22_locale/money_get_members_char.cc (test02): Add
5294         iterator checks.
5295         * testsuite/22_locale/money_get_members_wchar_t.cc: Same.
5297 2002-01-10  David Seymour  <seymour_dj@yahoo.com>
5299         libstdc++/5331
5300         * include/bits/locale_facets.h (num_get<>): Return advanced iterator
5301         for _M_extract_float and _M_extract_int
5302         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float)
5303         (num_get<>::_M_extract_int): Likewise, all callers changed
5304         * testsuite/22_locale/num_get_members_char.cc: Testcase
5306 2002-01-09  Paolo Carlini <pcarlini@unitus.it>
5308         * libsupc++/exception (bad_exception): Add comment.
5309         * libsupc++/new (bad_alloc): Same.
5310         * libsupc++/typeinfo (bad_cast, bad_typeid): Same.
5312 2002-01-09  Paolo Carlini <pcarlini@unitus.it>
5314         libstdc++/3150: revert 2001-11-30 commit. DR266 only means
5315         that the destructors should be removed from the descriptions
5316         in the standard: writing them explicitly allows the vtable
5317         heuristic to work. For additional information see:
5318         http://gcc.gnu.org/ml/libstdc++/2002-01/msg00090.html
5319         http://gcc.gnu.org/ml/libstdc++/2002-01/msg00110.html
5320         http://gcc.gnu.org/ml/libstdc++/2002-01/msg00155.html
5321         * libsupc++/exception (bad_exception::~bad_exception()):
5322         Reintroduce declaration.
5323         * libsupc++/new (bad_alloc::~bad_alloc()): Same.
5324         * libsupc++/typeinfo (bad_cast::~bad_cast()): Same.
5325         (bad_typeid::~bad_typeid()): Same.
5326         * libsupc++/eh_exception.cc (bad_exception::~bad_exception()):
5327         Reintroduce definition.
5328         * libsupc++/new_handler.cc (bad_alloc::~bad_alloc()): Same.
5329         * libsupc++/tinfo.cc (bad_cast::~bad_cast()): Same.
5330         (bad_typeid::~bad_typeid()): Same.
5332 2002-01-09  Benjamin Kosnik  <bkoz@redhat.com>
5334         * include/Makefile.am (c_base_srcdir): Remove duplicate '/'.
5335         * include/Makefile.in: Regenerate.
5337 2002-01-09  Bo Thorsen  <bo@suse.co.uk>
5339         * config/cpu/x86-64/bits/cpu_limits.h (__glibcpp_long_bits): Add
5340         definition.
5342 2002-01-08  Benjamin Kosnik  <bkoz@redhat.com>
5344         libstdc++/2913
5345         libstdc++/4879
5346         * include/bits/fstream.tcc (filebuf::_M_really_overflow): Test
5347         return value of _M_file->sync().
5348         (filebuf::showmanyc): Check for is_open.
5349         * include/std/fstream (filebuf::sync): Tweak.
5350         * testsuite/27_io/filebuf.cc: Tweak.
5352 2002-01-08  John Fardo  <jfardo@laurelnetworks.com>
5353             Brad Garcia  <garsh@attbi.com>
5355         * testsuite/27_io/filebuf_members.cc: Add test.
5357 2002-01-07  Benjamin Kosnik  <bkoz@redhat.com>
5358             Craig Rodrigues  <rodrigc@mediaone.net>
5360         libstdc++/5174
5361         * po/Makefile.am (mkinstalldirs): Add.
5362         * po/Makefile.in: Regenerate.
5364 2002-01-07  David Billinghurst  <David.Billinghurst@riotinto.com>
5366         * testsuite_flags.in: Add -fmessage-length=0 to CXXFLAGS *
5367         testsuite/lib/prune.exp: Delete lines ":In function ..."  from
5368         compiler output.
5369         * testsuite/23_containers/map_operators.cc: Remove
5370         dg-excess-errors comment.
5371         * testsuite/23_containers/set_operators.cc: Likewise.
5373 2002-01-06  Paolo Carlini  <pcarlini@unitus.it>
5375         * include/bits/stl_function.h:  Remove two lines of comments;
5376         adjust copyright years.
5378 2002-01-04  Benjamin  Kosnik  <bkoz@redhat.com>
5380         * include/Makefile.am (std_headers): Remove cXXX from list.
5381         (c_base_srcdir): No bits subdirectory.
5382         (c_base_builddir): Same.
5383         (c_base_headers): Adjust names, add ciso646.
5384         (bits_headers): Remove std_xxx.h headers.
5385         * include/Makefile.in: Regenerate.
5387         * include/ext/iterator: Adjust includes.
5388         * include/ext/ropeimpl.h: Same.
5389         * include/ext/stl_hash_fun.h: Same.
5390         * include/ext/algorithm: Same.
5392         * include/backward/bvector.h: Adjust includes.
5393         * include/backward/vector.h: Same.
5394         * include/backward/strstream: Same.
5395         * include/backward/streambuf.h: Same.
5396         * include/backward/stack.h: Same.
5397         * include/backward/set.h: Same.
5398         * include/backward/queue.h: Same.
5399         * include/backward/multiset.h: Same.
5400         * include/backward/multimap.h: Same.
5401         * include/backward/map.h: Same.
5402         * include/backward/list.h: Same.
5403         * include/backward/iterator.h: Same.
5404         * include/backward/iostream.h: Same.
5405         * include/backward/iomanip.h: Same.
5406         * include/backward/fstream.h: Same.
5407         * include/backward/deque.h: Same.
5408         * include/backward/complex.h: Same.
5410         * include/bits/std_algorithm.h: Move to...
5411         * include/std/algorithm: ...here.
5412         * include/bits/std_iosfwd.h, std_locale.h, std_stack.h,
5413         std_bitset.h, std_ios.h, std_map.h, std_stdexcept.h,
5414         std_complex.h, std_iostream.h, std_memory.h, std_streambuf.h,
5415         std_deque.h, std_istream.h, std_numeric.h, std_string.h,
5416         std_fstream.h, std_ostream.h, std_utility.h, std_iterator.h,
5417         std_queue.h, std_valarray.h, std_functional.h, std_limits.h,
5418         std_set.h, std_vector.h, std_iomanip.h, std_list.h, std_sstream.h:
5419         Same.
5421         * include/c_std/bits/std_cassert.h: Move to...
5422         * include/c_std/cassert: Here.
5423         * include/c_std/std_cctype.h, std_cerrno.h, std_cfloat.h,
5424         std_climits.h, std_clocale.h, std_cmath.h, std_csetjmp.h,
5425         std_csignal.h, std_cstdarg.h, std_cstddef.h, std_cstdio.h,
5426         std_cstdlib.h, std_cstring.h, std_ctime.h, std_cwchar.h,
5427         std_cwctype.h: Same.
5428         * include/c_std/cmath: Adjust cmath.tcc include.
5429         * include/c_std/cstdlib: Adjust includes.
5430         * include/c_std/cwchar: Same.
5431         * include/c_std/ctime: Same.
5432         * include/c_std/cstring: Same.
5433         * include/c_std/cstdio: Same.
5434         * include/c_std/bits: Remove directory.
5436         * include/c/bits/std_cassert.h: Move to...
5437         * include/c/cassert: Here.
5438         * include/c/std_cctype.h, std_cerrno.h, std_cfloat.h,
5439         std_climits.h, std_clocale.h, std_cmath.h, std_csetjmp.h,
5440         std_csignal.h, std_cstdarg.h, std_cstddef.h, std_cstdio.h,
5441         std_cstdlib.h, std_cstring.h, std_ctime.h, std_cwchar.h,
5442         std_cwctype.h: Same.
5443         * include/c/bits: Remove directory.
5445         * include/std/cwctype: Remove.
5446         * include/std/cwchar: Remove.
5447         * include/std/ctime: Remove.
5448         * include/std/cstring: Remove.
5449         * include/std/cstdlib: Remove.
5450         * include/std/cstdio: Remove.
5451         * include/std/cstddef: Remove.
5452         * include/std/cstdarg: Remove.
5453         * include/std/csignal: Remove.
5454         * include/std/csetjmp: Remove.
5455         * include/std/cmath: Remove.
5456         * include/std/clocale: Remove.
5457         * include/std/climits: Remove.
5458         * include/std/ciso646: Remove.
5459         * include/std/cfloat: Remove.
5460         * include/std/cerrno: Remove.
5461         * include/std/cctype: Remove.
5462         * include/std/cassert: Remove.
5464         * include/bits/fpos.h: Adjust includes, removing <bits/std_xxx.h>
5465         files and subsituting <xxx>.
5466         * include/bits/valarray_array.h: Same.
5467         * include/bits/stl_uninitialized.h: Same.
5468         * include/bits/stl_alloc.h: Same.
5469         * include/bits/stl_algobase.h: Same.
5470         * include/bits/sstream.tcc: Same.
5471         * include/bits/pthread_allocimpl.h: Same.
5472         * include/bits/ostream.tcc: Same.
5473         * include/bits/localefwd.h: Same.
5474         * include/bits/locale_facets.tcc: Same.
5475         * include/bits/locale_facets.h: Same.
5476         * include/bits/istream.tcc: Same.
5477         * include/bits/char_traits.h: Same.
5478         * include/bits/boost_concept_check.h: Same.
5479         * include/bits/basic_file.h: Same.
5480         * include/std/bitset: Same.
5481         * include/std/complex: Same.
5482         * include/std/fstream: Same.
5483         * include/std/functional: Same.
5484         * include/std/ios: Same.
5485         * include/std/iostream: Same.
5486         * include/std/ostream: Same.
5487         * include/std/sstream: Same.
5488         * include/std/streambuf: Same.
5489         * include/std/string: Same.
5490         * include/std/iterator: Same.
5491         * include/std/valarray: Same.
5493         * src/ios.cc: Adjust includes.
5494         * src/valarray-inst.cc: Same.
5495         * src/string-inst.cc: Same.
5496         * src/stl-inst.cc: Same.
5497         * src/stdexcept.cc: Same.
5498         * src/misc-inst.cc: Same.
5499         * src/localename.cc: Same.
5500         * src/locale-inst.cc: Same.
5501         * src/locale.cc: Same.
5502         * src/limits.cc: Same.
5503         * src/concept-inst.cc: Same.
5504         * src/complex_io.cc: Same.
5505         * src/codecvt.cc: Same.
5506         * src/bitset.cc: Same.
5507         * src/cmath.cc: Same.
5509 2002-01-04  Paolo Carlini  <pcarlini@unitus.it>
5511         * include/bits/stl_tree.h (rb_tree):  Move to...
5512         * include/ext/rb_tree:  ...here, new file.
5513         * include/Makefile.am (ext_headers):  Add new file.
5514         * include/Makefile.in:  Regenerate.
5515         * include/bits/stl_tempbuf.h (get_temporary_buffer + helper,
5516         return_temporary_buffer, struct temporary_buffer):  Move to...
5517         * include/ext/memory:  ...here.
5518         * testsuite/ext/headers.cc:  Include <ext/rb_tree>.
5519         * include/backward/tempbuf.h:  Include <ext/memory>, tweak.
5520         * include/backward/tree.h:  Include <ext/rb_tree), tweak.
5522 2002-01-03  Paolo Carlini  <pcarlini@unitus.it>
5524         * include/bits/stl_numeric.h (power + helpers, iota):  Move to...
5525         * include/ext/numeric:  ...here, new file.
5526         * include/bits/stl_function.h (identity_element, unary_compose,
5527         binary_compose, compose1, compose2, identity, select1st,
5528         select2nd, project1st + helper, project2nd + helper,
5529         constant_void_fun + helper, constant_unary_fun + helper,
5530         costant_binary_fun + helper, constant0, constant1, constant2,
5531         subtractive_rng, mem_fun1, mem_fun1_ref):  Move to...
5532         * include/ext/functional:  ...here, new file.
5533         * include/Makefile.am (ext_headers):  Add new files.
5534         * include/Makefile.in:  Regenerate.
5535         * testsuite/ext/headers.cc:  Include <ext/numeric> and
5536         <ext/functional>.
5537         * include/backward/algo.h:  Include <ext/numeric>, tweak.
5538         * include/backward/function.h:  Include <ext/functional>, tweak.
5539         * include/ext/ropeimpl.h:  Include <ext/numeric>.
5541 2002-01-03  Jeffrey A Law  <law@redhat.com>
5543         * config/os/hpux/bits/os_defines.h: Prefix __strtoll and
5544         __strtoull declarations with __extension__.
5546 2002-01-03  David Billinghurst <David.Billinghurst@riotinto.com>
5548         * testsuite/lib/prune.exp: Correct regular expression for
5549         -ffunction-sections
5551 2002-01-02  Phil Edwards  <pme@gcc.gnu.org>
5553         * include/bits/stl_algo.h (upper_bound, equal_range, binary_search):
5554         Change concept checks, as with lower_bound and PR 2054.
5555         * testsuite/ext/concept_checks.cc:  Expand test to include those.
5557 2002-01-02  Phil Edwards  <pme@gcc.gnu.org>
5559         * include/bits/boost_concept_check.h:  Import some changes from
5560         upsteam (Boost) version.
5562 2002-01-02  Paolo Carlini  <pcarlini@unitus.it>
5564         * include/bits/stl_algobase.h (copy_n + helpers,
5565         lexicographical_compare_3way + helpers):  Move to...
5566         * include/ext/algorithm:  ...here.
5567         * include/bits/stl_uninitialized.h (uninitialized_copy_n +
5568         helpers):  Move to...
5569         * include/ext/memory:  ...here, new file.
5570         * include/Makefile.am (ext_headers):  Add new file.
5571         * include/Makefile.in:  Regenerate.
5572         * testsuite/ext/headers.cc:  Include <ext/memory>.
5573         * include/backward/algobase.h:  Include <ext/memory> and
5574         <ext/algorithm>, tweak.
5575         * include/ext/ropeimpl.h:  Include <ext/memory>, tweak.
5576         * include/ext/stl_rope.h:  Include <ext/memory>, tweak.
5578 2002-01-01  Roger Sayle <roger@eyesopen.com>
5580         * libmath/stubs.c (sinf,cosf): Implement stubs to enable the
5581         equivalent ___builtin__ versions.
5583         * include/c_shadow/bits/std_cmath.h: All __builtin math functions
5584         are available in libstdc++ as the necessary stub implementations
5585         are provided by libmath/stubs.c.
5587 2002-01-01  Jason Thorpe  <thorpej@wasabisystems.com>
5589         * configure.in: Add support for NetBSD cross compiles.
5590         * configure: Regenerate.
5592 Copyright (C) 2002 Free Software Foundation, Inc.
5594 Copying and distribution of this file, with or without modification,
5595 are permitted in any medium without royalty provided the copyright
5596 notice and this notice are preserved.