Merge from vendor branch OPENSSL:
[dragonfly.git] / contrib / gcc-3.4 / libstdc++-v3 / ChangeLog-2002
1 2002-12-30  Loren J. Rittle  <ljrittle@acm.org>
2
3         * src/Makefile.am: Resolve non-portable use of $<.
4         * src/Makefile.in: Rebuilt.
5
6 2002-12-30  Phil Edwards  <pme@gcc.gnu.org>
7
8         * configure.in (GLIBCPP_ENABLE_CXX_FLAGS):  Do not pass arguments,
9         let the defaults work.
10         * configure:  Regenerate.
11
12 2002-12-30  Phil Edwards  <pme@gcc.gnu.org>
13
14         * acinclude.m4:  Remove trailing whitespace.
15         (GLIBCPP_ENABLE_CXX_FLAGS):  Fix.
16         * aclocal.m4, configure:  Regenerate.
17
18 2002-12-29  Phil Edwards  <pme@gcc.gnu.org>
19
20         * include/std/std_bitset.h:  Better comments.
21
22 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
23
24         * docs/html/17_intro/porting.texi: Use @copying.
25         * docs/html/17_intro/porting.html: Regenerate.
26
27 2002-12-27  Mark Mitchell  <mark@codesourcery.com>
28
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.
50         
51 2002-12-26  Phil Edwards  <pme@gcc.gnu.org>
52
53         * libsupc++/exception:  Add comment (mistakenly skipped).
54
55 2002-12-26  Phil Edwards  <pme@gcc.gnu.org>
56
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.
63
64         * testsuite/23_containers/bitset_members.cc (test03):  New test.
65         * testsuite/23_containers/bitset_shift.cc (test02):  New test.
66
67 2002-12-26  Phil Edwards  <pme@gcc.gnu.org>
68
69         * libsupc++/vterminate.cc (writestr):  Use __builtin_strlen.
70
71 2002-12-26  Phil Edwards  <pme@gcc.gnu.org>
72
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.
79
80 2002-12-25  Phil Edwards  <pme@gcc.gnu.org>
81
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.
91
92         * libsupc++/Makefile.am (sources), src/Makefile.am (sources):  Update.
93         * libsupc++/Makefile.in, src/Makefile.in:  Regenerate.
94
95 2002-12-23  Danny Smith  <dannysmith@users.sourceforge.net>
96
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.
100
101 2002-12-20  Sylvain Pion   <Sylvain.Pion@mpi-sb.mpg.de>
102
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.
110
111 2002-12-18  Benjamin Kosnik  <bkoz@redhat.com>
112
113         * docs/html/documentation.html: Add link for debug.html.
114         * docs/html/debug.html: New.
115         
116 2002-12-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
117
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.
122
123 2002-12-18  Jason Merrill  <jason@redhat.com>
124
125         * src/vterminate.cc (__verbose_terminate_handler): Send
126         diagnostics to stderr.
127
128 2002-12-18  Ulrich Weigand  <uweigand@de.ibm.com>
129
130         * configure.in: Define with_target_subdir and with_build_subdir
131         variables in config-ml.in AC_OUTPUT call.
132         * configure: Regenerate.
133
134 2002-12-16  Paolo Carlini  <pcarlini@unitus.it>
135
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.
148
149 2002-12-16  Benjamin Kosnik  <bkoz@redhat.com>
150
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.
163
164 2002-12-16  Benjamin Kosnik  <bkoz@redhat.com>
165
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.
192         
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.
201
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.
216
217 2002-12-11  Paolo Carlini  <pcarlini@unitus.it>
218
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.
223
224 2002-12-10  Mark Mitchell  <mark@codesourcery.com>
225
226         * libsupc++/cxxabi.h (__cxa_bad_cast): Declare it.
227         (__cxa_bad_typeid): Likewise.
228         (__cxa_atexit): Likewise.
229         (__cxa_finalize): Likewise.
230
231 2002-12-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
232
233         * include/bits/slice_array.h (slice_array<>::operator=): Fix typo.
234
235 2002-12-09  Mark Mitchell  <mark@codesourcery.com>
236
237         * libsupc++/cxxabi.h (__cxa_pure_virtual): Declare it.
238
239 2002-12-05  Benjamin Kosnik  <bkoz@redhat.com>
240
241         * testsuite/abi_check.cc: Add GLIBCPP_3.2.2.
242
243 2002-12-04  Paolo Carlini  <pcarlini@unitus.it>
244
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::.
348
349 2002-12-02  Paolo Carlini  <pcarlini@unitus.it>
350
351         * include/bits/basic_string.h (compare(const basic_string&)):
352         Fully qualify min() with std::.
353
354 2002-12-02  Benjamin Kosnik  <bkoz@redhat.com>
355
356         * configure.in (libtool_VERSION): Update to 5:2:0.
357         * configure: Regenerate.
358
359 2002-12-02  Paolo Carlini  <pcarlini@unitus.it>
360
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::.
371
372 2002-12-02  Paolo Carlini  <pcarlini@unitus.it>
373
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::.
380
381 2002-11-28  Phil Edwards  <pme@gcc.gnu.org>
382
383         PR libstdc++/8716
384         * testsuite/21_strings/ctor_copy_dtor.cc (test05):  Also test
385         the NULL-pointer, zero-size case.
386
387 2002-11-28  Jonathan Wakely  <redi@gcc.gnu.org>
388
389         * docs/html/faq/index.html: Add tip about a namespace for extensions.
390
391 2002-11-28  Paolo Carlini  <pcarlini@unitus.it>
392             Nathan Myers  <ncm@cantrip.org>
393
394         * src/localename.cc
395         (locale::_Impl::_Impl(const char*, size_t)):
396         Improve previous fix for the strtok vs MT issue.
397
398 2002-11-28  Paolo Carlini  <pcarlini@unitus.it>
399
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.
404
405 2002-11-25  Benjamin Kosnik  <bkoz@redhat.com>
406
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.
410
411 2002-11-25  Paolo Carlini  <pcarlini@unitus.it>
412             Nathan Myers  <ncm@cantrip.org>
413
414         * src/localename.cc
415         (locale::_Impl::_Impl(const char*, size_t)):
416         Avoid strtok for thread safety.
417
418 2002-11-25  Stephen M. Webb  <stephen@bregmasoft.com>
419
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.
429
430 2002-11-25  Mark Mitchell  <mark@codesourcery.com>
431
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.
438
439 2002-11-25  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
440
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.
445
446 2002-11-24  Paolo Carlini  <pcarlini@unitus.it>
447
448         * src/locale.cc (locale::locale(const char*)):
449         Trivial cosmetic tweaks.
450
451 2002-11-22  Laszlo Ersek  <erseklaszlo@chello.hu>
452             Paolo Carlini  <pcarlini@unitus.it>
453
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.
458
459 2002-11-21  Phil Edwards  <pme@gcc.gnu.org>
460
461         * docs/html/documentation.html:  Fix broken/thinko'd URL.
462
463 2002-11-21  Phil Edwards  <pme@gcc.gnu.org>
464
465         * docs/doxygen/run_doxygen:  Tighter search expression for sed.
466         * docs/doxygen/stdheader.cc:  Handle the case of good headers.
467
468 2002-11-21  Phil Edwards  <pme@gcc.gnu.org>
469
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.
474
475 2002-11-21  Phil Edwards  <pme@gcc.gnu.org>
476
477         * include/bits/streambuf.tcc (basic_streambuf::sputbackc):  Prefix
478         "this->" to call to pbackfail.
479
480 2002-11-21  Phil Edwards  <pme@gcc.gnu.org>
481
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.
489
490         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
491         Import R23.
492
493 2002-11-21  Phil Edwards  <pme@gcc.gnu.org>
494
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.
503
504 2002-11-20  Benjamin Kosnik  <bkoz@redhat.com>
505             Jonathan Lennox  <lennox@cs.columbia.edu>
506
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.
511
512 2002-11-20  Jonathan Wakely  <redi@gcc.gnu.org>
513
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.
518
519 2002-11-19  John Gustafsson  <forgoil@rsn.bth.se>
520
521         * docs/html/20_util/howto.html: Fix typo.
522
523 2002-11-18  Jonathan Lennox  <lennox@cs.columbia.edu>
524
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.
530
531 2002-11-18  Paolo Carlini  <pcarlini@unitus.it>
532
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.
537
538 2002-11-17  Jakub Jelinek  <jakub@redhat.com>
539
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.
543
544 2002-11-15  Benjamin Kosnik  <bkoz@redhat.com>
545             Gabriel Dos Reis  <gdr@integrable-solutions.net>
546
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.
556
557 2002-11-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
558
559         * src/ios.cc [_GLIBCPP_HAVE_UNISTD_H]: Include unistd.h.
560
561 2002-11-15  Paolo Carlini  <pcarlini@unitus.it>
562             Loren J. Rittle  <ljrittle@acm.org>
563
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.
578
579 2002-11-13  Benjamin Kosnik  <bkoz@redhat.com>
580
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.
587
588 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
589
590         * config/os/hpux/os_defines.h (_GLIBCPP_INST_ATOMICITY_LOCK): Define
591         on hppa when there is no weak support.
592
593 2002-11-13  Benjamin Kosnik  <bkoz@redhat.com>
594
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.
600
601 2002-11-13  Benjamin Kosnik  <bkoz@redhat.com>
602
603         * config/linker-map.gnu: Export all _S_construct.
604
605 2002-11-13  Loren J. Rittle  <ljrittle@acm.org>
606
607         PR libstdc++/7445
608         * src/locale.cc (std::locale::classic()): Weaken locking protocol.
609
610 2002-11-13  Jonathan Wakely  <redi@gcc.gnu.org>
611
612         * docs/html/install.html, docs/html/22_locale/locale.html: HTML fix.
613
614 2002-11-11  Benjamin Kosnik  <bkoz@redhat.com>
615
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.
623
624 2002-11-11  Jonathan Wakely <redi@gcc.gnu.org>
625
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.
636
637 2002-11-07  Phil Edwards  <pme@gcc.gnu.org>
638             Richard Earnshaw  <rearnsha@arm.com>
639
640         * config/cpu/generic/atomicity.h:  Provide atomic __exchange_and_add
641         and __atomic_add.
642
643 2002-11-08  Paolo Carlini  <pcarlini@unitus.it>
644
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.
651
652 2002-11-05  Jonathan Wakely  <cow@compsoc.man.ac.uk>
653
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.
658
659 2002-11-05  Benjamin Kosnik  <bkoz@redhat.com>
660
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.
668
669 2002-11-05  Paolo Carlini  <pcarlini@unitus.it>
670
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.
677
678 2002-11-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
679
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.
685
686 2002-11-05  Benjamin Kosnik  <bkoz@redhat.com>
687
688         PR libstdc++/8463
689         * include/bits/ios_base.h (~ios_base): Make virtual.
690
691 2002-11-04  Benjamin Kosnik  <bkoz@redhat.com>
692
693         * config/linker-map.gnu: Export string operator+.
694         Export __default_alloc_template::_S_force_new.
695         * testsuite/abi_check.cc: Output tweaks.
696
697 2002-11-01  Benjamin Kosnik  <bkoz@redhat.com>
698
699         PR libstdc++/8172
700         * src/string-inst.cc: Add instantiation.
701
702 2002-11-01  Benjamin Kosnik  <bkoz@redhat.com>
703
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.
712
713 2002-11-01  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
714
715         PR libstdc++/8197
716         * config/link-map.gnu: Export math stubbs.
717
718 2002-11-01  Benjamin Kosnik  <bkoz@redhat.com>
719
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.
731
732 2002-11-01  John Carter  <john.carter@tait.co.nz>
733
734         PR libstdc++/7961
735         * include/bits/basic_string.tcc
736         (compare(const _CharT* __s)): Don't access __s past its length.
737
738 2002-10-31  Zack Weinberg  <zack@codesourcery.com>
739
740         * libsupc++/eh_globals.cc: Don't call __gthread_key_dtor.
741
742 2002-10-31  Benjamin Kosnik  <bkoz@redhat.com>
743
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.
748
749 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
750
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.
755
756 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
757
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.
764
765 2002-10-27  Paolo Carlini  <pcarlini@unitus.it>
766
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.
774
775 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
776
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.
782
783 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
784
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.
788
789 2002-10-22  Jakub Jelinek  <jakub@redhat.com>
790
791         * Makefile.am (check-abi, new-abi-baseline): Use @glibcpp_srcdir@
792         instead of ${top_srcdir}.
793         * Makefile.in: Rebuilt.
794
795 2002-10-22  Loren J. Rittle  <ljrittle@acm.org>
796
797         * testsuite/18_support/numeric_limits.cc (test_extrema<long double>):
798         Remove specialization for FreeBSD systems.
799
800 2002-10-18  Loren J. Rittle  <ljrittle@acm.org>
801
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.
805
806         * testsuite/thread/pthread1.cc: Remove needless workaround
807         for FreeBSD 5.
808
809 2002-10-18  Loren J. Rittle  <ljrittle@acm.org>
810             Brad Spencer  <spencer@infointeractive.com>
811             (provided alternate patch and improvements)
812
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.
835
836 2002-10-18  Phil Edwards  <pme@gcc.gnu.org>
837
838         * configure.in:  Use target, not target_alias, when matching triplet
839         patterns.
840         * configure:  Regenerate.
841
842 2002-10-17  Momchil Velikov  <velco@fadata.bg>
843             Loren J. Rittle  <ljrittle@acm.org>
844
845         * configure.in: Add *-freebsd* to cross list.
846         * configure: Rebuilt.
847
848 2002-10-16  Benjamin Kosnik  <bkoz@redhat.com>
849
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.
861
862         * docs/html/install.html: Add es_MX, en_PH to required locales list.
863
864 2002-10-16  Benjamin Kosnik  <bkoz@redhat.com>
865
866         * config/linker-map.gnu: Add exports for codecvt constructors
867         where size_t == unsigned long.
868
869 2002-10-14  Benjamin Kosnik  <bkoz@redhat.com>
870
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.
875
876 2002-10-14  Benjamin Kosnik  <bkoz@redhat.com>
877
878         * testsuite/22_locale/static_members.cc (test02): Less provincial.
879
880 2002-10-14  Benjamin Kosnik  <bkoz@redhat.com>
881
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.
888
889 2002-10-13  Danny Smith  <dannysmith@users.sourceforge.net>
890
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.
898
899 2002-10-12  Benjamin Kosnik  <bkoz@redhat.com>
900
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.
905
906         * testsuite/22_locale/static_members.cc (test02): Avoid null strings.
907
908 2002-10-12  Jonathan Wakely  <jw@kayari.org>
909             Gabriel Dos Reis  <gdr@integrable-solutions.net>
910
911         * docs/html/21_strings/howto.html#5:  Correct nasting of XHTML
912         elements.  Correct allocator-related text.
913
914 2002-10-11  Benjamin Kosnik  <bkoz@redhat.com>
915
916         * testsuite/22_locale/static_members.cc (test02): Fix.
917
918 2002-10-11  Benjamin Kosnik  <bkoz@redhat.com>
919
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.
930
931         * testsuite/22_locale/ctor_copy_dtor.cc (test04): Fix for
932         non-glibc systems.
933
934 2002-10-10  Benjamin Kosnik  <bkoz@redhat.com>
935
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.
943
944 2002-10-10  Phil Edwards  <pme@gcc.gnu.org>
945
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.
949
950 2002-10-09  Benjamin Kosnik  <bkoz@redhat.com>
951
952         * src/locale.cc: Fix comments, move ctors together.
953         * testsuite/22_locale/static_members.cc (test03): Add.
954
955 2002-10-08  Jonathan Lennox  <lennox@cs.columbia.edu>
956
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.
961
962 2002-10-08  Paolo Carlini  <pcarlini@unitus.it>
963             Benjamin Kosnik  <bkoz@redhat.com>
964
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.
985
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.
1004
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.
1008
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().
1018
1019         * docs/html/22_locale/locale.html: Add bits about global locales
1020         and "C" setlocale.
1021
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.
1025
1026 2002-10-07  Jonathan Wakely  <jw@kayari.org>
1027
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.
1040
1041 2002-10-03  Richard Earnshaw  <rearnsha@arm.com>
1042
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.
1049
1050 2002-10-02  Andreas Jaeger  <aj@suse.de>
1051
1052         * config/abi/x86_64-unknown-linux-gnu/baseline_symbols.txt:
1053         New file.
1054
1055 2002-10-01  Phil Edwards  <pme@gcc.gnu.org>
1056
1057         * Makefile.am (check-abi):  Add @ to rule.
1058         * Makefile.in:  Regenerated.
1059
1060 2002-09-27  Paolo Carlini  <pcarlini@unitus.it>
1061
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.
1066
1067 2002-09-27  Richard Henderson  <rth@redhat.com>
1068
1069         * config/os/hpux/cpu_limits.h: Remove.
1070
1071         * include/std/std_limits.h (numeric_limits<T>::is_iec559): False
1072         if denormals are not supported.
1073
1074 2002-09-25  Benjamin Kosnik  <bkoz@redhat.com>
1075
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.
1081
1082         * include/std/std_limits.h: Remove cpu_limits.h include.
1083
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.
1101
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.
1113
1114 2002-09-25  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
1115
1116         * testsuite/18_support/numeric_limits.cc: Check the maximum and
1117         minimum values of the wchar_t type.
1118
1119 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
1120
1121         * include/std/std_limits.h (numeric_limits<unsigned char>::digits):
1122         Fix typo.
1123
1124 2002-09-23  Richard Henderson  <rth@redhat.com>
1125
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.
1170
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.
1174
1175 2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1176
1177         * Makefile.am (all-multi): Fix multilib parallel build.
1178
1179 2002-09-22  Richard Henderson  <rth@redhat.com>
1180
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.
1191
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.
1199
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.
1217
1218 2002-09-18  Loren J. Rittle  <ljrittle@acm.org>
1219
1220         * testsuite/18_support/numeric_limits.cc (test_epsilon): New.
1221
1222 2002-09-18  Richard Henderson  <rth@redhat.com>
1223
1224         * testsuite/18_support/numeric_limits.cc: Add -mieee for alpha.
1225
1226 2002-09-16  Benjamin Kosnik  <bkoz@redhat.com>
1227
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.
1236
1237 2002-09-16  Loren J. Rittle  <ljrittle@acm.org>
1238
1239         libstdc++/7922
1240         * include/ext/stl_rope.h (rope<>): Qualify dependent names
1241         with `typename'.
1242
1243 2002-09-16  Richard Henderson  <rth@redhat.com>
1244
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.
1275
1276         * testsuite/18_support/numeric_limits.cc (test_infinity): New.
1277         (test_denorm_min, test_qnan, test_is_iec559): New.
1278
1279 2002-09-16  Phil Edwards  <pme@gcc.gnu.org>
1280
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.
1286
1287 2002-09-16  Richard Henderson  <rth@redhat.com>
1288
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.
1306
1307 2002-09-13  Andy Felt  <afelt@uwsp.edu>
1308
1309         * docs/html/17_intro/howto.html:  Update link.
1310
1311 2002-09-13  Phil Edwards  <pme@gcc.gnu.org>
1312
1313         * docs/doxygen/run_doxygen:  Massage man page for Iterator_types.3.
1314         * docs/html/faq/index.html:  Whitespace fixes.
1315
1316 2002-09-12  Benjamin Kosnik  <bkoz@redhat.com>
1317
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.
1323
1324         * config/locale/gnu/c_locale.h: Remove warnings.
1325         Inject __uselocale into __gnu_cxx.
1326         * config/locale/generic/c_locale.h: Match.
1327
1328 2002-09-11  Benjamin Kosnik  <bkoz@redhat.com>
1329
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.
1333
1334 2002-09-11  Paolo Carlini  <pcarlini@unitus.it>
1335
1336         * include/bits/locale_facets.tcc (__convert_from_v):
1337         Use __uselocale instead of setlocale for glibc 2.3+.
1338
1339 2002-09-10  Benjamin Kosnik  <bkoz@redhat.com>
1340
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.
1356
1357         * src/bitset.cc: Correct license text.
1358         * src/concept-inst.cc: Same.
1359         * src/strstream.cc: Same.
1360         * src/vterminate.cc: Same.
1361
1362 2002-09-10  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
1363
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.
1372
1373 2002-09-10  Paolo Carlini  <pcarlini@unitus.it>
1374
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.
1389
1390 2002-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
1391
1392         * include/bits/locale_facets.tcc (__convert_from_v):
1393         Replace strdup with ISO malloc and strcpy.
1394
1395 2002-09-09  Benjamin Kosnik  <bkoz@redhat.com>
1396
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.
1405
1406         * src/misc-inst.cc: Add missing instantiations.
1407
1408         * testsuite/abi_check.cc: Make output results more verbose.
1409
1410         * config/os/gnu-linux/ctype_base.h: Remove shadow headers injections.
1411
1412 2002-09-07  Jakub Jelinek  <jakub@redhat.com>
1413
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.
1417
1418 2002-09-06  Benjamin Kosnik  <bkoz@redhat.com>
1419
1420         * include/bits/localefwd.h: Tweak formatting.
1421         * docs/html/abi.txt: Add.
1422
1423 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
1424
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.
1430
1431 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
1432
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}.
1445
1446 2002-09-05  Paolo Carlini  <pcarlini@unitus.it>
1447             Roland McGrath  <roland@redhat.com>
1448
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.
1453
1454 2002-09-05  Jakub Jelinek  <jakub@redhat.com>
1455
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.
1460
1461 2002-09-05  Jonathan Wakely  <jw@kayari.org>
1462
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.
1479
1480 2002-09-05  Jakub Jelinek  <jakub@redhat.com>
1481
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.
1490
1491 2002-09-05  Jakub Jelinek  <jakub@redhat.com>
1492
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.
1497
1498 2002-09-05  Jakub Jelinek  <jakub@redhat.com>
1499
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.
1517
1518 2002-09-05  Benjamin Kosnik  <bkoz@redhat.com>
1519
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.
1526
1527 2002-09-04  Richard Henderson  <rth@redhat.com>
1528
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.
1543
1544 2002-09-03  Richard Henderson  <rth@redhat.com>
1545
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.
1584
1585 2002-09-01  Phil Edwards  <pme@gcc.gnu.org>
1586
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'.
1592
1593 2002-08-31  Phil Edwards  <pme@gcc.gnu.org>
1594
1595         * acinclude.m4:  Minor comment tweaks.
1596
1597         * docs/html/makedoc.awk:  New file...
1598         * docs/html/Makefile:  ...called from here...
1599         * docs/html/documentation.html:  ...to help generate this.
1600
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.
1607
1608 2002-08-29  Richard Earnshaw  <rearnshaw@arm.com>
1609
1610         * config/cpu/arm/cpu_limits.h: New file.
1611         * configure.target: Use config/cpu/arm for XScale and StrongARM
1612         configurations.
1613
1614 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1615
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__.
1623
1624 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1625
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.
1678
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.
1686
1687 2002-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1688
1689         * include/std/std_limits.h: Indent conditional macro definitions.
1690
1691 2002-08-23  Phil Edwards  <pme@gcc.gnu.org>
1692
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.
1699
1700 2002-08-23  Phil Edwards  <pme@gcc.gnu.org>
1701
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.
1710
1711 2002-08-22  Benjamin Kosnik  <bkoz@redhat.com>
1712
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.
1720
1721 2002-08-22  Loren J. Rittle <ljrittle@acm.org>
1722
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.
1727
1728 2002-08-22  Paolo Carlini  <pcarlini@unitus.it>
1729
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.
1734
1735 2002-08-22  Benjamin Kosnik  <bkoz@redhat.com>
1736             Phil Edwards  <pme@gcc.gnu.org>
1737             Ulrich Drepper  <drepper@redhat.com>
1738
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.
1751
1752 2002-08-19  Benjamin Kosnik  <bkoz@redhat.com>
1753
1754         * configure.in (libtool_VERSION): Update to 5:1:0.
1755         * configure: Regenerate.
1756
1757 2002-08-19  Jonathan Wakely  <jw@kayari.org>
1758
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.
1764
1765 2002-08-15  Benjamin Kosnik  <bkoz@redhat.com>
1766
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.
1771
1772         Revert PR libstdc++/7445
1773         * src/locale.cc (locale::classic): Revert.
1774
1775         * docs/html/17_intro/TODO: Add.
1776
1777 2002-08-15  Phil Edwards  <pme@gcc.gnu.org>
1778
1779         * docs/html/documentation.html:  Update doxygen links for 3.2.
1780
1781 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
1782
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.
1789
1790 2002-08-14  Jonathan Wakely  <jw@kayari.org>
1791
1792         * docs/html/22_locale/messages.html:  Use HTML entities for
1793         punctuation.
1794
1795 2002-08-13  Jonathan Wakely  <jw@kayari.org>
1796             Phil Edwards  <pme@gcc.gnu.org>
1797
1798         * docs/html/documentation.html:  Use HTML entities for punctuation.
1799
1800 2002-08-09  Phil Edwards  <pme@gcc.gnu.org>
1801
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.
1809
1810 2002-08-08  Danny Smith  <dannysmith@users.sourceforge.net>
1811             Benjamin Kosnik  <bkoz@redhat.com>
1812
1813         * include/bits/istream.tcc (basic_istream::ignore): Use sbumpc,
1814         not snextc.
1815         * testsuite/27_io/narrow_stream_objects.cc (test10): Add.
1816
1817 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1818
1819         * libsupc++/Makefile.am (LTCOMPILE): Add LIBSUPCXX_PICFLAGS.
1820         * libsupc++/Makefile.in: Regenerate.
1821
1822 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
1823
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.
1831
1832 2002-08-03  Gabriel Dos Reis  <gdr@nerim.net>
1833
1834         * testsuite/26_numerics/valarray_name_lookup.cc: Rename from
1835         testsuite/26_numerics/valarray_name_lookup.C
1836
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.
1855
1856 2002-08-02  Gabriel Dos Reis  <gdr@nerim.net>
1857
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.
1872
1873 2002-08-02  Danny Smith  <dannysmith@users.sourceforge.net>
1874
1875         * config/os/newlib/ctype_inline.h (is): Don't offset _M_table.
1876         (scan_is): Use this->is.
1877         (scan_not): Likewise.
1878
1879 2002-08-02  Benjamin Kosnik  <bkoz@redhat.com>
1880
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.
1886
1887         * docs/html/abi.txt: Update. Spell check.
1888
1889         * testsuite/19_diagnostics/stdexceptions.cc (test04): Add bool test.
1890
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.
1895
1896 2002-08-02  Gabriel Dos Reis  <gdr@nerim.net>
1897
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.
1906
1907 2002-08-01  Rick Danos  <rdanos@hotmail.com>
1908
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.
1912
1913 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
1914
1915         * libsupc++/Makefile.am (LT_COMPILE): Remove C++ flags.
1916         * libsupc++/Makefile.in: Regenerate.
1917
1918 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
1919             Jakub Jelinek  <jakub@redhat.com>
1920
1921         * config/linker-map.gnu: Change CXXABI_1 to CXXABI_1.2,
1922         GLIBCPP_3.1 to GLIBCPP_3.2.
1923
1924 2002-07-31  Benjamin Kosnik  <bkoz@redhat.com>
1925             Mark Mitchell  <mark@codesourcery.com>
1926
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.
1931
1932 2002-07-31  Benjamin Kosnik  <bkoz@redhat.com>
1933
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.
1955
1956 2002-07-31  Benjamin Kosnik  <bkoz@redhat.com>
1957
1958         * src/fstream.cc: Add _GLIBCPP_USE_WCHAR_T guards.
1959
1960 2002-07-31  Simon Whomsley  <whomsley@avacadcam.com>
1961
1962         * docs/html/22_locale/howto.html: Fix.
1963
1964 2002-07-31  Alex Kompel  <shurik@sequoiap.com>
1965
1966         PR libstdc++/7445
1967         * src/locale.cc (locale::classic): Move locks inside !_S_classic
1968         block.
1969
1970 2002-07-31  Benjamin Kosnik  <bkoz@redhat.com>
1971
1972         * docs/html/abi.txt: Update.
1973
1974 2002-07-30  Benjamin Kosnik  <bkoz@redhat.com>
1975             Gabriel Dos Reis  <gdr@nerim.net>
1976
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.
1993
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.
2003
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.
2020
2021 2002-07-29  Alan Modra  <amodra@bigpond.net.au>
2022
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.
2028
2029 2002-07-26  Phil Edwards  <pme@gcc.gnu.org>
2030
2031         * libsupc++/new (placement delete):  Remove unused parameter names.
2032
2033 2002-07-25  Benjamin Kosnik  <bkoz@redhat.com>
2034
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.
2054
2055 2002-07-25  Benjamin Kosnik  <bkoz@redhat.com>
2056
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.
2061
2062 2002-07-25  Benjamin Kosnik  <bkoz@redhat.com>
2063
2064         * testsuite/27_io/ios_base_type.cc: Move to...
2065         * testsuite/27_io/ios_base_types.cc: ...here.
2066
2067 2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>
2068
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.
2072
2073 2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>
2074
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.
2084
2085 2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>
2086
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.
2091
2092 2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>
2093
2094         PR libstdc++/7286
2095         * libsupc++/new: Add placement delete.
2096         * testsuite/18_support/new_delete_placement.cc: New.
2097
2098         * docs/html/abi.txt: Fix typos.
2099
2100 2002-07-23  Benjamin Kosnik  <bkoz@redhat.com>
2101
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.
2110
2111 2002-07-20  Phil Edwards  <pme@gcc.gnu.org>
2112
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.
2117
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.
2121
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.
2127
2128 2002-07-18  Brendan Kehoe  <brendan@zen.org>
2129
2130         * bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR): Fix typo of
2131         _Nname to _Name.
2132
2133 2002-07-19  Gabriel Dos Reis  <gdr@nerim.net>
2134
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.
2144
2145 2002-07-17  Phil Edwards  <pme@gcc.gnu.org>
2146
2147         * docs/doxygen/run_doxygen:  Remove template parameter names from
2148         "Compound List" summary page.  Reformat.
2149         * docs/html/documentation.html:  XHTML fixes.
2150
2151 2002-07-16  Andreas Schwab  <schwab@suse.de>
2152
2153         * libsupc++/new (set_new_handler): Declare to not throw any
2154         exceptions.
2155         * libsupc++/new_handler.cc (set_new_handler): Likewise.
2156
2157 2002-07-16  Gabriel Dos Reis  <gdr@nerim.net>
2158
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.
2166
2167 2002-07-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2168
2169         * config/os/solaris/solaris2.5/ctype_base.h (ctype_base): Fix
2170         print to match vendor <ctype.h>.
2171
2172 2002-07-15  Phil Edwards  <pme@gcc.gnu.org>
2173
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.
2177
2178 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2179
2180         * configure.target (target_os switch): Allow for irix6*o32
2181         configurations.
2182
2183 2002-07-10  Gabriel Dos Reis  <gdr@nerim.net>
2184
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.
2191
2192 2002-07-08  Eric Christopher  <echristo@redhat.com>
2193
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.
2198
2199 2002-07-08  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
2200
2201         * include/bits/stl_deque.h (_Deque_alloc_base):  Change order of
2202         member declarations to avoid compiler warnings and restore 3.1 ABI.
2203
2204 2002-07-08  Phil Edwards  <pme@gcc.gnu.org>
2205
2206         * docs/html/23_containers/howto.html:  Link to dk_std::vector paper
2207         and homepage.
2208
2209 2002-07-07  Paolo Carlini  <pcarlini@unitus.it>
2210
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.
2216
2217 2002-07-04  Benjamin Kosnik  <bkoz@redhat.com>
2218             Jack Reeves  <jackw_reeves@hotmail.com>
2219
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.
2235
2236 2002-07-03  Benjamin Kosnik  <bkoz@redhat.com>
2237
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.
2246
2247 2002-07-03  Steev Wilcox  <steev@paradigmds.com>
2248
2249         PR libstdc++/7057
2250         * include/ext/stl_hashtable.h: Fix.
2251         * testsuite/ext/hash_map.cc: New.
2252
2253 2002-07-03  Jack Reeves  <jackw_reeves@hotmail.com>
2254             Kenny Simpson  <theonetruekenny@yahoo.com>
2255             Phil Edwards  <pme@gcc.gnu.org>
2256
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.
2262
2263 2002-07-03  Benjamin Kosnik  <bkoz@redhat.com>
2264
2265         PR libstdc++/7097
2266         * include/c/std_cwchar.h: Fix.
2267
2268 2002-07-02  Benjamin Kosnik  <bkoz@redhat.com>
2269
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.
2276
2277         * include/backward/strstream.h: Update date.
2278
2279 2002-07-02  Paolo Carlini  <pcarlini@unitus.it>
2280
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.
2287
2288 2002-07-02  Phil Edwards  <pme@gcc.gnu.org>
2289
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.
2296
2297 2002-07-02  Phil Edwards  <pme@gcc.gnu.org>
2298
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.
2303
2304 2002-07-01  Benjamin Kosnik  <bkoz@redhat.com>
2305
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.
2312
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.
2321
2322 2002-07-01  Benjamin Kosnik  <bkoz@redhat.com>
2323
2324         * configure.in (libtool_VERSION): Bump to 5:0:0.
2325         * configure: Regenerate.
2326
2327 2002-06-28  Phil Edwards  <pme@gcc.gnu.org>
2328
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.
2333
2334 2002-06-27  Phil Edwards  <pme@gcc.gnu.org>
2335
2336         * include/bits/stl_alloc.h:  Deprecate all 'reallocate' memfns.
2337         * docs/html/ext/howto.html:  Update allocator notes.
2338
2339 2002-06-26  Benjamin Kosnik  <bkoz@redhat.com>
2340
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.
2347
2348 2002-06-25  DJ Delorie  <dj@redhat.com>
2349
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.
2355
2356 2002-06-25  Jessica Han  <jessica@cup.hp.com>
2357
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.
2361
2362 2002-06-25  Benjamin Kosnik  <bkoz@redhat.com>
2363
2364         * include/bits/stl_alloc.h: Additional formatting.
2365
2366 2002-06-24  Phil Edwards  <pme@gcc.gnu.org>
2367
2368         * include/bits/stl_alloc.h:  Reformat as per C++STYLE.
2369
2370 2002-06-24  Phil Edwards  <pme@gcc.gnu.org>
2371
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.
2378
2379 2002-06-21  Phil Edwards  <pme@gcc.gnu.org>
2380
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.
2385
2386 2002-06-21  Benjamin Kosnik  <bkoz@redhat.com>
2387
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.
2407
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.
2413
2414         * include/c_std/std_cmath.h: Remove extra function.
2415
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.
2449
2450 2002-06-20  Benjamin Kosnik  <bkoz@redhat.com>
2451
2452         * libsupc++/Makefile.am (libsupc__convenience_la_SOURCES): Add
2453         c_sources.
2454
2455 2002-06-20  Benjamin Kosnik  <bkoz@redhat.com>
2456
2457         * src/ext-inst.cc (__gnu_cxx): Use instead of std:: for extensions.
2458         Use size_type instead of unsigned long.
2459
2460 2002-06-20  Steve Ellcey  <sje@cup.hp.com>
2461
2462         * src/ext-inst.cc (_S_fetch): Add explicit templates for char and
2463         wchar types.
2464         (_S_min_len): Ditto.
2465
2466 2002-06-20  Benjamin Kosnik  <bkoz@redhat.com>
2467
2468         * include/Makefile.am: Add rules.
2469         * include/Makefile.in: Regenerate.
2470
2471         * acinclude.m4: Define GLIBCPP_C_HEADERS_COMPATIBILITY.
2472         * aclocal.m4: Regenerate.
2473         * configure: Regenerate.
2474         * configure.target (c_model, c_compatibility): Add.
2475
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.
2483
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.
2487
2488 2002-06-19  Steve Ellcey  <sje@cup.hp.com>
2489
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.
2495
2496 2002-06-18  Benjamin Kosnik  <bkoz@redhat.com>
2497
2498         * include/c/std_cwchar.h: Guard. Add mbstate_t bits.
2499         * include/c/std_cwctype.h: Guard.
2500
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.
2505
2506         * src/Makefile.am (sources): Remove cmath.cc.
2507         * src/Makefile.in: Regenerate.
2508         * src/cmath.cc: Remove.
2509
2510 2002-06-18  Phil Edwards  <pme@gcc.gnu.org>
2511
2512         * configure.target:  Force mips to use the generic cpu routines.
2513
2514 2002-06-18  Phil Edwards  <pme@gcc.gnu.org>
2515
2516         * configure.host:  Delete file.
2517         * configure.target:  More documentation.  Factor out common parts of
2518         script into "intelligent" settings about defaults.  Remove redundancy.
2519
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.
2528
2529         * aclocal.m4, configure, docs/html/17_intro/porting.html,
2530         testsuite/Makefile.in:  Regenerate.
2531
2532 2002-06-16  Phil Edwards  <pme@gcc.gnu.org>
2533
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.
2540
2541 2002-06-14  J.T. Conklin  <jtc@acorntoolworks.com>
2542
2543         * configure.in (target_alias): Fix.
2544         * configure: Regenerate.
2545         * aclocal.m4: Regenerate.
2546
2547 2002-06-12  Phil Edwards  <pme@gcc.gnu.org>
2548
2549         * include/Makefile.am:  Add new files.
2550         * include/Makefile.in:  Regenerate.
2551
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.
2556
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.
2561
2562 2002-06-12  Daniel Jacobowitz  <drow@mvista.com>
2563
2564         * Makefile.am: Add FLAGS_TO_PASS.
2565         * Makefile.in: Regenerated.
2566
2567 2002-06-11  J.T. Conklin  <jtc@acorntoolworks.com>
2568             Benjamin Kosnik  <bkoz@redhat.com>
2569
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.
2574
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.
2579
2580 2002-06-10  Loren J. Rittle <ljrittle@acm.org>
2581
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.
2590
2591 2002-06-08  Paolo Carlini  <pcarlini@unitus.it>
2592
2593         * testsuite/backwards/strstream_members.cc: New.
2594
2595 2002-06-08  Benjamin Kosnik  <bkoz@redhat.com>
2596
2597         * include/backwards/strstream: Format.
2598         * src/strstream.cc: Format.
2599
2600 2002-06-08  Andreas Schwab  <schwab@suse.de>
2601
2602         * src/strstream.cc (strstreambuf::overflow): Set _M_buf,
2603         _M_buf_size and _M_buf_size_opt to the new buffer and size.
2604
2605 2002-06-08  Benjamin Kosnik  <bkoz@redhat.com>
2606
2607         * config/os/generic/bits/ctype_noninline.h: Tweak format.
2608
2609 2002-06-07  Steve Ellcey  <sje@cup.hp.com>
2610
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.
2621
2622 2002-06-07  Phil Edwards  <pme@gcc.gnu.org>
2623
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.
2628
2629 2002-06-06  Loren J. Rittle <ljrittle@acm.org>
2630
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.
2636
2637 2002-06-05  David Edelsohn  <edelsohn@gnu.org>
2638
2639         * config/os/aix/bits/ctype_noninline.h (do_toupper,do_tolower):
2640         Call external symbol.
2641
2642 2002-06-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2643
2644         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3_target_compile):
2645         Search correct multilib testsuite dir for libv3test.
2646
2647 2002-06-04  Paolo Carlini  <pcarlini@unitus.it>
2648             Gaby Dos Reis  <gdr@codesourcery.com>
2649
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.
2654
2655 2002-06-04  Paolo Carlini  <pcarlini@unitus.it>
2656
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.
2673
2674 2002-06-03  Marc Espie  <espie@openbsd.org>
2675
2676         * config/cpu/m68k/bits/atomicity.h(__exchange_and_add): Fix inline
2677         assembly for old assemblers.
2678
2679 2002-06-03  Phil Edwards  <pme@gcc.gnu.org>
2680
2681         * include/bits/stl_bvector.h (swap(_Bit_reference,_Bit_reference)):
2682         Move/rename...
2683         (vector<bool>::swap(reference,reference)): ...to this.
2684
2685 2002-06-03  Phil Edwards  <pme@gcc.gnu.org>
2686
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.
2691
2692         * include/std/std_bitset.h:  Update comment.
2693         * src/bitset.cc:  Update comments, clean up spacing.
2694
2695         * src/Makefile.am (sources):  Alphabetize for convenience.
2696         * src/Makefile.in:  Regenerate.
2697
2698 2002-06-03  Phil Edwards  <pme@gcc.gnu.org>
2699
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.
2703
2704 2002-05-31  Marcus Meissner  <meissner@suse.de>
2705
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.
2709
2710 2002-05-30  Marc Espie  <espie@openbsd.org>
2711
2712         * configure.in: Always check for sys/types.h
2713         * configure: Regenerate.
2714
2715 2002-05-28  Nick Clifton  <nickc@cambridge.redhat.com>
2716
2717         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init):
2718         Rebuild the wrapper file every time this proc is called.
2719
2720 2002-05-28  Phil Edwards  <pme@gcc.gnu.org>
2721
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.
2731
2732 2002-05-27  Benjamin Kosnik  <bkoz@redhat.com>
2733
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.
2744
2745         * acinclude.m4: Work around automake 1.4-p5 bug, change
2746         AM_GNU_GETTEXT in comments to AM-GNU-GETTEXT.
2747
2748 2002-05-27  Benjamin Kosnik  <bkoz@redhat.com>
2749
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.
2754
2755 2002-05-27  Benjamin Kosnik  <bkoz@redhat.com>
2756
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.
2762
2763 2002-05-26  Carlo Wood  <carlo@alinoe.com>
2764             Paolo Carlini  <pcarlini@unitus.it>
2765
2766         PR libstdc++/6811
2767         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
2768         (__enc_traits::operator=): add missing return statement.
2769
2770 2002-05-24  Phil Edwards  <pme@gcc.gnu.org>
2771
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.
2777
2778 2002-05-24  Benjamin Kosnik  <bkoz@redhat.com>
2779
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.
2791
2792         * testsuite/22_locale/ctype_scan_wchar_t.cc: Should pass.
2793
2794 2002-05-24  Dale Peakall <dale@peakall.net>
2795
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.
2799
2800 2002-05-24  Benjamin Kosnik  <bkoz@redhat.com>
2801
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.
2810
2811 2002-05-23  Benjamin Kosnik  <bkoz@redhat.com>
2812
2813         * configure.in (release_VERSION): Update to 3.1.1.
2814         (libtool_VERSION): Update to 4:1:0.
2815         * configure: Regenerate.
2816
2817 2002-05-21  Phil Edwards  <pme@gcc.gnu.org>
2818
2819         * include/bits/stl_pair.h:  Tweak comment markup.
2820
2821 2002-05-21  Phil Edwards  <pme@gcc.gnu.org>
2822
2823         * include/ext/stdio_filebuf.h:  Add header guards.  Doxygenate.
2824