OSDN Git Service

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