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