OSDN Git Service

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