OSDN Git Service

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