OSDN Git Service

2002-09-06 Benjamin Kosnik <bkoz@redhat.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2002-09-06  Benjamin Kosnik  <bkoz@redhat.com>
2
3         * include/bits/localefwd.h: Tweak formatting.
4         * docs/html/abi.txt: Add.
5
6 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
7
8         * configure.target: Use cpu_include_dir="config/cpu/sparc" for all
9         sparc targets.
10         * config/cpu/sparc/atomicity.h: New file.
11         * config/cpu/sparc/sparc32/atomicity.h: Removed.
12         * config/cpu/sparc/sparc64/atomicity.h: Removed.
13
14 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
15
16         * config/os/gnu-linux/ctype_noninline.h
17         [_GLIBCPP_USE_SHADOW_HEADERS]: Remove using _C_legacy::__ctype_*.
18         (ctype<char>::classic_table): If _GLIBCPP_C_LOCALE_GNU, return
19         _S_c_locale->__ctype_b, otherwise temporarily switch to "C" locale
20         and return __ctype_b.
21         (ctype<char>::ctype(__c_locale, const mask*, bool, size_t)): If not
22         _GLIBCPP_C_LOCALE_GNU, temporarily switch to "C" locale and
23         initialize using __ctype_{b,tolower,toupper}.
24         (ctype<char>::ctype(const mask*, bool, size_t)): If
25         _GLIBCPP_C_LOCALE_GNU, initialize using
26         _S_c_locale->__ctype_{b,tolower,toupper}, otherwise temporarily
27         switch to "C" locale and initialize using __ctype_{b,tolower,toupper}.
28
29 2002-09-05  Paolo Carlini  <pcarlini@unitus.it>
30             Roland McGrath  <roland@redhat.com>
31
32         PR libstdc++/7811
33         * src/locale.cc (locale::locale(__s)): Use getenv instead
34         of setenv for the environment locale.
35         * testsuite/22_locale/ctor_copy_dtor.cc (test03): New.
36
37 2002-09-05  Jakub Jelinek  <jakub@redhat.com>
38
39         * config/abi/ia64-unknown-linux-gnu: Add.
40         * config/abi/ia64-unknown-linux-gnu/baseline_symbols.txt: New file.
41         * config/abi/alphaev67-unknown-linux-gnu: Add.
42         * config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt: New file.
43
44 2002-09-05  Jonathan Wakely  <jw@kayari.org>
45
46         * docs/html/Makefile:  Use more portable shell wildcard.
47         * docs/html/makedoc.awk:  Nest elements correctly for XHTML conversion.
48         * docs/html/configopts.html, docs/html/documentation.html,
49         docs/html/explanations.html, docs/html/install.html,
50         docs/html/17_intro/contribute.html, docs/html/17_intro/howto.html,
51         docs/html/17_intro/license.html, docs/html/18_support/howto.html,
52         docs/html/19_diagnostics/howto.html, docs/html/20_util/howto.html,
53         docs/html/21_strings/howto.html, docs/html/22_locale/codecvt.html,
54         docs/html/22_locale/ctype.html, docs/html/22_locale/howto.html,
55         docs/html/22_locale/locale.html, docs/html/22_locale/messages.html,
56         docs/html/23_containers/howto.html, docs/html/24_iterators/howto.html,
57         docs/html/25_algorithms/howto.html, docs/html/26_numerics/howto.html,
58         docs/html/27_io/howto.html, docs/html/ext/howto.html,
59         docs/html/ext/sgiexts.html, docs/html/faq/index.html:  Convert
60         to XHTML.
61         * docs/html/faq/index.txt:  Regenerate.
62
63 2002-09-05  Jakub Jelinek  <jakub@redhat.com>
64
65         * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_widen(char)):
66         Switch to _M_c_locale_ctype around btowc call.
67         (ctype<wchar_t>::do_widen(const char*, const char *, wchar_t*)):
68         Switch to _M_c_locale_ctype around mbsrtowcs call.
69         (ctype<wchar_t>::do_narrow(char)): Switch to _M_c_locale_ctype around
70         wctob call.
71         (ctype<wchar_t>::do_narrow(const char*, const char *, wchar_t*)):
72         Switch to _M_c_locale_ctype around wcsrtombs call.
73
74 2002-09-05  Jakub Jelinek  <jakub@redhat.com>
75
76         * config/locale/gnu/monetary_members.cc
77         (moneypunct<wchar_t, true>::_M_initialize_moneypunct,
78         moneypunct<wchar_t, false>::_M_initialize_moneypunct): Use
79         __uselocale instead of setlocale for glibc 2.3.
80
81 2002-09-05  Jakub Jelinek  <jakub@redhat.com>
82
83         * config/locale/generic/c++locale_internal.h: New header.
84         * config/locale/gnu/c++locale_internal.h: New header.
85         * config/locale/gnu/c_locale.cc: Include it.
86         * config/locale/gnu/collate_members.cc: Include it.
87         * config/locale/gnu/ctype_members.cc: Include it.
88         * config/locale/gnu/messages_members.cc: Include it.
89         * config/locale/gnu/monetary_members.cc: Include it.
90         * config/locale/gnu/numeric_members.cc: Include it.
91         * config/locale/gnu/time_members.cc: Include it.
92         (_M_put): Reorder __strftime_l and __wcsftime_l arguments to match
93         glibc.
94         (_M_initialize_timepunct): Initialize _M_c_locale_timepunct for
95         C locale.
96         * acinclude.m4: Include string.h when testing strcoll_l.
97         For glibc 2.3 provide __-prefixed prototypes.
98         (CLOCALE_INTERNAL_H): Set, add AC_LINK_FILES line.
99         * aclocal.m4, configure: Rebuilt.
100
101 2002-09-05  Benjamin Kosnik  <bkoz@redhat.com>
102
103         * include/bits/locale_facets.h: Add declaration of specialization
104         here.
105         * config/locale/gnu/messages_members.cc: Add specialization for
106         messages<wchar_t>.
107         * config/locale/gnu/messages_members.h: Remove generic definition
108         of do_get.
109
110 2002-09-04  Richard Henderson  <rth@redhat.com>
111
112         * include/std/std_limits.h (__glibcpp_f32_infinity_bytes,
113         __glibcpp_f32_has_infinity, __glibcpp_f64_infinity_bytes,
114         __glibcpp_f64_has_infinity, __glibcpp_f80_infinity_bytes,
115         __glibcpp_f80_has_infinity, __glibcpp_f96_infinity_bytes,
116         __glibcpp_f96_has_infinity, __glibcpp_f128_infinity_bytes,
117         __glibcpp_f128_has_infinity, __glibcpp_float_infinity_bytes,
118         __glibcpp_float_has_infinity, __glibcpp_double_infinity_bytes,
119         __glibcpp_double_has_infinity, __glibcpp_long_double_infinity_bytes,
120         __glibcpp_long_double_has_infinity): Remove.
121         (std::numeric_limits<float>, std::numeric_limits<double>,
122         std::numeric_limits<long double>): Use __builtin_huge_val
123         to implement has_infinity and infinity().
124         * src/limits.cc (__glibcpp_float_infinity, __glibcpp_double_infinity,
125         __glibcpp_long_double_infinity): Remove.
126
127 2002-09-03  Richard Henderson  <rth@redhat.com>
128
129         * include/std/std_limits.h (__glibcpp_f32_min, __glibcpp_f32_max,
130         __glibcpp_f32_digits, __glibcpp_f32_digits10, __glibcpp_f32_radix,
131         __glibcpp_f32_epsilon, __glibcpp_f32_min_exponent,
132         __glibcpp_f32_min_exponent10, __glibcpp_f32_max_exponent,
133         __glibcpp_f32_max_exponent10, __glibcpp_f64_min, __glibcpp_f64_max,
134         __glibcpp_f64_digits, __glibcpp_f64_digits10, __glibcpp_f64_radix,
135         __glibcpp_f64_min_exponent, __glibcpp_f64_min_exponent10,
136         __glibcpp_f64_max_exponent, __glibcpp_f64_max_exponent10,
137         __glibcpp_f80_min, __glibcpp_f80_max, __glibcpp_f80_digits,
138         __glibcpp_f80_digits10, __glibcpp_f80_radix, __glibcpp_f80_epsilon,
139         __glibcpp_f80_min_exponent, __glibcpp_f80_min_exponent10,
140         __glibcpp_f80_max_exponent, __glibcpp_f80_max_exponent10,
141         __glibcpp_f96_min, __glibcpp_f96_max, __glibcpp_f96_digits,
142         __glibcpp_f96_digits10, __glibcpp_f96_radix, __glibcpp_f96_epsilon,
143         __glibcpp_f96_min_exponent, __glibcpp_f96_min_exponent10,
144         __glibcpp_f96_max_exponent, __glibcpp_f96_max_exponent10,
145         __glibcpp_f128_min, __glibcpp_f128_max, __glibcpp_f128_digits,
146         __glibcpp_f128_digits10, __glibcpp_f128_radix, __glibcpp_f128_epsilon,
147         __glibcpp_f128_min_exponent, __glibcpp_f128_min_exponent10,
148         __glibcpp_f128_max_exponent, __glibcpp_f128_max_exponent10,
149         __glibcpp_float_min, __glibcpp_float_max, __glibcpp_float_digits,
150         __glibcpp_float_digits10, __glibcpp_float_radix,
151         __glibcpp_float_epsilon, __glibcpp_float_min_exponent,
152         __glibcpp_float_min_exponent10, __glibcpp_float_max_exponent,
153         __glibcpp_float_max_exponent10, __glibcpp_double_min,
154         __glibcpp_double_max, __glibcpp_double_digits,
155         __glibcpp_double_digits10, __glibcpp_double_radix,
156         __glibcpp_double_epsilon, __glibcpp_double_min_exponent,
157         __glibcpp_double_min_exponent10, __glibcpp_double_max_exponent,
158         __glibcpp_double_max_exponent10, __glibcpp_long_double_min,
159         __glibcpp_long_double_max, __glibcpp_long_double_digits,
160         __glibcpp_long_double_digits10, __glibcpp_long_double_radix,
161         __glibcpp_long_double_epsilon, __glibcpp_long_double_min_exponent,
162         __glibcpp_long_double_min_exponent10,
163         __glibcpp_long_double_max_exponent,
164         __glibcpp_long_double_max_exponent10): Remove macros.
165         (std::numeric_limits<float>, std::numeric_limits<double>,
166         std::numeric_limits<long double>): Use protected float.h macros.
167
168 2002-09-01  Phil Edwards  <pme@gcc.gnu.org>
169
170         * testsuite/Makefile.am:  Use LD_RUN_PATH when linking abi_check.
171         Fix spelling in comment.
172         * testsuite/Makefile.in:  Regenerate.
173         * testsuite/abi_check.cc:  Use string literals to build 'cmd' rather
174         than 'quote' and 'bslash'.
175
176 2002-08-31  Phil Edwards  <pme@gcc.gnu.org>
177
178         * acinclude.m4:  Minor comment tweaks.
179
180         * docs/html/makedoc.awk:  New file...
181         * docs/html/Makefile:  ...called from here...
182         * docs/html/documentation.html:  ...to help generate this.
183
184         * docs/html/21_strings/howto.html:  Prepare for new entry.
185         * include/bits/basic_string.h:  Initial basic_stirng hook for
186         doxygen.  Remove trailing whitespace.
187         * include/bits/char_traits.h:  Point to onlinedocs for new entry.
188         * include/bits/stringfwd.h:  Add doxygen hooks for string and
189         wstring typedefs.
190
191 2002-08-29  Richard Earnshaw  <rearnshaw@arm.com>
192
193         * config/cpu/arm/cpu_limits.h: New file.
194         * configure.target: Use config/cpu/arm for XScale and StrongARM
195         configurations.
196
197 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
198
199         * include/std/std_limits.h (__glibcpp_char_bits,
200         __glibcpp_short_bits, __glibcpp_int_bits, __glibcpp_long_bits,
201         __glibcpp_long_long_bits, __glibcpp_float_bits,
202         __glibcpp_double_bits, __glibcpp_long_double_bits): Remove.  Use
203         compiler predifined macros.
204         (__glibcpp_wchar_t_is_signed): Define based on compiler predefined
205         __WCHAR_UNSIGNED__. 
206
207 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
208
209         * include/std/std_limits.h (__glibcpp_f32_infinity_bytes,
210         __glibcpp_f32_has_infinity, __glibcpp_f32_QNaN_bytes,
211         __glibcpp_f32_has_QNaN, __glibcpp_f32_SNaN_bytes,
212         __glibcpp_f32_has_SNaN, __glibcpp_f32_denorm_min_bytes,
213         __glibcpp_f32_has_denorm, __glibcpp_f32_is_iec559,
214         __glibcpp_f64_infinity_bytes,
215         __glibcpp_f64_has_infinity, __glibcpp_f64_QNaN_bytes,
216         __glibcpp_f64_has_QNaN, __glibcpp_f64_SNaN_bytes,
217         __glibcpp_f64_has_SNaN, __glibcpp_f64_denorm_min_bytes,
218         __glibcpp_f64_has_denorm, __glibcpp_f64_is_iec559,
219         __glibcpp_f80_infinity_bytes,
220         __glibcpp_f80_has_infinity, __glibcpp_f80_QNaN_bytes,
221         __glibcpp_f80_has_QNaN, __glibcpp_f80_SNaN_bytes,
222         __glibcpp_f80_has_SNaN, __glibcpp_f80_denorm_min_bytes,
223         __glibcpp_f80_has_denorm, __glibcpp_f80_is_iec559,
224         __glibcpp_f96_infinity_bytes,
225         __glibcpp_f96_has_infinity, __glibcpp_f96_QNaN_bytes,
226         __glibcpp_f96_has_QNaN, __glibcpp_f96_SNaN_bytes,
227         __glibcpp_f96_has_SNaN, __glibcpp_f96_denorm_min_bytes,
228         __glibcpp_f96_has_denorm, __glibcpp_f96_is_iec559,
229         __glibcpp_f128_infinity_bytes,
230         __glibcpp_f128_has_infinity, __glibcpp_f128_QNaN_bytes,
231         __glibcpp_f128_has_QNaN, __glibcpp_f128_SNaN_bytes,
232         __glibcpp_f128_has_SNaN, __glibcpp_f128_denorm_min_bytes,
233         __glibcpp_f128_has_denorm, __glibcpp_f128_is_iec559,
234         __glibcpp_float_infinity_bytes,
235         __glibcpp_float_has_infinity, __glibcpp_float_QNaN_bytes,
236         __glibcpp_float_has_QNaN, __glibcpp_float_SNaN_bytes,
237         __glibcpp_float_has_SNaN, __glibcpp_float_denorm_min_bytes,
238         __glibcpp_float_has_denorm, __glibcpp_float_is_iec559,
239         __glibcpp_double_infinity_bytes,
240         __glibcpp_double_has_infinity, __glibcpp_double_QNaN_bytes,
241         __glibcpp_double_has_QNaN, __glibcpp_double_SNaN_bytes,
242         __glibcpp_double_has_SNaN, __glibcpp_double_denorm_min_bytes,
243         __glibcpp_double_has_denorm, __glibcpp_double_is_iec559,
244         __glibcpp_long_double_infinity_bytes,
245         __glibcpp_long_double_has_infinity, __glibcpp_long_double_QNaN_bytes,
246         __glibcpp_long_double_has_QNaN, __glibcpp_long_double_SNaN_bytes,
247         __glibcpp_long_double_has_SNaN, __glibcpp_long_double_denorm_min_bytes,
248         __glibcpp_long_double_has_denorm, __glibcpp_long_double_is_iec559:
249         New macros.
250         (__glibcpp_word_bits, __glibcpp_word): Likewise.
251         (__glibcpp_byte): New typedef.
252         (__float_storage, __double_storage, __long_double_storage): New types.
253         (__glibcpp_float_infinity, __glibcpp_float_QNaN,
254         __glibcpp_float_SNaN, __glibcpp_float_denorm_min): Now
255         objects. Declare.
256         (__glibcpp_double_infinity, __glibcpp_double_QNaN,
257         __glibcpp_double_SNaN, __glibcpp_double_denorm_min): Likewise.
258         (__glibcpp_long_double_infinity, __glibcpp_long_double_QNaN,
259         __glibcpp_long_double_SNaN, __glibcpp_long_double_denorm_min):
260         Likewise.
261         
262         * src/limits.cc (__glibcpp_float_infinity, __glibcpp_float_QNaN,
263         __glibcpp_float_SNaN, __glibcpp_float_denorm_min): Define.
264         (__glibcpp_double_infinity, __glibcpp_double_QNaN,
265         __glibcpp_double_SNaN, __glibcpp_double_denorm_min): Likewise.
266         (__glibcpp_long_double_infinity, __glibcpp_long_double_QNaN,
267         __glibcpp_long_double_SNaN, __glibcpp_long_double_denorm_min):
268         Likewise.
269         
270 2002-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
271
272         * include/std/std_limits.h: Indent conditional macro definitions.
273
274 2002-08-23  Phil Edwards  <pme@gcc.gnu.org>
275
276         * Makefile.am (check-abi):  Specify current directory.
277         * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE):  Fix shell syntax, use
278         abi_baseline_triplet in baseline_file.
279         * Makefile.in, aclocal.m4, configure:  Regenerate.
280         * configure.target:  Add abi_baseline_triplet with default.
281         * testsuite/abi_check.cc:  More error checking.
282
283 2002-08-23  Phil Edwards  <pme@gcc.gnu.org>
284
285         * config/linker-map.gnu:  Verbose comments, clean up spacing.
286         * include/bits/stl_alloc.h:  Fix indentation of 'if' bodies, return
287         statements.
288         __allocator:  Change class declaration to struct.
289         * docs/html/17_intro/C++STYLE:  Fix typo.
290         * include/bits/stl_deque.h, include/bits/stl_list.h,
291         include/bits/stl_map.h, include/bits/stl_multimap.h,
292         include/bits/stl_vector.h:  Fix fallout from typo.
293
294 2002-08-22  Benjamin Kosnik  <bkoz@redhat.com>
295
296         * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Set
297         GLIBCPP_BUILD_ABI_CHECK based on cross compiling, build, host
298         variables.
299         * aclocal.m4: Regenerate.
300         * testsuite/Makefile.am (noinst_PROGRAMS): Make conditional on
301         native compiling.
302         * testsuite/Makefile.in: Regenerate.
303         
304 2002-08-22  Loren J. Rittle <ljrittle@acm.org>
305
306         * testsuite/abi_check.cc: Enhance shell portability.
307         Support older binutils/readelf.
308         * config/abi/i386-unknown-freebsd4.6: Add.
309         * config/abi/i386-unknown-freebsd4.6/baseline_symbols.txt: New file.
310
311 2002-08-22  Paolo Carlini  <pcarlini@unitus.it>
312
313         * docs/html/faq/index.html: Add Loren James Rittle and
314         Paolo Carlini to the list of v3 maintainers.
315         * docs/html/faq/index.txt: Ditto.
316         * docs/html/17_intro/RELEASE-NOTES: Ditto.
317
318 2002-08-22  Benjamin Kosnik  <bkoz@redhat.com>
319             Phil Edwards  <pme@gcc.gnu.org>
320             Ulrich Drepper  <drepper@redhat.com>
321         
322         * Makefile.am (check-abi): New rule.
323         * Makefile.in: Regenerate.
324         * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Export baseline_file.
325         * aclocal.m4: Regenerate.
326         * configure: Regenerate.
327         * testsuite/Makefile.am (noinst_PROGRAMS): Add abi_check.
328         (abi_check_SOURCES): Add.
329         * testsuite/Makefile.in: Regenerate.    
330         * testsuite/abi_check.cc: New file.
331         * config/abi: Add.
332         * config/abi/i686-pc-linux-gnu: Add.
333         * config/abi/i686-pc-linux-gnu/baseline_symbols.txt: New file.
334         
335 2002-08-19  Benjamin Kosnik  <bkoz@redhat.com>
336
337         * configure.in (libtool_VERSION): Update to 5:1:0.
338         * configure: Regenerate.
339         
340 2002-08-19  Jonathan Wakely  <jw@kayari.org>
341
342         * docs/html/configopts.html, docs/html/documentation.html,
343         docs/html/install.html, docs/html/22_locale/codecvt.html,
344         docs/html/22_locale/ctype.html, docs/html/22_locale/howto.html,
345         docs/html/22_locale/locale.html,
346         docs/html/22_locale/messages.html: Conform to HTML 4.01 standard.
347
348 2002-08-15  Benjamin Kosnik  <bkoz@redhat.com>
349
350         * include/ext/stdio_filebuf.h (stdio_filebuf): Explicitly set
351         _M_buf_size_opt to zero when unbuffering.
352         * include/bits/fstream.tcc (filebuf::showmanyc): Simplify.
353         Consistency checks for _M_buf_size_opt.
354
355         Revert PR libstdc++/7445
356         * src/locale.cc (locale::classic): Revert.
357         
358         * docs/html/17_intro/TODO: Add.
359         
360 2002-08-15  Phil Edwards  <pme@gcc.gnu.org>
361
362         * docs/html/documentation.html:  Update doxygen links for 3.2.
363
364 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
365
366         * libsupc++/unwind-cxx.h (__cxa_exception): Change catchTemp
367         type from void* to _Unwind_Ptr.
368         * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
369         Do not cast landing_pad or base_of_encoded_value to (void *).
370         * libsupc++/eh_throw.cc (__gxx_exception_cleanup):
371         Accept _URC_NO_REASON as a valid reason code.
372
373 2002-08-14  Jonathan Wakely  <jw@kayari.org>
374
375         * docs/html/22_locale/messages.html:  Use HTML entities for
376         punctuation.
377
378 2002-08-13  Jonathan Wakely  <jw@kayari.org>
379             Phil Edwards  <pme@gcc.gnu.org>
380
381         * docs/html/documentation.html:  Use HTML entities for punctuation.
382
383 2002-08-09  Phil Edwards  <pme@gcc.gnu.org>
384
385         * include/bits/deque.tcc, include/bits/list.tcc,
386         include/bits/stl_deque.h, include/bits/stl_iterator_base_funcs.h,
387         include/bits/stl_list.h, include/bits/stl_map.h,
388         include/bits/stl_multimap.h, include/bits/stl_queue.h,
389         include/bits/stl_stack.h, include/bits/stl_vector.h,
390         include/bits/vector.tcc:  Re-indent contents of namespace std,
391         re-wrap comment lines as necessary.
392
393 2002-08-08  Danny Smith  <dannysmith@users.sourceforge.net>
394             Benjamin Kosnik  <bkoz@redhat.com>
395         
396         * include/bits/istream.tcc (basic_istream::ignore): Use sbumpc,
397         not snextc.
398         * testsuite/27_io/narrow_stream_objects.cc (test10): Add.
399         
400 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
401
402         * libsupc++/Makefile.am (LTCOMPILE): Add LIBSUPCXX_PICFLAGS.
403         * libsupc++/Makefile.in: Regenerate.
404
405 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
406
407         PR/7491
408         * include/bits/slice_array.h(_DEFINE_VALARRAY_OPERATOR):
409         Instantiate with new function objects. 
410         * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR): Likewise.
411         Reformat.  Uglify.
412         * include/bits/gslice_array.h: Likewise.
413         * include/bits/indirect_array.h: Likewise.
414
415 2002-08-03  Gabriel Dos Reis  <gdr@nerim.net>
416
417         * testsuite/26_numerics/valarray_name_lookup.cc: Rename from
418         testsuite/26_numerics/valarray_name_lookup.C
419
420         * include/bits/valarray_array.h (_DEFINE_ARRAY_FUNCTION): Use our
421         object function surrogates.
422         * include/bits/valarray_meta.h (__shift_left): Fix typo.
423         (_BinFunClos<>): Remove.
424         (_BinFunBase<>): Likewise.
425         (_BinFunBase1<>):Likewise.
426         (_BinFunBase2<>): Likewise.
427         (_DEFINE_EXPR_RELATIONAL_OPERATOR): Likewise.
428         (_DEFINE_EXPR_UNARY_OPERATOR): Adjust definition.
429         (_DEFINE_EXPR_BINARY_OPERATOR): Likewise.
430         (_DEFINE_EXPR_BINARY_FUNCTION): Likewise.
431         * include/std/std_valarray.h: Dont #include <functional> anymore.
432         (_Bitwise_or<>, _Bitwise_and<>, _Bitwise_xor<>, _Shift_left<>,
433         _Shift_right<>): Remove.
434         (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT): Adjust instantiation.
435         (_DEFINE_BINARY_OPERATOR): Tweak definition.
436         (_DEFINE_LOGICAL_OPERATOR): Remove.
437         * testsuite/26_numerics/valarray_name_lookup.C (main): Add more tests.
438
439 2002-08-02  Gabriel Dos Reis  <gdr@nerim.net>
440
441         * include/bits/valarray_meta.h (_UnFunBase<>): Remove.
442         (_UnFunClos<>): Same.
443         (_UnBase<>): Reformat.  Make first template-parameter non
444         template. 
445         (_UnClos<>): Likewise.
446         (_Expr<>): Reformate.  Adjust unary member operator return types. 
447         (_DEFINE_EXPR_UNARY_OPERATOR): Adjust definition.
448         (_DEFINE_EXPR_UNARY_FUNCTION): Likewise.
449         * include/std/std_valarray.h (_UnClos<>): Adjust declaration.
450         (valarray<>::_UnaryOp<>):  New nested traits. Adjust unary member
451         operator return types.  Reformat.
452         (_Bitwise_not): Remove.
453         (_DEFINE_VALARRAY_UNARY_OPERATOR): Adjust definition.
454         * testsuite/26_numerics/valarray_name_lookup.C: New test.
455
456 2002-08-02  Danny Smith  <dannysmith@users.sourceforge.net>
457
458         * config/os/newlib/ctype_inline.h (is): Don't offset _M_table.
459         (scan_is): Use this->is.
460         (scan_not): Likewise.
461
462 2002-08-02  Benjamin Kosnik  <bkoz@redhat.com>
463
464         Revert PR libstdc++/6594
465         * src/strstream.cc (strstreambuf): Revert.
466         (strstreambuf::overflow): Same.
467         (strstreambuf::~strstreambuf): Same.    
468         * testsuite/backward/strstream_members.cc (test02): Add.
469         
470         * docs/html/abi.txt: Update. Spell check.
471
472         * testsuite/19_diagnostics/stdexceptions.cc (test04): Add bool test.
473
474         * testsuite/Makefile.am (INCLUDES): Add LIBSUPCXX_INCLUDES.
475         * testsuite/Makefile.in: Regenerate.
476         * testsuite/testsuite_hooks.h: Use __throw_exception_again,
477         include functexcept.h so that -fno-exceptions will build.
478         
479 2002-08-02  Gabriel Dos Reis  <gdr@nerim.net>
480
481         * include/bits/valarray_meta.h (__unary_plus, __negate,
482         __bitwise_not, __plus, __minus, __multiplies, __divides,
483         __modulus, __bitwise_xor, __bitwise_or, __bitwise_and,
484         __shift_left, __shift_right, __logical_and, __logical_or,
485         __logical_not, __equal_to, __not_equal_to, __less, __less_equal,
486         __greater_equal, __greater, __atan2, __pow): New function object
487         classes. 
488         (__fun<>):  New function traits class.
489
490 2002-08-01  Rick Danos  <rdanos@hotmail.com>
491
492         PR libstdc++/7461
493         * config/os/newlib/ctype_noninline.h (classic_table): Add offset.
494         * config/os/newlib/ctype_inline.h (is): Use static_cast.
495
496 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
497
498         * libsupc++/Makefile.am (LT_COMPILE): Remove C++ flags.
499         * libsupc++/Makefile.in: Regenerate.
500         
501 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
502             Jakub Jelinek  <jakub@redhat.com>
503         
504         * config/linker-map.gnu: Change CXXABI_1 to CXXABI_1.2,
505         GLIBCPP_3.1 to GLIBCPP_3.2.
506
507 2002-07-31  Benjamin Kosnik  <bkoz@redhat.com>
508             Mark Mitchell  <mark@codesourcery.com>
509
510         PR libstdc++/7442
511         * libsupc++/cxxabi.h (class __base_class_type_info::hwm_bit):
512         Change to __hwm_bit.
513         (__class_type_info): And here.
514
515 2002-07-31  Benjamin Kosnik  <bkoz@redhat.com>
516
517         PR libstdc++/7442
518         * libsupc++/cxxabi.h 
519         (__base_class_info): Change to __base_class_type_info. 2.9.5p6c
520         (__base_class_info::__base): Change to __base_type. 2.9.5p6c
521         (__base_class_info::offset_shift): Change to __offset_shift. 2.9.5p6c
522         (__vmi_class_type_info::__base_info): Don't make const, of type
523         __base_class_type_info, as per 2.9.5p6c
524         (__pbase_type_info::__qualifier_flags): Change to __flags, as per
525         2.9.5p7.
526         (__pbase_type_info::__qualifier_masks): Change to __masks, as per
527         2.9.5p7.
528         (__pointer_to_member_type_info::__context_class): Change member to
529         __context, as per 2.9.5p9.
530         * libsupc++/tinfo2.cc (__pointer_catch): Change __context_class to
531         __context.
532         * libsupc++/tinfo2.cc (__do_catch): Change __qualifier_flags to
533         __flags.
534         * libsupc++/tinfo.cc (__do_find_public_src): Change __base to
535         __base_type.
536         * libsupc++/tinfo.cc (__do_dyncast): Same.
537         * libsupc++/tinfo.cc (__do_upcast): Same.
538
539 2002-07-31  Benjamin Kosnik  <bkoz@redhat.com>
540
541         * src/fstream.cc: Add _GLIBCPP_USE_WCHAR_T guards.
542
543 2002-07-31  Simon Whomsley  <whomsley@avacadcam.com>
544
545         * docs/html/22_locale/howto.html: Fix.
546
547 2002-07-31  Alex Kompel  <shurik@sequoiap.com>
548
549         PR libstdc++/7445
550         * src/locale.cc (locale::classic): Move locks inside !_S_classic
551         block.
552
553 2002-07-31  Benjamin Kosnik  <bkoz@redhat.com>
554
555         * docs/html/abi.txt: Update.
556
557 2002-07-30  Benjamin Kosnik  <bkoz@redhat.com>
558             Gabriel Dos Reis  <gdr@nerim.net>
559
560         * include/bits/char_traits.h: Remove generic definitions.
561         * include/bits/streambuf_iterator.h (istreambuf_iterator): Use
562         eof, not -2.
563         * include/bits/istream.tcc (istream::readsome): Don't check
564         against eof, instead use constants.
565         (istream::sync): Same.
566         (istream::sentry::sentry): Use eq_int_type.
567         (istream::get): Same.
568         * include/bits/ostream.tcc: Change __pad to 
569         __pad<_CharT, _Traits>::_S_pad. 
570         * include/bits/locale_facets.h: Add __pad_traits generic and
571         ostreambuf_iterator specialization.
572         * include/bits/locale_facets.tcc: Change __pad into struct __pad
573         with a _CharT and _Traits template parameter and _S_pad static
574         member function.
575         * src/locale-inst.cc: Update __pad instantiations.
576         
577         * include/std/std_fstream.h: Declare _M_underflow_common
578         specializations.
579         * src/fstream.cc: New. Add _M_underflow_common specializations.
580         * include/bits/fstream.tcc (filebuf::close): Use traits_type.
581         (filebuf::_M_underflow_common(bool)): Remove generic version, as
582         sys_ungetc and custom int_types don't get along.
583         * include/std/std_streambuf.h: Add _M_pos.
584         * src/Makefile.am (sources): Add fstream.cc.
585         * src/Makefile.in: Regenerate.
586
587         * testsuite/21_strings/capacity.cc: Add char_traits specializations.
588         * testsuite/22_locale/codecvt_members_unicode_char.cc: Same.
589         * testsuite/22_locale/codecvt_members_unicode_wchar_t.cc: Same.
590         * testsuite/22_locale/ctor_copy_dtor.cc: Same.
591         * testsuite/27_io/filebuf_virtuals.cc (test07): Move to...
592         * testsuite/27_io/filebuf.cc: ...here.
593         * testsuite/testsuite_hooks.h: Add gnu_char, gnu_int, char_traits
594         specialization for both.
595         * testsuite/27_io/streambuf.cc: Add instantiation test,
596         testsuite_hooks include.
597         * testsuite/27_io/istream.cc: Same.
598         * testsuite/27_io/ostream.cc: Same.     
599         * testsuite/27_io/fstream.cc: Same.
600         * testsuite/27_io/stringstream.cc: Same.
601         * testsuite/27_io/filebuf.cc: Same.
602         * testsuite/27_io/stringbuf.cc: Same.
603         
604 2002-07-29  Alan Modra  <amodra@bigpond.net.au>
605
606         * config/cpu/powerpc/cpu_limits.h (__glibcpp_long_bits): Define.
607         * configure.target (cpu_include_dir): Use cpu/powerpc for powerpc64.
608         * config/cpu/powerpc/atomicity.h (__always_swap): Remove.
609         (__test_and_set): Remove.
610         (_STWCX): Define and use.
611
612 2002-07-26  Phil Edwards  <pme@gcc.gnu.org>
613
614         * libsupc++/new (placement delete):  Remove unused parameter names.
615
616 2002-07-25  Benjamin Kosnik  <bkoz@redhat.com>
617
618         PR libstdc++/7216
619         * include/std/std_istream.h (basic_iostream): Add typedefs for
620         char_type, int_type, pos_type, off_type, and traits_type.
621         * testsuite/27_io/iostream.cc (test01): Add typedef tests.
622         * testsuite/27_io/istream.cc: Same.
623         * testsuite/27_io/ostream.cc: Same.
624         * testsuite/27_io/filebuf.cc: Same.
625         * testsuite/27_io/stringbuf.cc: Replace content, move to...
626         * testsuite/27_io/stringbuf_members.cc: ...here.        
627         * testsuite/27_io/streambuf.cc: Replace content, move to...
628         * testsuite/27_io/streambuf_members.cc: ...here.        
629         * testsuite/27_io/stringstream.cc: Replace content, move to...
630         * testsuite/27_io/stringstream_members.cc: ...here.
631         * testsuite/27_io/ios.cc: New file.
632         * testsuite/27_io/fstream.cc: New file.
633         * testsuite/27_io/ifstream.cc: New file.        
634         * testsuite/27_io/ofstream.cc: New file.                
635         * testsuite/27_io/istringstream.cc: New file.   
636         * testsuite/27_io/ostringstream.cc: New file.   
637         
638 2002-07-25  Benjamin Kosnik  <bkoz@redhat.com>
639
640         PR libstdc++/7220
641         * include/bits/istream.tcc (istream::ignore): Don't extract on
642         zero.
643         * testsuite/27_io/istream_unformatted.cc (test10): Add.
644         
645 2002-07-25  Benjamin Kosnik  <bkoz@redhat.com>
646
647         * testsuite/27_io/ios_base_type.cc: Move to...
648         * testsuite/27_io/ios_base_types.cc: ...here.
649         
650 2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>
651
652         PR libstdc++/7222
653         * src/locale.cc (locale::locale(const char*)): Use setlocale NULL.
654         * testsuite/22_locale/ctor_copy_dtor.cc (test02): New.
655         
656 2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>
657
658         PR libstdc++/7230
659         * config/linker-map.gnu: Revert strstream patch from 2002-07-01.
660         * include/Makefile.am (backward_headers): Use strstream, not
661         strstream.h.
662         * include/Makefile.in: Regenerate.
663         * include/backward/strstream: Revert.
664         * include/backward/strstream.h: Remove.
665         * src/strstream.cc: Revert.
666         * testsuite/backward/strstream_members.cc: Change include.      
667
668 2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>
669
670         PR libstdc++/7219
671         * include/bits/ios_base.h (ios_base::streampos): Add.
672         (ios_base::streamoff): Add.
673         * testsuite/27_io/ios_base_type.cc: New.
674         
675 2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>
676
677         PR libstdc++/7286
678         * libsupc++/new: Add placement delete.
679         * testsuite/18_support/new_delete_placement.cc: New.
680
681         * docs/html/abi.txt: Fix typos.
682         
683 2002-07-23  Benjamin Kosnik  <bkoz@redhat.com>
684
685         * docs/html/documentation.html: Remove libstdc++-v3.0.86 links,
686         confusing usage of "latest."
687         De-tangle contributor information from introductory notes.
688         Move abi.txt link placement, activate.
689         Re-organize.
690         Move chapter info into old FAQ format. 
691         * docs/html/organization.html: Removed, obsoleted by doxygen work.
692         * docs/html/abi.txt: Add notes on testing ABI changes.
693         
694 2002-07-20  Phil Edwards  <pme@gcc.gnu.org>
695
696         * docs/html/abi.txt:  New file.
697         * docs/html/23_containers/howto.html:  Tweak vector-overhead text.
698         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
699         Import from upstream, R22.
700
701         * include/bits/char_traits.h, include/bits/stl_iterator.h,
702         include/bits/stl_iterator_base_types.h, libsupc++/exception,
703         libsupc++/new, libsupc++/typeinfo:  Use @brief markup.
704
705         * include/bits/deque.tcc, include/bits/stl_alloc.h,
706         include/bits/stl_deque.h, include/bits/stl_list.h:  Postpone removal
707         of deprecated functions until 3.4.  (Same timeframe, different text.)
708         * include/bits/stl_vector.h:  Ditto.  Also do the same cleanups that
709         the other sequence classes received.
710
711 2002-07-18  Brendan Kehoe  <brendan@zen.org>
712
713         * bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR): Fix typo of
714         _Nname to _Name.
715         
716 2002-07-19  Gabriel Dos Reis  <gdr@nerim.net>
717
718         DR/123
719         * include/bits/slice_array.h 
720         (slice_array<T>::operator=(const T&)): Constify.
721         * include/bits/gslice_array.h 
722         (gslice_array<T>::operator=(const T&)):  Likewise.
723         * include/bits/mask_array.h 
724         (mask_array<T>::operator=(const T&)): Likewise.
725         * include/bits/indirect_array.h
726         (indirect_array<T>::operator=(const T&): Likewise.
727
728 2002-07-17  Phil Edwards  <pme@gcc.gnu.org>
729
730         * docs/doxygen/run_doxygen:  Remove template parameter names from
731         "Compound List" summary page.  Reformat.
732         * docs/html/documentation.html:  XHTML fixes.
733
734 2002-07-16  Andreas Schwab  <schwab@suse.de>
735
736         * libsupc++/new (set_new_handler): Declare to not throw any
737         exceptions.
738         * libsupc++/new_handler.cc (set_new_handler): Likewise.
739
740 2002-07-16  Gabriel Dos Reis  <gdr@nerim.net>
741
742         * include/Makefile.am (bits_headers): Remove slice.h
743         * include/Makefile.in: Regenerate.
744         * include/bits/slice.h (slice): move to include/bits/slice_array.h
745         * include/bits/slice.h Remove.
746         * include/std/std_valarray.h: Don't #include bits/slice.h anymore.
747         * include/bits/slice_array.h: Comply to official coding styles.
748         * testsuite/26_numerics/slice.cc: New test.
749
750 2002-07-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
751
752         * config/os/solaris/solaris2.5/ctype_base.h (ctype_base): Fix
753         print to match vendor <ctype.h>.
754
755 2002-07-15  Phil Edwards  <pme@gcc.gnu.org>
756
757         * docs/html/faq/index.html:  Fix download links.
758         * docs/html/faq/index.txt:  Regenerate.
759         * docs/html/17_intro/porting.html:  Regenerate from earlier changes.
760
761 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
762
763         * configure.target (target_os switch): Allow for irix6*o32
764         configurations.
765
766 2002-07-10  Gabriel Dos Reis  <gdr@nerim.net>
767
768         * include/bits/valarray_meta.h (_UnFunBase): Take a second
769         template parameter. Remove _M_func data member.
770         (_UnFunClos): Take a third template parameter.
771         (__abs, __cos, __acos, __cosh, __sin, __asin, __sinh, __tan,
772         __atan, __tanh, __exp, __log, __log10, __sqrt): New classes.
773         (_DEFINE_EXPR_UNARY_OPERATOR): Adjust definition.
774
775 2002-07-08  Eric Christopher  <echristo@redhat.com>
776
777         * configure.target: Fix comment for mips atomicity. Add
778         mips*-*-linux* target, enable atomic operations there.
779         * config/cpu/mips/atomicity.h: Fix comments, remove
780         #ifndef/#endif. Add push/pop mips2.
781
782 2002-07-08  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
783
784         * include/bits/stl_deque.h (_Deque_alloc_base):  Change order of
785         member declarations to avoid compiler warnings and restore 3.1 ABI.
786
787 2002-07-08  Phil Edwards  <pme@gcc.gnu.org>
788
789         * docs/html/23_containers/howto.html:  Link to dk_std::vector paper
790         and homepage.
791
792 2002-07-07  Paolo Carlini  <pcarlini@unitus.it>
793
794         PR libstdc++/7186
795         * include/bits/stl_deque.h (_Deque_iterator::operator-):
796         Make non-member, as already happens for the comparison
797         operators in accord with DR179 (Ready).
798         * testsuite/23_containers/deque_operators.cc: Add test02.
799
800 2002-07-04  Benjamin Kosnik  <bkoz@redhat.com>
801             Jack Reeves  <jackw_reeves@hotmail.com>
802
803         * include/std/std_streambuf.h (basic_streambuf::_M_buf): Change to
804         size_t, from int_type.
805         (basic_streambuf::_M_buf_size_opt): Same.
806         (basic_streambuf::_S_pback_sizex): Same.
807         * include/bits/streambuf.tcc: Same.
808         * include/std/std_streambuf.h (basic_streambuf::snextc): Use
809         eq_int_type.
810         (basic_streambuf::uflow): Same.
811         * include/bits/sstream.tcc (basic_stringbuf::overflow): Use
812         to_char_type.
813         * include/bits/basic_ios.tcc (basic_ios::init): Use _CharT().
814         * include/bits/streambuf.tcc (basic_streambuf::xsgetn): Use
815         eq_int_type.
816         (basic_streambuf::xsputn): Same.
817         (__copy_streambufs): Same.
818
819 2002-07-03  Benjamin Kosnik  <bkoz@redhat.com>
820
821         * include/std/std_memory.h: Fix formatting.
822         * testsuite/20_util/auto_ptr_neg.cc: New.
823         * testsuite/20_util/auto_ptr.cc: Tweaks.
824         * testsuite/23_containers/map_operators.cc (test01): Split into..
825         * testsuite/23_containers/map_operators_neg.cc (test01): ...this. New.
826         * testsuite/23_containers/set_operators.cc: Move to...
827         * testsuite/23_containers/set_operators_neg.cc: ...here.
828         * testsuite/README: Add some more naming rules.
829
830 2002-07-03  Steev Wilcox  <steev@paradigmds.com>
831
832         PR libstdc++/7057
833         * include/ext/stl_hashtable.h: Fix.
834         * testsuite/ext/hash_map.cc: New.
835
836 2002-07-03  Jack Reeves  <jackw_reeves@hotmail.com>
837             Kenny Simpson  <theonetruekenny@yahoo.com>
838             Phil Edwards  <pme@gcc.gnu.org>
839
840         PR libstdc++/3946
841         * testsuite/20_util/auto_ptr.cc (test08):  New test.
842         * include/std/std_memory.h (auto_ref_ptr):  Make constructor explicit.
843         (auto_ptr::operator auto_ptr_ref):  Fix typo.
844         General reformatting and doxygenating of the whole file.
845
846 2002-07-03  Benjamin Kosnik  <bkoz@redhat.com>
847
848         PR libstdc++/7097
849         * include/c/std_cwchar.h: Fix.
850
851 2002-07-02  Benjamin Kosnik  <bkoz@redhat.com>
852
853         PR libstdc++/6410
854         * include/bits/locale_facets.h (moneypunct::moneypunct): Add const
855         char* name parameter.
856         * config/locale/gnu/monetary_members.cc: Use it.
857         * config/locale/generic/monetary_members.cc: Same.
858         * src/localename.cc (_Impl::_Impl(const char*, size_t)): Use it.
859
860         * include/backward/strstream.h: Update date.
861
862 2002-07-02  Paolo Carlini  <pcarlini@unitus.it>
863
864         PR libstdc++/6642
865         * include/bits/stl_iterator.h
866         (__normal_iterator::operator-(const __normal_iterator&)):
867         Make non-member, as already happens for the comparison
868         operators in accord with DR179 (Ready).
869         * testsuite/24_iterators/iterator.cc: Add test from the PR.
870
871 2002-07-02  Phil Edwards  <pme@gcc.gnu.org>
872
873         PR libstdc++/7173
874         * acinclude.m4:  Simplify determination of gcc_version, and move
875         up to GLIBCPP_CONFIGURE.
876         * configure.in (release_VERSION):  Really remove.
877         (AM_INIT_AUTOMAKE, AM_CONFIG_HEADER):  Move after GLIBCPP_CONFIGURE.
878         * aclocal.m4, configure:  Regenerate.
879
880 2002-07-02  Phil Edwards  <pme@gcc.gnu.org>
881
882         * docs/html/configopts.html, docs/html/install.html:  Tweaks.
883         * include/ext/algorithm, include/ext/hash_map, include/ext/hash_set,
884         include/ext/iterator, include/ext/numeric, include/ext/rb_tree,
885         include/ext/slist, include/ext/stl_rope.h:  Add doxygen hooks.
886
887 2002-07-01  Benjamin Kosnik  <bkoz@redhat.com>
888
889         * include/backward/strstream: Remove namespace std. Transfer to...
890         * include/backward/strstream.h: ...here. Qualify std names.
891         * src/strstream.cc: Remove namespace std.
892         * include/Makefile.am (backward_headers): Remove strstream.h.
893         * include/Makefile.in: Regenerate.
894         * config/linker-map.gnu: Export strstream bits.
895
896         * src/fstream-inst.cc: Tweak.
897         * src/io-inst.cc: Same.
898         * src/istream-inst.cc: Same.
899         * src/misc-inst.cc: Same.
900         * src/ostream-inst.cc: Same.
901         * src/sstream-inst.cc: Same.
902         * src/valarray-inst.cc: Same.
903         * src/misc-inst.cc: Remove unused instantiations.
904
905 2002-07-01  Benjamin Kosnik  <bkoz@redhat.com>
906
907         * configure.in (libtool_VERSION): Bump to 5:0:0.
908         * configure: Regenerate.
909
910 2002-06-28  Phil Edwards  <pme@gcc.gnu.org>
911
912         PR libstdc++/7157, PR libstdc++/7158, PR libstdc++/7161
913         * include/std/std_queue.h:  Include deque.tcc, vector.tcc.
914         * include/std/std_stack.h:  Include deque.tcc.
915         * testsuite/23_containers/adaptors.cc:  New file.
916
917 2002-06-27  Phil Edwards  <pme@gcc.gnu.org>
918
919         * include/bits/stl_alloc.h:  Deprecate all 'reallocate' memfns.
920         * docs/html/ext/howto.html:  Update allocator notes.
921
922 2002-06-26  Benjamin Kosnik  <bkoz@redhat.com>
923
924         * configure.in (INTERFACE): Remove.
925         (release_VERSION): Remove.
926         * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Change include placement.
927         (libstdcxx_interface): Change. Use gcc methods to determine version.
928         * configure: Regenerate.
929         * aclocal.m4: Regenerate.
930
931 2002-06-25  DJ Delorie  <dj@redhat.com>
932
933         * acinclude.m4 (GLIBCPP_CONFIGURE): Split out
934         GLIBCPP_TOPREL_CONFIGURE.
935         * aclocal.m4: Likewise.
936         * configure.in: Call it before AC_CANONICAL_SYSTEM.
937         * configure: Regenerate.
938
939 2002-06-25  Jessica Han  <jessica@cup.hp.com>
940
941         * config/os/hpux/os_defines.h Define _GLIBCPP_VTABLE_PADDING
942         * libsupc++/tinfo.cc Handle the 8 byte aligned vtable entries when
943         _GLIBCPP_VTABLE_PADDING is defined.
944
945 2002-06-25  Benjamin Kosnik  <bkoz@redhat.com>
946
947         * include/bits/stl_alloc.h: Additional formatting.
948
949 2002-06-24  Phil Edwards  <pme@gcc.gnu.org>
950
951         * include/bits/stl_alloc.h:  Reformat as per C++STYLE.
952
953 2002-06-24  Phil Edwards  <pme@gcc.gnu.org>
954
955         * config/cpu/*/bits/*:  Move header files up a level.  Remove bits.
956         * config/os/*/bits/*:  Likewise.
957         * configure.in:  Update.
958         * configure:  Regenerate.
959         * configure.target:  Update.
960         * docs/html/17_intro/porting.texi:  Update.
961
962 2002-06-21  Phil Edwards  <pme@gcc.gnu.org>
963
964         * include/bits/stl_map.h, include/bits/stl_multimap.h,
965         include/bits/stl_queue.h, include/bits/stl_stack.h:  Reformat and
966         complete doxygenation.
967         * include/bits/boost_concept_check.h:  Minor comment.
968
969 2002-06-21  Benjamin Kosnik  <bkoz@redhat.com>
970
971         * include/c_compatibility: New.
972         * include/c_compatibility/assert.h: New.
973         * include/c_compatibility/ctype.h: New.
974         * include/c_compatibility/errno.h: New.
975         * include/c_compatibility/float.h: New.
976         * include/c_compatibility/iso646.h: New.
977         * include/c_compatibility/limits.h: New.
978         * include/c_compatibility/locale.h: New.
979         * include/c_compatibility/math.h: New.
980         * include/c_compatibility/setjmp.h: New.
981         * include/c_compatibility/signal.h: New.
982         * include/c_compatibility/stdarg.h: New.
983         * include/c_compatibility/stddef.h: New.
984         * include/c_compatibility/stdio.h: New.
985         * include/c_compatibility/stdlib.h: New.
986         * include/c_compatibility/string.h: New.
987         * include/c_compatibility/time.h: New.
988         * include/c_compatibility/wchar.h: New.
989         * include/c_compatibility/wctype.h: New.
990
991         * include/c/std_cerrno.h: Get out of the way... define errno.
992         * include/c/std_cmath.h: Add abs, modf overloads.
993         Undefine C99 isms. Still not sure how to deal with this sanely.
994         * include/c/std_csetjmp.h: Tweak.
995         * include/c/std_cwchar.h: Include cstddef for size_t.
996
997         * include/c_std/std_cmath.h: Remove extra function.
998
999         Pendantic std usage in testsuites.
1000         * testsuite/17_intro/header_cstdlib.cc (test01): Qualify ldiv_t
1001         with std.
1002         * testsuite/17_intro/header_cwchar.cc: Tweak.
1003         * testsuite/22_locale/codecvt_members_char_char.cc (test03): Use
1004         std::setlocale.
1005         * testsuite/22_locale/ctype_to_wchar_t.cc (test05): Same.
1006         * testsuite/22_locale/ctype_to_char.cc (test05): Same.
1007         * testsuite/22_locale/ctype_is_wchar_t.cc (test05): Same.
1008         * testsuite/22_locale/ctype_is_char.cc (test05): Same.
1009         * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Same.
1010         * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Same.
1011         * testsuite/22_locale/time_get_members_char.cc (test08): Same.
1012         * testsuite/22_locale/time_put_members_wchar_t.cc (test04): Same.
1013         * testsuite/22_locale/time_put_members_char.cc (test04): Same.
1014         * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Same.
1015         * testsuite/22_locale/num_put_members_char.cc (test04): Same.
1016         * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Same.
1017         * testsuite/22_locale/numpunct_members_char.cc (test03): Same.
1018         * testsuite/22_locale/num_get_members_wchar_t.cc: Same.
1019         * testsuite/22_locale/num_get_members_char.cc: Same.
1020         * testsuite/22_locale/money_put_members_wchar_t.cc (test07): Same.
1021         * testsuite/22_locale/money_put_members_char.cc (test07): Same.
1022         * testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Same.
1023         * testsuite/22_locale/moneypunct_members_char.cc (test03): Same.
1024         * testsuite/22_locale/money_get_members_wchar_t.cc (test08): Same.
1025         * testsuite/22_locale/money_get_members_char.cc (test08): Same.
1026         * testsuite/22_locale/messages_members_char.cc (test03): Same.
1027         * testsuite/22_locale/collate_members_wchar_t.cc (test04): Same.
1028         * testsuite/22_locale/collate_members_char.cc (test04): Same.
1029         * testsuite/26_numerics/fabs_inline.cc: Use std::printf.
1030         * testsuite/27_io/istream_seeks.cc (test02): Qualify abort.
1031         * testsuite/27_io/istream_extractor_arith.cc (test11): Qualify strtol.
1032
1033 2002-06-20  Benjamin Kosnik  <bkoz@redhat.com>
1034
1035         * libsupc++/Makefile.am (libsupc__convenience_la_SOURCES): Add
1036         c_sources.
1037
1038 2002-06-20  Benjamin Kosnik  <bkoz@redhat.com>
1039
1040         * src/ext-inst.cc (__gnu_cxx): Use instead of std:: for extensions.
1041         Use size_type instead of unsigned long.
1042
1043 2002-06-20  Steve Ellcey  <sje@cup.hp.com>
1044
1045         * src/ext-inst.cc (_S_fetch): Add explicit templates for char and
1046         wchar types.
1047         (_S_min_len): Ditto.
1048
1049 2002-06-20  Benjamin Kosnik  <bkoz@redhat.com>
1050
1051         * include/Makefile.am: Add rules.
1052         * include/Makefile.in: Regenerate.
1053
1054         * acinclude.m4: Define GLIBCPP_C_HEADERS_COMPATIBILITY.
1055         * aclocal.m4: Regenerate.
1056         * configure: Regenerate.
1057         * configure.target (c_model, c_compatibility): Add.
1058
1059         * libsupc++/Makefile.am (c_sources): New.
1060         (libsupc___la_SOURCES): Add c_sources.
1061         (LTCOMPILE): Remove INCLUDES.
1062         (GCC_INCLUDES): New.
1063         (C_COMPILE): New, like COMPILE but without INCLUDES.
1064         (cxa_demangle.o): Use C_COMPILE.
1065         (dyn-string.o): Use C_COMPILE.
1066
1067         * include/c/std_cstdarg.h: Define __need___va_list.
1068         * include/c/std_cstddef.h: Define need_size_t, need_ptrdiff_t,
1069         need_NULL, need_offsetof.
1070
1071 2002-06-19  Steve Ellcey  <sje@cup.hp.com>
1072
1073         * configure.in (HAVE_FINITE*, HAVE_ISINF*, HAVE_ISNAN*):  Remove
1074         definitions in hpux11 cross-build because these functions do
1075         not exist on hpux11 (but some exist on hpux10); move defaults out
1076         into existing sections.
1077         * configure:  Regenerate.
1078
1079 2002-06-18  Benjamin Kosnik  <bkoz@redhat.com>
1080
1081         * include/c/std_cwchar.h: Guard. Add mbstate_t bits.
1082         * include/c/std_cwctype.h: Guard.
1083
1084         * libsupc++/eh_alloc.cc: Tweak include order.
1085         * libsupc++/pure.cc: Use cstdio.
1086         * libsupc++/new_op.cc: Remove malloc forward declaration, as
1087         cstdlib brings it in. Use std::malloc.
1088
1089         * src/Makefile.am (sources): Remove cmath.cc.
1090         * src/Makefile.in: Regenerate.
1091         * src/cmath.cc: Remove.
1092
1093 2002-06-18  Phil Edwards  <pme@gcc.gnu.org>
1094
1095         * configure.target:  Force mips to use the generic cpu routines.
1096
1097 2002-06-18  Phil Edwards  <pme@gcc.gnu.org>
1098
1099         * configure.host:  Delete file.
1100         * configure.target:  More documentation.  Factor out common parts of
1101         script into "intelligent" settings about defaults.  Remove redundancy.
1102
1103         * acinclude.m4:  Update comments.  Do not call configure.host.
1104         (GLIBCPP_ENABLE_SYMVERS):  If disabled, do not bother checking for
1105         libgcc_s.
1106         * configure.in:  Slight reformatting, more comments.  Factor out
1107         "config/" from all the directories.
1108         * docs/html/17_intro/porting.texi:  Update and expand.
1109         * testsuite/Makefile.am (AM_RUNTESTFLAGS):  Move empty setting
1110         from configure.host.
1111
1112         * aclocal.m4, configure, docs/html/17_intro/porting.html,
1113         testsuite/Makefile.in:  Regenerate.
1114
1115 2002-06-16  Phil Edwards  <pme@gcc.gnu.org>
1116
1117         * docs/doxygen/TODO:  Update.
1118         * docs/doxygen/tables.html:  Uncomment magical middle column.
1119         * docs/doxygen/user.cfg.in:  Kludge to ignore function-like macros.
1120         * include/bits/stl_queue.h:  Doxygenate and reformat.
1121         * include/bits/ios_base.h, include/std/std_streambuf.h:  Add comment
1122         for deprecated names required by the standard.
1123
1124 2002-06-14  J.T. Conklin  <jtc@acorntoolworks.com>
1125
1126         * configure.in (target_alias): Fix.
1127         * configure: Regenerate.
1128         * aclocal.m4: Regenerate.
1129
1130 2002-06-12  Phil Edwards  <pme@gcc.gnu.org>
1131
1132         * include/Makefile.am:  Add new files.
1133         * include/Makefile.in:  Regenerate.
1134
1135         * include/bits/stl_deque.h, include/bits/stl_list.h,
1136         include/bits/stl_vector.h:  Clean up, reformat.  Move definitions...
1137         * include/bits/deque.tcc, include/bits/list.tcc,
1138         include/bits/vector.tcc:  ...to here.  New files.
1139
1140         * include/ext/stl_hashtable.h:  Inclide correct full headers.
1141         * include/std/std_deque.h:  Include .tcc files for now.
1142         * include/std/std_list.h:  Likewise.
1143         * include/std/std_vector.h:  Likewise.
1144
1145 2002-06-12  Daniel Jacobowitz  <drow@mvista.com>
1146
1147         * Makefile.am: Add FLAGS_TO_PASS.
1148         * Makefile.in: Regenerated.
1149
1150 2002-06-11  J.T. Conklin  <jtc@acorntoolworks.com>
1151             Benjamin Kosnik  <bkoz@redhat.com>
1152
1153         * configure.target: Set os_include_dir to config/os/qnx/qnx6.1
1154         under *-qnx6.[12]*.
1155         * configure.in: Add support for *-qnx6.[12]*.
1156         * configure: Regenerate.
1157
1158         * config/os/qnx, config/os/qnx/qnx6.1, config/os/qnx/qnx6.1/bits:
1159         New directories.
1160         * config/os/qnx/qnx6.1/bits/ctype_base.h, ctype_inline.h,
1161         ctype_noninline.h, os_defines.h: New files.
1162
1163 2002-06-10  Loren J. Rittle <ljrittle@acm.org>
1164
1165         * acinclude.m4 (GLIBCPP_CHECK_SETRLIMIT_ancilliary): Reorder and
1166         include all required headers for test against older POSIX standard.
1167         (GLIBCPP_CHECK_SETRLIMIT): Likewise.
1168         (ac_setrlimit): Likewise.
1169         * aclocal.m4: Regenerate.
1170         * configure: Regenerate.
1171         * testsuite/testsuite_hooks.cc: Reorder and include all
1172         required headers for use against older POSIX standard.
1173
1174 2002-06-08  Paolo Carlini  <pcarlini@unitus.it>
1175
1176         * testsuite/backwards/strstream_members.cc: New.
1177
1178 2002-06-08  Benjamin Kosnik  <bkoz@redhat.com>
1179
1180         * include/backwards/strstream: Format.
1181         * src/strstream.cc: Format.
1182
1183 2002-06-08  Andreas Schwab  <schwab@suse.de>
1184
1185         * src/strstream.cc (strstreambuf::overflow): Set _M_buf,
1186         _M_buf_size and _M_buf_size_opt to the new buffer and size.
1187
1188 2002-06-08  Benjamin Kosnik  <bkoz@redhat.com>
1189
1190         * config/os/generic/bits/ctype_noninline.h: Tweak format.
1191
1192 2002-06-07  Steve Ellcey  <sje@cup.hp.com>
1193
1194         * src/locale-inst.cc (__codecvt_abstract_base):
1195         Put inside _GLIBCPP_USE_WCHAR_T ifdef.
1196         * include/bits/istream.tcc (basic_istream): Ditto.
1197         (ws) Ditto.
1198         (operator>>) Ditto.
1199         * include/bits/ostream.tcc (basic_ostream): Ditto.
1200         (endl): Ditto.
1201         (ends): Ditto.
1202         (flush): Ditto.
1203         (operator<<): Ditto.
1204
1205 2002-06-07  Phil Edwards  <pme@gcc.gnu.org>
1206
1207         * mkcheck.in:  Link against local testsuite library.
1208         * testsuite/testsuite_hooks.h (__set_testsuite_memlimit):  Move null
1209         implementation out...
1210         * testsuite/testsuite_hooks.cc:  ...to here.
1211
1212 2002-06-06  Loren J. Rittle <ljrittle@acm.org>
1213
1214         * src/Makefile.am (AUTOMAKE_OPTIONS): Use cygnus-style generation.
1215         * include/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
1216         * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
1217         * src/Makefile.in: Regenerate (explicitly with --cygnus option).
1218         * testsuite/Makefile.in: Likewise.
1219
1220 2002-06-05  David Edelsohn  <edelsohn@gnu.org>
1221
1222         * config/os/aix/bits/ctype_noninline.h (do_toupper,do_tolower):
1223         Call external symbol.
1224
1225 2002-06-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1226
1227         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3_target_compile):
1228         Search correct multilib testsuite dir for libv3test.
1229
1230 2002-06-04  Paolo Carlini  <pcarlini@unitus.it>
1231             Gaby Dos Reis  <gdr@codesourcery.com>
1232
1233         * include/bits/basic_string.tcc
1234         (basic_string::_S_construct(forward_iterator_tag):
1235         Fix typo in null pointer check.
1236         * testsuite/21_strings/ctor_copy_dtor.cc: Add test04.
1237
1238 2002-06-04  Paolo Carlini  <pcarlini@unitus.it>
1239
1240         * testsuite/22_locale/money_get_members_char.cc
1241         (test02): Add decimal point to long double constants.
1242         * testsuite/22_locale/money_get_members_wchar_t.cc
1243         (test02): Likewise.
1244         * testsuite/22_locale/money_put_members_char.cc
1245         (test02, test03, test06): Likewise.
1246         * testsuite/22_locale/money_put_members_wchar_t.cc:
1247         (test02, test03, test06): Likewise.
1248         * testsuite/22_locale/num_get_members_char.cc:
1249         (test02, test01): Likewise; suffix long long constants with LL.
1250         * testsuite/22_locale/num_get_members_wchar_t.cc:
1251         (test02, test01): Likewise.
1252         * testsuite/22_locale/num_put_members_char.cc:
1253         (test02, test01): Likewise.
1254         * testsuite/22_locale/num_put_members_wchar_t.cc:
1255         (test02, test01): Likewise.
1256
1257 2002-06-03  Marc Espie  <espie@openbsd.org>
1258
1259         * config/cpu/m68k/bits/atomicity.h(__exchange_and_add): Fix inline
1260         assembly for old assemblers.
1261
1262 2002-06-03  Phil Edwards  <pme@gcc.gnu.org>
1263
1264         * include/bits/stl_bvector.h (swap(_Bit_reference,_Bit_reference)):
1265         Move/rename...
1266         (vector<bool>::swap(reference,reference)): ...to this.
1267
1268 2002-06-03  Phil Edwards  <pme@gcc.gnu.org>
1269
1270         * docs/doxygen/TODO:  Update.
1271         * docs/doxygen/user.cfg.in (SORT_MEMBER_DOCS):  Set to off, now that
1272         some class members are in 14882 order.
1273         * docs/html/ext/howto.html:  3.1 is in the past now, not the future.
1274
1275         * include/std/std_bitset.h:  Update comment.
1276         * src/bitset.cc:  Update comments, clean up spacing.
1277
1278         * src/Makefile.am (sources):  Alphabetize for convenience.
1279         * src/Makefile.in:  Regenerate.
1280
1281 2002-06-03  Phil Edwards  <pme@gcc.gnu.org>
1282
1283         * include/bits/stl_deque.h, include/bits/stl_list.h,
1284         include/bits/stl_vector.h:  Reformat to (mostly) match C++STYLE.
1285         Reorder to match 14882.  Doxygen blocks for all public members.
1286
1287 2002-05-31  Marcus Meissner  <meissner@suse.de>
1288
1289         PR libstdc++/6886
1290         * include/bits/stl_bvector.h:  Use UL suffix for unsigned longs.
1291         * testsuite/23_containers/vector_bool.cc (test02):  New test.
1292
1293 2002-05-30  Marc Espie  <espie@openbsd.org>
1294
1295         * configure.in: Always check for sys/types.h
1296         * configure: Regenerate.
1297
1298 2002-05-28  Nick Clifton  <nickc@cambridge.redhat.com>
1299
1300         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init):
1301         Rebuild the wrapper file every time this proc is called.
1302
1303 2002-05-28  Phil Edwards  <pme@gcc.gnu.org>
1304
1305         * testsuite/Makefile.am (noinst_LIBRARIES):  New target.  Pull in
1306         CXX/INCLUDES.
1307         * testsuite/Makefile.in:  Regenerate.
1308         * testsuite/testsuite_hooks.h (gnu_copy_tracker):  Move from
1309         list_modifiers.cc and rename from 'T'.  Move code bodies...
1310         * testsuite/testsuite_hooks.cc:  ...to here.  New file.
1311         * testsuite/23_containers/list_modifiers.cc:  Move 'T' class out.
1312         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3_target_compile):
1313         Add libv3test.a to link options.
1314
1315 2002-05-27  Benjamin Kosnik  <bkoz@redhat.com>
1316
1317         * src/misc-inst.cc: Define unnecessary algorithm
1318         instantiations. Break apart instantiations into groupings below.
1319         * src/fstream-inst.cc: New.
1320         * src/io-inst.cc: New.
1321         * src/istream-inst.cc: New.
1322         * src/ostream-inst.cc: New.
1323         * src/streambuf-inst.cc: New.
1324         * src/sstream-inst.cc: New.
1325         * src/Makefile.am (sources): Add files.
1326         * src/Makefile.in: Regenerate.
1327
1328         * acinclude.m4: Work around automake 1.4-p5 bug, change
1329         AM_GNU_GETTEXT in comments to AM-GNU-GETTEXT.
1330
1331 2002-05-27  Benjamin Kosnik  <bkoz@redhat.com>
1332
1333         PR libstdc++/6795.
1334         * config/os/solaris/solaris2.6/bits/ctype_noninline.h
1335         (classic_table): Fix.
1336         * config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.
1337
1338 2002-05-27  Benjamin Kosnik  <bkoz@redhat.com>
1339
1340         * testsuite/22_locale/ctype_is_wchar_t.cc: Guard with
1341         _GLIBCPP_USE_WCHAR_T.
1342         * testsuite/22_locale/ctype_narrow_wchar_t.cc: Same.
1343         * testsuite/22_locale/ctype_to_wchar_t.cc: Same.
1344         * testsuite/22_locale/ctype_widen_wchar_t.cc: Same.
1345
1346 2002-05-26  Carlo Wood  <carlo@alinoe.com>
1347             Paolo Carlini  <pcarlini@unitus.it>
1348
1349         PR libstdc++/6811
1350         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
1351         (__enc_traits::operator=): add missing return statement.
1352
1353 2002-05-24  Phil Edwards  <pme@gcc.gnu.org>
1354
1355         PR libstdc++/6282
1356         * include/std/std_bitset.h (_Base_biteset<0>):  New specialization.
1357         (operator>>):  If nothing was extracted, don't fail in the
1358         zero-length case.
1359         * testsuite/23_containers/bitset_ctor.cc (test02):  New test.
1360
1361 2002-05-24  Benjamin Kosnik  <bkoz@redhat.com>
1362
1363         PR libstdc++/6701
1364         * testsuite/22_locale/ctype_narrow_char.cc: New.
1365         * testsuite/22_locale/ctype_narrow_wchar_t.cc: New.
1366         * testsuite/22_locale/ctype_widen_char.cc: New.
1367         * testsuite/22_locale/ctype_widen_wchar_t.cc: New.
1368         * testsuite/22_locale/ctype_members_char.cc: Move some bits into...
1369         * testsuite/22_locale/ctype_is_char.cc: ...this.
1370         * testsuite/22_locale/ctype_to_char.cc: ...and this.
1371         * testsuite/22_locale/ctype_members_wchar_t.cc: Move some bits into...
1372         * testsuite/22_locale/ctype_is_wchar_t.cc: ...this.
1373         * testsuite/22_locale/ctype_to_wchar_t.cc: ...and this.
1374
1375         * testsuite/22_locale/ctype_scan_wchar_t.cc: Should pass.
1376
1377 2002-05-24  Dale Peakall <dale@peakall.net>
1378
1379         PR libstdc++/6701
1380         * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_narrow): Fix.
1381         * config/locale/generic/ctype_members.cc: Same.
1382
1383 2002-05-24  Benjamin Kosnik  <bkoz@redhat.com>
1384
1385         PR libstdc++/6750
1386         * include/bits/ostream.tcc (ostream::operator<<(const char*)): Fix
1387         for empty string literal.
1388         (ostream::operator<<(const _CharT*)): Same.
1389         (ostream<char>::operator<<(const char*)): Same.
1390         (ostream<char>::operator<<(streambuf*)): Same.
1391         * testsuite/27_io/ostream_inserter_char.cc (test08): Add tests.
1392         * testsuite/27_io/ostream_inserter_other.cc (test02): Modify.
1393
1394 2002-05-23  Benjamin Kosnik  <bkoz@redhat.com>
1395
1396         * configure.in (release_VERSION): Update to 3.1.1.
1397         (libtool_VERSION): Update to 4:1:0.
1398         * configure: Regenerate.
1399
1400 2002-05-21  Phil Edwards  <pme@gcc.gnu.org>
1401
1402         * include/bits/stl_pair.h:  Tweak comment markup.
1403
1404 2002-05-21  Phil Edwards  <pme@gcc.gnu.org>
1405
1406         * include/ext/stdio_filebuf.h:  Add header guards.  Doxygenate.
1407
1408 2002-05-21  Phil Edwards  <pme@gcc.gnu.org>
1409
1410         * docs/doxygen/user.cfg.in (EXCLUDE):  Add 'CVS'.
1411
1412 2002-05-21  Phil Edwards  <pme@gcc.gnu.org>
1413
1414         * include/bits/stl_vector.h:  Reformat to follow C++STYLE.
1415         Doxygenate all public members.  Reorder to follow 14882.
1416         (vector::push_back(void)):  Remove previously-deprecated fn.
1417         (vector::insert(iterator), vector::_M_insert_aux(iterator)):
1418         Deprecate for removal in 3.3.
1419
1420 2002-05-20  Phil Edwards  <pme@gcc.gnu.org>
1421
1422         * docs/html/faq/index.html (5.4):  Recommend against -I options for
1423         finding the ext headers.
1424         * docs/html/faq/index.txt:  Regenerate.
1425
1426 2002-05-19  Paolo Carlini  <pcarlini@unitus.it>
1427
1428         * testsuite/23_containers/deque_operators.cc (test01):
1429         Fix minor typo in last commit.
1430
1431 2002-05-18  Paolo Carlini  <pcarlini@unitus.it>
1432
1433         PR libstdc++/6503
1434         * include/bits/stl_deque.h (_Deque_iterator::operator==,
1435         operator!=, operator<, operator>, operator>=, operator<=):
1436         Make non-member functions, to allow comparing const and
1437         non-const iterators in any order.
1438         * testsuite/23_containers/deque_operators.cc: New testfile.
1439
1440 2002-05-16  Phil Edwards  <pme@gcc.gnu.org>
1441
1442         * docs/html/faq/index.html:  Update not-a-bug list with basic_file.h.
1443         * docs/html/faq/index.txt:  Regenerate.
1444
1445 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1446
1447         * Makefile.am: Allow for PWDCMD to override hardcoded pwd.
1448         * acinclude.m4: Likewise.
1449         * docs/html/Makefile: Likewise.
1450         * aclocal.m4: Regenerate.
1451         * configure: Regenerate.
1452         * Makefile.in: Regenerate.
1453
1454 2002-05-15  Loren J. Rittle <ljrittle@acm.org>
1455
1456         libstdc++/6641
1457         * include/bits/c++config (__USE_MALLOC): Report case where
1458         the user improperly defined it on the command line.
1459
1460 2002-05-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1461
1462         * testsuite/testsuite_hooks.h (__set_testsuite_memlimit):
1463         Retrieve current limits before setting.
1464
1465 2002-05-15  Benjamin Kosnik  <bkoz@redhat.com>
1466
1467         PR libstdc++/6518
1468         * include/bits/ostream.tcc (ostream::operator<<(const char*)): Fix
1469         for null case.
1470         (ostream::operator<<(const _CharT*)): Same.
1471         (ostream<char>::operator<<(const char*)): Same.
1472         * testsuite/27_io/ostream_inserter_char.cc (test07): Add test.
1473
1474 2002-05-15  Benjamin Kosnik  <bkoz@redhat.com>
1475
1476         PR libstdc++/6594
1477         * src/strstream.cc (strstreambuf): Fix leak.
1478
1479 2002-05-15  Paolo Carlini  <pcarlini@unitus.it>
1480
1481         PR libstdc++/6648
1482         * include/bits/istream.tcc (istream::getline, ignore):
1483         Upon __idelim (__delim) call sbumpc() not snextc().
1484         * testsuite/27_io/narrow_stream_objects.cc:
1485         Add test08 and test09.
1486
1487 2002-05-13  Benjamin Kosnik  <bkoz@redhat.com>
1488
1489         * testsuite/22_locale/ctype_scan_char.cc: Tweak.
1490         * testsuite/22_locale/ctype_scan_wchar_t.cc: New.
1491
1492         * docs/html/install.html: Fix.
1493
1494 2002-05-13  Benjamin Kosnik  <bkoz@redhat.com>
1495
1496         * include/bits/fstream.tcc
1497         (basic_filebuf::_M_allocate_internal_buffer): Remove extraneous
1498         try/catch blocks.
1499         * src/localename.cc (locale::_Impl::_M_install_facet): Same.
1500
1501         * docs/html/install.html: Tweak, add bits about required locales
1502         for the 22_locale tests when using the gnu model.
1503
1504         * testsuite/27_io/istream_sentry.cc: Tweak.
1505
1506 2002-05-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1507
1508         * config/os/irix/irix5.2/bits/ctype_inline.h (scan_is, scan_not):
1509         Fix typo, use this->is() rather than manually (and perhaps
1510         incorrectly) inlining it.
1511         * config/os/irix/irix6.5/bits/ctype_inline.h (scan_is, scan_not):
1512         Likewise.
1513         * testsuite/22_locale/ctype_scan_char.cc: New file.
1514
1515 2002-05-13  Paolo Carlini  <pcarlini@unitus.it>
1516             Jakub Jelinek  <jakub@redhat.com>
1517
1518         * testsuite/22_locale/money_get_members_char.cc
1519         (test01, test02, test04): Use the de_DE@euro named locale
1520         instead of de_DE to allow for an uniform behaviour with
1521         both old and Euro-era localedata; tweak some tests.
1522         * testsuite/22_locale/money_get_members_wchar_t.cc
1523         (test01, test02, test04): Likewise.
1524         * testsuite/22_locale/money_put_members_char.cc
1525         (test01, test02, test04): Likewise.
1526         * testsuite/22_locale/money_put_members_wchar_t.cc
1527         (test01, test02, test04): Likewise.
1528
1529 2002-05-13  Paolo Carlini  <pcarlini@unitus.it>
1530
1531         * testsuite/22_locale/codecvt_members_char_char.cc
1532         (test03): Robustify wrt localedata.
1533         * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Likewise.
1534         * testsuite/22_locale/collate_members_char.cc (test04): Likewise.
1535         * testsuite/22_locale/collate_members_wchar_t.cc (test04): Likewise.
1536         * testsuite/22_locale/ctype_members_char.cc (test05): Likewise.
1537         * testsuite/22_locale/ctype_members_wchar_t.cc (test04): Likewise.
1538         * testsuite/22_locale/messages_members_char.cc (test03): Likewise.
1539         * testsuite/22_locale/money_get_members_char.cc (test08): Likewise.
1540         * testsuite/22_locale/money_get_members_wchar_t.cc (test08): Likewise.
1541         * testsuite/22_locale/money_put_members_char.cc (test07): Likewise.
1542         * testsuite/22_locale/money_put_members_wchar_t.cc (test07): Likewise.
1543         * testsuite/22_locale/moneypunct_members_char.cc (test03): Likewise.
1544         * testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Likewise.
1545         * testsuite/22_locale/num_get_members_char.cc (test06): Likewise.
1546         * testsuite/22_locale/num_get_members_wchar_t.cc (test06): Likewise.
1547         * testsuite/22_locale/num_put_members_char.cc (test04): Add comment.
1548         * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Likewise.
1549         * testsuite/22_locale/numpunct_members_char.cc (test03): Likewise.
1550         * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Likewise.
1551         * testsuite/22_locale/time_get_members_char.cc (test08): Likewise.
1552         * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Likewise.
1553         * testsuite/22_locale/time_put_members_char.cc (test04): Likewise.
1554         * testsuite/22_locale/time_put_members_wchar_t.cc (test04): Likewise.
1555
1556 2002-05-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1557
1558         * config/os/irix/irix5.2/bits/os_defines.h: Revert 2002-05-06
1559         change.
1560
1561 2002-05-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1562
1563         * config/os/gnu-linux/bits/os_defines.h (__glibcpp_long_bits): Define
1564         to 64 for hppa 64-bit port.
1565         (__glibcpp_long_double_bits): Define to 64 for all hppa ports.
1566
1567 2002-05-10  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1568
1569         * acinclude.m4 (enable_symvers): Quote $LD.
1570         * aclocal.m4: Regenerate.
1571         * configure: Likewise.
1572
1573 2002-05-09  Jakub Jelinek  <jakub@redhat.com>
1574
1575         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Append all
1576         multilib dirs containing libgcc_s*.so.1 below gcc object dir to
1577         LD_LIBRARY_PATH.
1578
1579 2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
1580
1581         * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
1582         script entry, and set LD to it when configuring multilibs.
1583         * configure: Rebuilt.
1584
1585 2002-05-07  Mark Mitchell  <mark@codesourcery.com>
1586
1587         * configure.in: Add support for WindISS.
1588         * configure: Regenerated.
1589         * configure.target: Add support for WindISS.
1590         * config/os/windiss/bits/ctype_base.h: New file.
1591         * config/os/windiss/bits/ctype_inline.h: Likewise.
1592         * config/os/windiss/bits/ctype_noninline.h: Likewise.
1593         * config/os/windiss/bits/os_defines.h: Likewise.
1594
1595 2002-05-06  Paolo Carlini  <pcarlini@unitus.it>
1596
1597         Test all the facets for the temporary "C" locale switch issue.
1598         * testsuite/22_locale/codecvt_members_char_char.cc: Add test03.
1599         * testsuite/22_locale/codecvt_members_wchar_t_char.cc: Likewise.
1600         * testsuite/22_locale/collate_members_char.cc: Add test04.
1601         * testsuite/22_locale/collate_members_wchar_t.cc: Likewise.
1602         * testsuite/22_locale/ctype_members_char.cc: Add test05.
1603         * testsuite/22_locale/ctype_members_wchar_t.cc: Add test04.
1604         * testsuite/22_locale/messages_members_char.cc: Add test03.
1605         * testsuite/22_locale/money_get_members_char.cc: Add test08.
1606         * testsuite/22_locale/money_get_members_wchar_t.cc: Likewise.
1607         * testsuite/22_locale/money_put_members_char.cc: Add test07.
1608         * testsuite/22_locale/money_put_members_wchar_t.cc: Likewise.
1609         * testsuite/22_locale/moneypunct_members_char.cc: Add test03.
1610         * testsuite/22_locale/moneypunct_members_wchar_t.cc: Likewise.
1611         * testsuite/22_locale/num_get_members_char.cc: Add test06.
1612         * testsuite/22_locale/num_get_members_wchar_t.cc: Likewise.
1613         * testsuite/22_locale/numpunct_members_char.cc: Add test03.
1614         * testsuite/22_locale/numpunct_members_wchar_t.cc: Likewise.
1615         * testsuite/22_locale/time_get_members_char.cc: Add test08.
1616         * testsuite/22_locale/time_get_members_wchar_t.cc: Likewise.
1617         * testsuite/22_locale/time_put_members_char.cc: Add test04.
1618         * testsuite/22_locale/time_put_members_wchar_t.cc: Likewise.
1619
1620         * testsuite/22_locale/num_put_members_char.cc (test04): Add comment.
1621         * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Likewise.
1622
1623 2002-05-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1624
1625         * config/os/irix/irix5.2/bits/os_defines.h (_SGI_SOURCE,
1626         __EXTENSIONS__): Ensure they are always defined.
1627
1628 2002-05-06  Phil Edwards  <pme@gcc.gnu.org>
1629
1630         * docs/html/documentation.html:  Fix broken link.
1631
1632 2002-05-04  Benjamin Kosnik  <bkoz@redhat.com>
1633             Paolo Carlini  <pcarlini@unitus.it>
1634
1635         * testsuite/22_locale/num_put_members_char.cc: Add test04(),
1636         testing for the locale_facets.tcc entry of the previous commit.
1637         * testsuite/22_locale/num_put_members_wchar_t.cc: Likewise.
1638
1639 2002-05-04  Takeshi Kobayakawa  <tskoba@mte.biglobe.ne.jp>
1640
1641         * config/locale/generic/c_locale.cc
1642         (__convert_to_v(float, double, long double)):
1643         Fix the temporary switch to the "C" locale, saving and
1644         restoring in the proper way the current locale.
1645         * config/locale/generic/time_members.cc
1646         (__timepunct<char, wchar_t>::_M_put): Likewise.
1647         * config/locale/gnu/messages_members.cc
1648         (messages<char>::do_get): Likewise.
1649         * config/locale/gnu/messages_members.h
1650         (messages<_CharT>::do_get): Likewise.
1651         * config/locale/gnu/time_members.cc
1652         (__timepunct<char, wchar_t>::_M_put): Likewise.
1653         * include/bits/locale_facets.tcc (__convert_from_v): Likewise.
1654
1655 2002-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1656
1657         * configure.in (AC_CHECK_HEADERS): Check for string.h & stdlib.h.
1658         * libsupc++/Makefile.am (LTCOMPILE): Add $(DEFS).
1659
1660         * Makefile.in, config.h.in, configure: Regenerate.
1661
1662 2002-05-03  Benjamin Kosnik  <bkoz@redhat.com>
1663
1664         PR libstdc++/6549.
1665         * include/bits/fstream.tcc (filebuf::_M_underflow_common): Revert.
1666         * testsuite/27_io/narrow_stream_objects.cc (test07): Add.
1667
1668 2002-05-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1669
1670         * config/os/irix/irix5.2/bits/ctype_noninline.h (classic_table):
1671         Return __ctype + 1.
1672         (ctype:_M_table): Initialize to classic_table(), not __ctype.
1673
1674 2002-05-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1675
1676         * configure.in: Update local install.html, configopts.html paths.
1677         * configure: Regenerate.
1678
1679 2002-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1680
1681         * config/os/irix/irix5.2/bits/os_defines.h
1682         (__glibcpp_long_double_bits, __glibcpp_long_bits): Define.
1683
1684         * config/os/irix/irix5.2/bits/ctype_inline.h: Cast to unsigned
1685         char.
1686
1687 2002-05-02  Phil Edwards  <pme@gcc.gnu.org>
1688
1689         * docs/html/faq/index.html:  Update list in #4.1.
1690         * docs/html/faq/index.txt:  Regenerated.
1691
1692 2002-05-02  Benjamin Kosnik  <bkoz@redhat.com>
1693
1694         * docs/html/17_intro/RELEASE-NOTES (New): Update.
1695
1696 2002-05-01  Phil Edwards  <pme@gcc.gnu.org>
1697
1698         * include/std/std_bitset.h:  Fix doxygen comments.
1699         * docs/html/documentation.html:  Minor tweaks for 3.1.
1700         * docs/html/27_io/howto.html:  Likewise.
1701         * docs/html/ext/howto.html:  Likewise, mention stdio_filebuf.
1702         * docs/html/faq/index.html:  Likewise.
1703         * docs/html/faq/index.txt:  Regenerated.
1704
1705 2002-05-01  Benjamin Kosnik  <bkoz@redhat.com>
1706
1707         PR libstdc++/6533
1708         * include/bits/streambuf_iterator.h (istreambuf_iterator::_M_get): New.
1709         (istreambuf_iterator::equal): Use it.
1710         (istreambuf_iterator::operator*): Use it.
1711
1712 2002-05-01  Paolo Carlini  <pcarlini@unitus.it>
1713
1714         PR libstdc++/6513
1715         * include/bits/stl_uninitialized.h
1716         (uninitialized_copy(_InputIter, _InputIter, _ForwardIter)):
1717         Fix typo in 2001-07-17 commit: typedef _ValueType to
1718         iterator_traits<_ForwardIter> not <_InputIter>.
1719         * testsuite/23_containers/vector_ctor.cc: Add test04.
1720
1721 2002-04-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1722
1723         PR libstdc++/6501
1724         * include/c_std/std_cctype.h: Include bits/c++config.h.
1725         * config/os/hpux/bits/os_defines.h (_SB_CTYPE_MACROS): Define.
1726
1727 2002-04-30  Benjamin Kosnik  <bkoz@redhat.com>
1728
1729         * include/ext/stdio_filebuf.h: New file.
1730         * include/ext/enc_filebuf.h: New file.
1731         * config/io/basic_file_stdio.h (__basic_file::sys_open): Add fd ctor.
1732         * config/io/basic_file_stdio.cc: Same.
1733         * include/bits/fstream.tcc (filebuf::_M_allocate_internal_buffer):
1734         Remove _M_unbuf hacks.
1735         (filebuf::_M_destroy_internal_buffer): Same.
1736         (filebuf::filebuf(cfile, openmode, int_type): Remove definition.
1737         (filebuf::fd): Remove.
1738         * include/std/std_fstream.h (filebuf::_M_unbuf): Remove.
1739         (filebuf::filebuf(__c_file*, openmode, int_type)): Remove.
1740         (filebuf::fd): Remove.
1741         * src/ios.cc (ios_base::_S_ios_create): Change to use specialized
1742         filebufs.
1743         (ios_base::_S_ios_destroy): Same.
1744         * src/misc-inst.cc (file_filebuf<char>): Add instantiation.
1745         * include/Makefile.am (ext_headers): Add ext_filebuf.h,
1746         stdio_filebuf.h.  * include/Makefile.in: Regenerate.
1747
1748 2002-04-30  Benjamin Kosnik  <bkoz@redhat.com>
1749
1750         PR libstdc++/6511
1751         * config/os/solaris/solaris2.7/bits/ctype_noninline.h: Fix typo.
1752
1753 2002-04-29  Benjamin Kosnik  <bkoz@redhat.com>
1754
1755         PR libstdc++/5820
1756         * include/bits/fstream.tcc (basic_filebuf::_M_underflow_common):
1757         Check for eof.
1758         * include/bits/streambuf_iterator.h: Match stream_iterator.h.
1759         (istreambuf_iterator::operator++): Invalidate on eof.
1760         (istreambuf_iterator::operator++(int)): Same.
1761         (istreambuf_iterator::operator*): Same.
1762
1763 2002-04-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1764
1765         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Set all
1766         of LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
1767         LD_LIBRARY64_PATH.
1768
1769 2002-04-28  Benjamin Kosnik  <bkoz@redhat.com>
1770
1771         PR libstdc++/5820
1772         * config/io/basic_file_stdio.h (__basic_file::sys_getc): Return int.
1773         (__basic_file::sys_ungetc): Take int.
1774         * config/io/basic_file_stdio.cc (__basic_file::sys_ungetc): Same.
1775         * include/bits/fstream.tcc (basic_filebuf::_M_underflow_common):
1776         Use sys_getc for unbuffered input.
1777         * testsuite/27_io/narrow_stream_objects.cc (test06): New.
1778
1779         * src/ios.cc (_M_grow_words): Adjust error checking.
1780         * testsuite/27_io/ios_base_storage.cc: Same.
1781
1782 2002-04-28  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
1783
1784         * include/ext/stl_hashtable.h: Import __iterator_category
1785
1786 2002-04-28  Paolo Carlini  <pcarlini@unitus.it>
1787             Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
1788
1789         * testsuite/ext/hash_set.cc: New testfile.
1790
1791 2002-04-27  Benjamin Kosnik  <bkoz@redhat.com>
1792
1793         * config/os/solaris/solaris2.5/bits/os_defines.h: Remove
1794         _G_USING_THUNKS.
1795         * config/os/solaris/solaris2.6/bits/os_defines.h: Same.
1796         * config/os/solaris/solaris2.7/bits/os_defines.h: Same.
1797
1798 2002-04-26  Paolo Carlini  <pcarlini@unitus.it>
1799
1800         * include/bits/basic_string.h (replace(__pos, __n1, __s, __n2):
1801         Fix and tighten __throw_length_error check.
1802         * testsuite/21_strings/replace.cc (test05): New.
1803         * testsuite/21_strings/replace.cc (test02, test03, test04): Tweak.
1804
1805 2002-04-23  Loren J. Rittle <ljrittle@acm.org>
1806
1807         * include/std/std_fstream.h (basic_filebuf::sync): Hoist
1808         unconditional flush on lower-layer handle to here...
1809         * include/bits/fstream.tcc (basic_filebuf::_M_really_overflow):
1810         ...from here.  Optimize remaining _M_file.sync() call pattern.
1811         * testsuite/27_io/narrow_stream_objects.cc (test04): New test.
1812         (test05): Likewise.
1813
1814 2002-04-23  Jason Merrill  <jason@redhat.com>
1815
1816         * include/bits/fstream.tcc (basic_filebuf::seekoff): Fix for
1817         output-only filebufs.
1818         * include/std/std_fstream.h (basic_filebuf::_M_set_indeterminate):
1819         Likewise.
1820         (basic_filebuf::_M_set_determinate): Likewise.
1821
1822         PR libstdc++/6414
1823         * include/bits/fstream.tcc (basic_filebuf::seekoff): Adjust return
1824         value properly in the trivial case.
1825         * testsuite/27_io/istream_seeks.cc (test04): Make sure that
1826         tellg() returns the right value after a read.
1827
1828 2002-04-23  Hans-Peter Nilsson  <hp@bitrange.com>
1829
1830         * config/cpu/mmix/bits/cpu_limits.h: New file.
1831         * configure.target (CPULIMITSH): Use it.
1832
1833 2002-04-22  Loren J. Rittle <ljrittle@acm.org>
1834
1835         * docs/html/17_intro/porting.texi (_GLIBCPP_AVOID_FSEEK): Remove.
1836         * docs/html/17_intro/porting.html: Rebuilt.
1837
1838 2002-04-20  Jason Merrill  <jason@redhat.com>
1839
1840         PR libstdc++/4150
1841         * include/std/std_streambuf.h (basic_streambuf::_M_set_indeterminate):
1842         Move to filebuf.
1843         (basic_streambuf::_M_set_determinate): Likewise.
1844         (basic_streambuf::_M_is_indeterminate): Likewise.
1845         * include/bits/std_fstream.h (basic_filebuf::_M_filepos): New
1846         non-static data member.
1847         (basic_filebuf::_M_underflow_common): New non-static member function.
1848         (basic_filebuf::_M_underflow, _M_uflow): Call it.
1849         (basic_filebuf::sync): Avoid useless seeking.
1850         (basic_filebuf::_M_set_indeterminate): Move here from streambuf.
1851         Set _M_filepos.
1852         (basic_filebuf::_M_set_determinate): Likewise.
1853         (basic_filebuf::_M_is_indeterminate): Likewise.
1854         * include/bits/fstream.tcc (basic_filebuf::_M_really_overflow): Seek
1855         back to _M_out_beg if necessary.
1856         (basic_filebuf::seekoff): Likewise.
1857         (basic_filebuf::_M_underflow_common): Generalization of old
1858         underflow().  Don't seek back to _M_in_beg.
1859         * src/ios.cc: Lose _GLIBCPP_AVOID_FSEEK stuff.
1860         * config/os/solaris/solaris2.?/bits/os_defines.h: Likewise.
1861         * config/os/bsd/freebsd/bits/os_defines.h: Likewise.
1862         * config/os/mingw32/bits/os_defines.h: Likewise.
1863         * testsuite/27_io/filebuf_virtuals.cc (test05): Don't overspecify
1864         ungetc test.
1865
1866 2002-04-22  Benjamin Kosnik  <bkoz@redhat.com>
1867
1868         * include/bits/istream.tcc (istream::read): Fix.
1869         * testsuite/27_io/istream_unformatted.cc (main): Add.
1870
1871 2002-04-20  Benjamin Kosnik  <bkoz@redhat.com>
1872
1873         PR libstdc++/6360
1874         * include/bits/istream.tcc (istream::ignore): Streamline, use
1875         delimiter as is.
1876         * include/bits/streambuf.tcc: Use this->gptr.
1877         * testsuite/27_io/istream_unformatted.cc (test08): Add test.
1878
1879 2002-04-18  Benjamin Kosnik  <bkoz@redhat.com>
1880
1881         * include/bits/localefwd.h (locale::id::_M_id): Do this correctly,
1882         as type safety is important, especially on solaris.
1883         * include/bits/istream.tcc (istream::read): Clean.
1884         (istream::readsome): Same.
1885         * locale.cc: Wrap lines.
1886
1887         * testsuite/21_strings/inserters_extractors.cc: Tweaks.
1888         * testsuite/27_io/instantiations.cc (test): Add bool variable...
1889         * testsuite/21_strings/capacity.cc: Clean.
1890
1891 2002-04-17  Phil Edwards  <pme@gcc.gnu.org>
1892
1893         * docs/doxygen/doxygroups.cc:  New group on binary searching.
1894         * include/bits/stl_algo.h:  Document binary searches and merges.
1895         * include/bits/stl_deque.h:  The 'map' member is not the 'map' class.
1896
1897 2002-04-17  Phil Edwards  <pme@gcc.gnu.org>
1898
1899         * docs/doxygen/mainpage.html:  Doxygen logo is now a PNG file.
1900         * docs/doxygen/run_doxygen:  Bump required version.
1901         * docs/doxygen/user.cfg.in:  Revert accidental change.
1902         * docs/html/faq/index.html:  Reindent a block of links.
1903         (4.4):  New note on using dlsym.
1904         * docs/html/faq/index.txt:  Regenerated.
1905
1906 2002-04-17  Phil Edwards  <pme@gcc.gnu.org>
1907
1908         * testsuite_flags.in (cxxflags):  Also pass @EXTRA_CXX_FLAGS@.
1909
1910 2002-04-17  Benjamin Kosnik  <bkoz@redhat.com>
1911
1912         * config/linker-map.gnu (__malloc_alloc_template): Add.
1913         (__default_alloc_template): Same.
1914         * include/bits/stl_alloc.h (__malloc_alloc_template): Add extern
1915         template.
1916         (__default_alloc_template): Same.
1917
1918 2002-04-17  Benjamin Kosnik  <bkoz@redhat.com>
1919
1920         * testsuite/27_io/filebuf_virtuals.cc: Add _S_pback_size instantiation.
1921
1922 2002-04-16  Benjamin Kosnik  <bkoz@redhat.com>
1923
1924         * src/concept-inst.cc (vector<locale::facet*>): Remove instantiations.
1925         * src/stl-inst.cc (vector::_M_insert_aux): Remove instantiation.
1926         (__malloc_alloc_template): Conditionalize.
1927
1928         * include/bits/istream.tcc: Remove sputbackc calls.
1929
1930         * testsuite/19_diagnostics/stdexceptions.cc: Fix comment.
1931
1932 2002-04-16  Paolo Carlini <pcarlini@unitus.it>
1933
1934         * testsuite/24_iterators/rel_ops.cc: New test.
1935
1936 2002-04-16  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
1937
1938         * include/bits/type_traits.h (__normal_iterator): Declare in
1939         __gnu_cxx.  Adjust use at global namespace.
1940         * include/bits/stl_iterator.h (__normal_iterator): Move definition
1941         into __gnu_cxx::. Add more operator overloads.  Tidy existing ones.
1942         * include/bits/basic_string.h (basic_string): Adjust use of
1943         __normal_iterator.
1944         * include/bits/stl_vector.h (_Alloc>): Likewise.
1945         * src/concept-inst.cc (__gnu_cxx): __normal_iterator<> is now here.
1946         * src/string-inst.cc (operator==): Instantiate in __gnu_cxx.
1947
1948 2002-04-15  Benjamin Kosnik  <bkoz@redhat.com>
1949
1950         PR libstdc++/4164
1951         Valgrind fixes.
1952         * config/io/basic_file_stdio.cc (__basic_file::~__basic_file):
1953         Call close.
1954         (__basic_file::close): Call fflush. Correct return if fclose ok.
1955         (__basic_file::is_open): Make const.
1956         Change __c_file_type to __c_file.
1957         * config/io/basic_file_stdio.h: Change __c_file_type to __c_file.
1958         (__basic_file::is_open): Make const.
1959         * config/io/c_io_stdio.h: Change __c_file_type to __c_file.
1960         * include/std/std_fstream.h (filebuf::_M_allocate_file): Remove.
1961         (filebuf::_M_unbuf): Add.
1962         (filebuf::_M_file): Change to non-pointer.
1963         (filebuf::_M_allocate_pback_buffer): Remove.
1964         * include/bits/fstream.tcc (filebuf::_M_allocate_file): Remove.
1965         (filebuf::_M_allocate_internal_buffer): Use _M_unbuf.
1966         Change initialization list for _M_file change.
1967         (filebuf::_M_allocate_pback_buffer): Remove.
1968         Change _M_file usage to reflect non-pointer data member.
1969
1970         * config/locale/generic/c_locale.cc
1971         (locale::facet::_S_create_c_locale): Add parameter.
1972         * config/locale/generic/collate_members.cc: Change
1973         _M_compare_helper to _M_compare.
1974         Change _M_transform_helper to _M_transform.
1975         * config/locale/generic/monetary_members.cc: Changeup data types.
1976         Add dtors.
1977         * config/locale/generic/numeric_members.cc: Add dtors.
1978         * config/locale/generic/time_members.cc: Add dtors.
1979         * config/locale/gnu/c_locale.cc: Add parameter.
1980         * config/locale/gnu/collate_members.cc:Change
1981         _M_compare_helper to _M_compare.
1982         Change _M_transform_helper to _M_transform.
1983         * config/locale/gnu/ctype_members.cc: Better error checking.
1984         * config/os/gnu-linux/bits/ctype_noninline.h: Better error checking.
1985         * config/locale/gnu/messages_members.cc: Tweak comment.
1986         * config/locale/gnu/monetary_members.cc: Change data types.
1987         Add dtors.
1988         * config/locale/gnu/numeric_members.cc: Add dtors, better error
1989         checking.
1990         * config/locale/gnu/time_members.cc: Same.
1991         * config/locale/ieee_1003.1-2001/c_locale.cc
1992         (locale::facet::_S_create_c_locale): Add parameter.
1993         * config/locale/ieee_1003.1-2001/c_locale.h: Correct typedef.
1994         * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Remove
1995         bogus ctor.
1996
1997         * include/bits/locale_facets.h (moneypunct): Use string literals.
1998         Don't define dtor.
1999         (numpunct): Same.
2000         (__timepunct): Same.
2001         (locale::_Impl::_M_facets): Change from vector to array.
2002         (locale::_Impl::_M_names): Change from array of strings to array
2003         of string literals.
2004         (locale::facet::_S_create_c_locale): Add parameter.
2005         (locale::locale::_S_num_facets): Move to...
2006         (locale::_Impl::_M_facets_size): Here.
2007         * include/bits/locale_facets.tcc: Fixups for _M_facets, _M_name
2008         changes.
2009         * include/bits/localefwd.h: (locale::id::_M_id): Add member function.
2010         (locale::_Impl::_Impl(facet**, size_t, bool)): Add.
2011         (locale::_Impl::_Impl(string, size_t)): Change to
2012         (locale::_Impl::_Impl(const char*, size_t)): This.
2013
2014         * include/bits/streambuf.tcc (streambuf::_S_pback_size): Define.
2015         * include/std/std_streambuf.h (streambuf::_M_pback_size): Change to
2016         (streambuf::_S_pback_size): This.
2017
2018         * src/globals.cc: Add pre-allocations for "C" facets.
2019         * src/locale-inst.cc: Remove vector instantiations.
2020         * src/locale.cc: Remove vector include. Fixups for _M_names,
2021         _M_facets changes.
2022         * src/localename.cc: Same.
2023
2024         * include/bits/stl_vector.h: Fix odd formatting.
2025
2026         * include/bits/basic_string.tcc: Tweak comment.
2027
2028         * libsupc++/new: Make sure parameters are uglified.
2029         * libsupc++/typeinfo: Same.
2030
2031         * testsuite/22_locale/num_get_members_char.cc: Fixup.
2032         * testsuite/22_locale/num_get_members_wchar_t.cc: Same.
2033         * testsuite/27_io/filebuf_members.cc: Same.
2034
2035 2002-04-12  Steve Ellcey  <sje@cup.hp.com>
2036
2037         * gcc/libstdc++-v3/config/os/hpux/bits/os_defines.h
2038         (strtoll, strtoull): In 64 bit mode HP-UX (IA64 and HPPA)
2039         does not define strtoll or strtoull, but does define strtol
2040         and strtoul which are the same since in 64 bit mode
2041         sizeof(long) == sizeof(long long).
2042
2043 2002-04-12  Phil Edwards  <pme@gcc.gnu.org>
2044
2045         * include/std/std_bitset.h:  Doxygenate std::bitset<>.  Clean up
2046         trailing spaces, indentation, and macro names.  Make exception
2047         messages more informative.
2048
2049 2002-04-11  Richard Henderson  <rth@redhat.com>
2050
2051         * include/bits/fstream.tcc (basic_filebuf<>::open): Fix & ordering.
2052         * include/bits/ostream.tcc (basic_ostream<>::operator<<(long)): Same.
2053         (basic_ostream<>::operator<<(long long)): Same.
2054
2055 2002-04-11  Richard Henderson  <rth@redhat.com>
2056
2057         * config/linker-map.gnu: Add __gxx_personality_sj0.
2058
2059 2002-04-09  Benjamin Kosnik  <bkoz@redhat.com>
2060
2061         libstdc++/1072
2062         * include/bits/localefwd.h (locale::_Impl::_M_facets): Change from
2063         pointer to vector.
2064         Remove forward declaration of vector.
2065         Include vector.
2066         * include/bits/locale_facets.tcc: Remove vector include.
2067         (use_locale): Adjust.
2068         (has_locale): Adjust.
2069         * src/locale.cc: Adjust.
2070         * src/localename.cc: Same.
2071
2072 2002-04-09  Benjamin Kosnik  <bkoz@redhat.com>
2073             Richard Henderson  <rth@redhat.com>
2074
2075         * include/bits/sstream.tcc: Clean up bit ops.
2076         * include/bits/fstream.tcc: Same.
2077
2078 2002-04-09  Jakub Jelinek  <jakub@redhat.com>
2079
2080         * include/bits/locale_facets.h (__num_base::_S_scale_hex): Remove.
2081         (__num_base::_S_scale_oct): Remove.
2082         * src/locale.cc (__num_base::_S_scale_hex): Remove.
2083         (__num_base::_S_scale_oct): Remove.
2084
2085 2002-04-09  Benjamin Kosnik  <bkoz@redhat.com>
2086
2087         libstdc++/6124
2088         * testsuite/23_containers/bitset_members.cc: New test.
2089         * include/std/std_bitset.h (_Bit_count::_S_bit_count): Move..
2090         (_S_bit_count): Here.
2091         (_First_one::_S_first_one): Move...
2092         (_S_first_one): Here.
2093         Format.
2094         * src/bitset.cc: Adjust.
2095         * config/linker-map.gnu: Export.
2096
2097 2002-04-08  Benjamin Kosnik  <bkoz@redhat.com>
2098
2099         libstdc++/5180
2100         * include/bits/fstream.tcc (filebuf::seekpos): Fix.
2101         * include/std/std_fstream.h: Clean.
2102         * include/bits/ostream.tcc: Remove extraneous variables.
2103         * include/bits/sstream.tcc (stringbuf::seekoff): Be strict about
2104         open modes and which modes.
2105         (stringbuf::seekpos): Same.
2106         * testsuite/27_io/stringbuf_virtuals.cc: New tests.
2107
2108 2002-04-05  Jonathan Wakely <jw@kayari.org>
2109
2110         * include/bits/stl_algo.h (unique_copy, __gcd, rotate, rotate_copy,
2111         random_shuffle, partition, stable_partition, sort, stable_sort,
2112         partial_sort, partial_sort_copy, nth_element):  Doxygenate.
2113
2114 2002-04-05  David S. Miller  <davem@redhat.com>
2115
2116         * config/os/gnu-linux/bits/os_defines.h
2117         (__glibcpp_long_double_bits): Set to 64 on 32-bit Sparc.
2118
2119 2002-04-04  Benjamin Kosnik  <bkoz@redhat.com>
2120
2121         libstdc++/3457
2122         via gawrilow@math.tu-berlin.de
2123         * acinclude.m4 (version_specific_libs): Fix combo usage with
2124         --with-gxx-include-dir.
2125         * aclocal.m4: Regenerate.
2126         * configure: Same.
2127
2128 2002-04-03  Benjamin Kosnik  <bkoz@redhat.com>
2129
2130         As per DR 184, libstdc++/3139
2131         * include/std/std_limits.h (__glibcpp_bool_digits): Change to 1.
2132         (numeric_limits<bool>::is_iec559): False.
2133         (numeric_limits<bool>::is_modulo): False.
2134
2135         * testsuite/27_io/ios_init.cc: Add instantiations.
2136
2137 2002-04-02  Benjamin Kosnik  <bkoz@redhat.com>
2138
2139         libstdc++/5268
2140         * src/ios.cc: (ios_base::Init::_S_ios_destroy): Remove flush calls.
2141         * testsuite/27_io/ios_init.cc (tests04): Add test.
2142
2143         libstdc++/3983
2144         * include/bits/basic_ios.h (basic_ios::_M_get_fctype_ios): Remove.
2145         (basic_ios::_M_ios_fctype): Consistently name to _M_fctype.
2146         * include/bits/basic_ios.tcc: Same. Remove outdated comments.
2147         * include/bits/istream.tcc: Use _M_fctype, make consistent with
2148         ostream.
2149         * testsuite/27_io/ios_init.cc (tests03): Add test.
2150
2151 2002-04-02  Phil Edwards  <pme@gcc.gnu.org>
2152
2153         * include/Makefile.am (install-data-local):  Use mkinstalldirs.
2154         * include/Makefile.in:  Regenerate.
2155
2156 2002-04-02  Paolo Carlini  <pcarlini@unitus.it>
2157             Nathan Myers  <ncm@cantrip.org>
2158             Philip Martin  <philip@codematters.co.uk>
2159
2160         * include/bits/basic_string.h
2161         (replace(i1, i2, _CharT* k1, _CharT* k2),
2162         replace(i2, i2, const _CharT* k1, const _CharT* k2),
2163         replace(i1, i2, iterator k1, iterator k2,
2164         replace(i1, i2, const_iterator k1, const_iterator k2):
2165         New specializations to optimize for the common cases of
2166         pointers and iterators.
2167         (replace(pos, n1, s, n2)): Tweak.
2168         * include/bits/basic_string.tcc: Tweak comments.
2169         * testsuite/21_strings/replace.cc (test04): New tests.
2170
2171 2002-04-01  Benjamin Kosnik  <bkoz@redhat.com>
2172
2173         libstdc++/5542
2174         * acinclude: More extensive checks for msgfmt, --enable-nls.
2175         * aclocal.m4: Regenerate.
2176         * configure: Regenerate.
2177
2178 2002-04-01  Phil Edwards  <pme@gcc.gnu.org>
2179
2180         * libsupc++/exception (__verbose_terminate_handler):  Point to docs.
2181         * docs/doxygen/doxygroups.cc:  Doxygen hooks for abi::__cxa_demangle.
2182         * docs/html/18_support/howto.html:  Document the demangler.
2183         * docs/html/17_intro/howto.html:  And link to it.
2184
2185         * docs/doxygen/mainpage.html:  Describe user-vs-maintainer docs.
2186         * docs/doxygen/run_doxygen:  Print user-vs-maintainer.
2187
2188 2002-04-01  Phil Edwards  <pme@gcc.gnu.org>
2189
2190         * config/linker-map.gnu:  Export __verbose_terminate_handler.
2191         * libsupc++/Makefile.am (sources):  Add cxa_demangle.c, dyn-string.c.
2192         Make new LTCOMPILE variable, use it in new special build rules.
2193         * libsupc++/Makefile.in:  Rebuild.
2194         * src/vterminate.cc (__verbose_terminate_handler):  Enable use of
2195         runtime __cxa_demangle.
2196
2197         * docs/html/install.html:  Update prereqs and instructions.
2198         * docs/html/19_diagnostics/howto.html:  Bring naming for
2199         verbose_terminate_handler into line with reality.
2200
2201 2002-04-01  Benjamin Kosnik  <bkoz@redhat.com>
2202
2203         libstdc++/3129
2204         * include/bits/basic_ios.h (basic_ios::_M_exception): Move.
2205         (basic_ios::_M_streambuf_state): Move.
2206         * include/bits/ios_base (ios_base): To here.
2207         * include/bits/ios_base.h (ios_base::_S_local_words): To
2208         _S_local_word_size.
2209         (ios_base::_M_word_array): To _M_local_word.
2210         (ios_base::_M_words_limit): To _M_word_size.
2211         (ios_base::_M_words): To _M_word.
2212         Comment.
2213         * include/bits/basic_ios.tcc: Adjust.
2214         * src/ios.cc (ios_base::_M_grow_words): Tweak.
2215         * testsuite/27_io/ios_base_storage.cc: Add tests.
2216
2217         libstdc++/5207
2218         Kenny Simpson <theonetruekenny@yahoo.com>
2219         * include/bits/ios_base.h: Fix.
2220
2221         Richard Henderson  <rth@redhat.com>
2222         * include/bits/ostream.tcc (ostream::operator<<(_CharT)): Correct
2223         last change.
2224
2225         * include/bits/basic_string.h: Tweak formatting.
2226
2227 2002-04-01  Paolo Carlini  <pcarlini@unitus.it>
2228
2229         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
2230         (codecvt::do_out, codecvt::do_unshift, codecvt::do_in):
2231         By definition, sizeof(char) == 1.
2232         * include/bits/locale_facets.tcc (money_get::do_get,
2233         money_put::do_put): Ditto.
2234         * testsuite/21_strings/inserters_extractors.cc
2235         (test04): Ditto.
2236
2237 2002-03-30  Richard Henderson  <rth@redhat.com>
2238
2239         PR c++/3719
2240         * libsupc++/eh_personality.cc (__cxa_call_unexpected): Copy handler
2241         data out of the exception struct before calling unexpectedHandler.
2242
2243 2002-03-28  Roger Sayle  <roger@eyesopen.com>
2244
2245         * include/c_std/std_cmath.h:  To prevent problems overloading
2246         g++ builtins, use the double variants from the global namespace
2247         before defining float and long double variants in std::.
2248
2249 2002-03-28  Loren J. Rittle <ljrittle@acm.org>
2250
2251         * testsuite/18_support/numeric_limits.cc (test_extrema): Fix typo.
2252
2253 2002-03-28  Paolo Carlini  <pcarlini@unitus.it>
2254
2255         * testsuite/24_iterators/istream_iterator.cc
2256         (test02): New tests.
2257
2258 2002-03-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2259             Paolo Carlini  <pcarlini@unitus.it>
2260
2261         * testsuite/22_locale/codecvt_members_unicode_wchar_t.cc
2262         (test01): Protect the test with _GLIBCPP_USE_WCHAR_T;
2263         fix i_lit_base e_lit_base arrays, making them independent
2264         from the endianness of the platform; tweak UCS4 to UCS-4BE.
2265
2266 2002-03-27  Benjamin Kosnik  <bkoz@redhat.com>
2267
2268         * include/bits/ostream.tcc (ostream::operator<<(_CharT)): Always
2269         allocate at least a byte.
2270
2271         * testsuite/18_support/numeric_limits.cc (test_extrema): Make
2272         debugger-friendly.
2273         * testsuite/27_io/streambuf.cc (test07): Fix.
2274         (test06): Enable.
2275
2276 2002-03-27  Phil Edwards  <pme@gcc.gnu.org>
2277
2278         * docs/doxygen/Intro.3:  Date tweak.
2279         * docs/doxygen/TODO:  Update.
2280         * docs/doxygen/doxygroups.cc:  Point to tables.html.
2281         * docs/doxygen/mainpage.html:  Date tweak.
2282         * docs/doxygen/run_doxygen:  Version tweak.  Copy tables.html over.
2283         * docs/doxygen/tables.html:  Fill in the blanks.
2284
2285         * docs/doxygen/user.cfg.in (ALIASES):  Remove maint and endmaint.
2286         * include/bits/stl_algo.h:  Likewise; use expanded form.
2287         * include/bits/stl_alloc.h:  Likewise.
2288         * include/bits/stl_construct.h:  Likewise.
2289         * include/bits/stl_deque.h:  Likewise.
2290         * include/bits/stl_iterator_base_types.h:  Likewise.
2291         * include/bits/stl_list.h:  Likewise.
2292         * include/bits/stl_relops.h:  Likewise.
2293         * include/bits/stl_tempbuf.h:  Likewise.
2294         * include/bits/stl_vector.h:  Likewise.
2295         * include/std/std_memory.h:  Likewise.
2296
2297         * include/bits/stl_deque.h:  Point into tables.html and add @ingroup.
2298         * include/bits/stl_list.h:  Likewise.
2299         * include/bits/stl_vector.h:  Likewise.
2300
2301 2002-03-26  Benjamin Kosnik  <bkoz@redhat.com>
2302
2303         * include/c/: Guard with _CPP_.
2304         * include/c_std/: Same.
2305         * include/Makefile.am: Fixup install, link routines for null
2306         c_base_headers_extra scenarios.
2307         * include/Makefile.in: Regerate.
2308
2309 2002-03-25  Paolo Carlini <pcarlini@unitus.it>
2310             Richard Henderson  <rth@redhat.com>
2311
2312         * testsuite/22_locale/codecvt_members_unicode_char.cc
2313         (test01, test02): make sure that the i_lit_base array
2314         is sufficiently aligned.
2315
2316 2002-03-25  Benjamin Kosnik  <bkoz@redhat.com>
2317
2318         * config/os/newlib/bits/ctype_noninline.h (ctype::classic): Set to
2319         _ctype_.
2320
2321 2002-03-25  Paolo Carlini  <pcarlini@unitus.it>
2322
2323         * testsuite/22_locale/collate_byname.cc
2324         (test01): compare the result of collate::compare with
2325         that of collate::transform + string::compare, not with
2326         that of collate::transform + collate::compare; values
2327         returned by collate::compare are normalized, therefore
2328         test against +-1.
2329
2330 2002-03-25  Benjamin Kosnik  <bkoz@redhat.com>
2331             Jakub Jelinek  <jakub@redhat.com>
2332
2333         * config/locale/gnu/messages_members.h: Correct conditional.
2334         * config/locale/gnu/messages_members.cc: Same.
2335         * config/locale/gnu/time_members.cc: Same.
2336
2337 2002-03-25  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2338             Paolo Carlini  <pcarlini@unitus.it>
2339
2340         * testsuite/22_locale/codecvt_members_unicode_char.cc
2341         (test01, test02): Fix i_lit_base arrays, making them
2342         independent from the endianness of the platform.
2343
2344 2002-03-22  Benjamin Kosnik  <bkoz@redhat.com>
2345
2346         * acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_SUPP): Just test for
2347         signbit and __signbit directly.
2348         * aclocal.m4: Regenerate.
2349         * configure: Regenerate.
2350         * config.h.in: Regenerate.
2351         * libmath/Makefile.am: Simplify.
2352         * libmath/Makefile.in: Regenerate.
2353         * include/c_std/std_cmath.h: Update paths for include of cmath.tcc.
2354
2355         * include/Makefile.am: Clean up handling of extra "C" header files.
2356         Add hooks for "C" compatibility headers.
2357         * include/Makefile.in: Regenerate.
2358
2359         * include/c/*: Formatting tweaks, cleanups.
2360         * include/c_std/*: Same.
2361
2362 2002-03-22  Benjamin Kosnik  <bkoz@redhat.com>
2363
2364         * config/locale/gnu/messages_members.h: Add __uselocale bits.
2365         * config/locale/gnu/messages_members.cc: Same.
2366         * config/locale/gnu/time_members.cc: Same.
2367
2368 2002-03-22  Benjamin Kosnik  <bkoz@redhat.com>
2369
2370         * src/vterminate.cc: Format, -fno-exceptions cleanup.
2371
2372 2002-03-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2373
2374         * acinclude.m4 (GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3): New.
2375         (GLIBCPP_CONFIGURE_TESTSUITE): Use it to check for setenv.
2376         * aclocal.m4: Regenerate.
2377         * configure: Likewise.
2378
2379 2002-03-19  Paolo Carlini  <pcarlini@unitus.it>
2380             Ulrich Drepper  <drepper@redhat.com>
2381
2382         * src/locale-inst.cc (__convert_from_v): Add an additional
2383         __size parameter in the declarations.
2384         * include/bits/locale_facets.tcc
2385         (__convert_from_v): When available (that is,
2386         _GLIBCPP_USE_C99 defined) use snprintf instead of sprintf.
2387         (num_put::_M_convert_float): Depending on _GLIBCPP_USE_C99
2388         being defined or not, call and use __convert_from_v in the
2389         appropriate way.
2390         (num_put::_M_convert_int): Same here.
2391         (money_put::do_put(long double)): Same here.
2392
2393 2002-03-19  Phil Edwards  <pme@gcc.gnu.org>
2394
2395         * docs/html/faq/index.html (#3.6):  Rewrap and close <a href> tags.
2396         * docs/html/faq/index.txt:  Regenerate.
2397
2398 2002-03-19  Steve Ellcey  <sje@cup.hp.com>
2399
2400         * acinclude.m4 (GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS): Define
2401         GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS to set LIBUNWIND_FLAG if
2402         --enable-libunwind-exceptions is set.
2403         * configure.in (GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS): Call new
2404         macro to check for libunwind.
2405         * configure: Regenerate.
2406         * src/Makefile.am (libstdc___la_LDFLAGS): Add
2407         LIBUNWIND_FLAG to libstdc link line.
2408         * src/Makefile.in: Regenerate.
2409
2410 2002-03-19  Benjamin Kosnik  <bkoz@redhat.com>
2411
2412         * docs/html/faq/index.html: Add OS X workaround.
2413         * docs/html/17_intro/TODO: Update.
2414
2415 2002-03-18  Paolo Carlini  <pcarlini@unitus.it>
2416
2417         * include/bits/locale_facets.tcc
2418         (money_put::do_put(long double)): Fix dimensioning of
2419         temporary buffers to avoid risk of overruns.
2420         (money_put::do_put(string)): Same for the buffer used to
2421         add the grouping chars.
2422         * testsuite/22_locale/money_put_members_char.cc: Add test06.
2423         * testsuite/22_locale/money_put_members_wchar_t.cc: Ditto.
2424
2425         * include/bits/locale_facets.tcc
2426         (collate::do_transform): Simplify.
2427
2428 2002-03-18  Phil Edwards  <pme@gcc.gnu.org>
2429
2430         * acinclude.m4 (GLIBCPP_CONFIGURE):  Make indentation/spacing uniform.
2431         * configure.in:  Add comments pointing the way for autoconf 2.5x.
2432         * aclocal.m4, config.h.in, configure:  Regenerate.
2433
2434 2002-03-18  Philipp Thomas  <pthomas@suse.de>
2435
2436         * include/backward/hash_map.h: hash, hashtable, hash_map and
2437         hash_multimap are in namespace __gnu_cxx.
2438         include/backward/hash_set.h: hash, hashtable, hash_set and
2439         hash_multiset are in namespace __gnu_cxx.
2440         include/backward/hashtable.h: hash and hashtable are in
2441         namespace __gnu_cxx.
2442         include/backward/rope.h: char_producer, sequence_buffer,
2443         rope, crope and wrope are in namespace __gnu_cxx.
2444         include/backward/slist.h: slist is in namespace __gnu_cxx.
2445         * testsuite/backward/header_hash_map_h.cc
2446         testsuite/backward/header_hash_set_h.cc
2447         testsuite/backward/header_hashtable_h.cc
2448         testsuite/backward/header_rope_h.cc
2449         testsuite/backward/header_slist_h.cc
2450         testsuite/backward/header_tempbuf_h.cc: New tests for
2451         checking that we're using the correct namespace.
2452
2453 2002-03-17  Jason Merrill  <jason@redhat.com>
2454
2455         PR c++/4381
2456         * libsupc++/eh_personality.cc (get_adjusted_ptr): New static fn.
2457         (check_exception_spec): Call it.  Take the thrown pointer.
2458         (__cxa_call_unexpected): Pass it.
2459         (PERSONALITY_FUNCTION): Likewise.  Use get_adjusted_ptr.
2460
2461 2002-03-15  Anthony Green  <green@redhat.com>
2462
2463         * configure.in: Remove useless is_mingw32.
2464         * configure: Rebuilt.
2465
2466 2002-03-15  Paolo Carlini  <pcarlini@unitus.it>
2467
2468         * testsuite/22_locale/collate_members_char.cc
2469         (test01): compare the result of collate::compare with
2470         that of collate::transform + string::compare, not with
2471         that of collate::transform + collate::compare.
2472         (test01): values returned by collate::compare are
2473         normalized, therefore test against +-1.
2474         * testsuite/22_locale/collate_members_wchar_t.cc: Ditto.
2475
2476 2002-03-12  Loren Rittle  <ljrittle@acm.org>
2477
2478         reported by Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
2479         * testsuite/thread/pthread4.cc: Lower nominal iteration counter.
2480
2481 2002-03-12  Benjamin Kosnik  <bkoz@redhat.com>
2482             Per Liboriussen  <liborius@stofanet.dk>
2483
2484         * config/os/gnu-linux/bits/ctype_noninline.h: Cast to
2485         unsigned char.
2486         * config/os/gnu-linux/bits/ctype_inline.h: Same.
2487
2488         * config/os/irix/irix6.5/bits/ctype_inline.h: Same.
2489
2490         * config/os/solaris/solaris2.5/bits/ctype_inline.h: Same.
2491         * config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.
2492
2493         * config/os/solaris/solaris2.6/bits/ctype_inline.h: Same.
2494         * config/os/solaris/solaris2.6/bits/ctype_noninline.h: Same.
2495
2496         * config/os/solaris/solaris2.7/bits/ctype_inline.h: Same.
2497         * config/os/solaris/solaris2.7/bits/ctype_noninline.h: Same.
2498
2499         * testsuite/22_locale/ctype_members_char.cc (main): Add tests.
2500
2501 2002-03-12  Benjamin Kosnik  <bkoz@redhat.com>
2502
2503         * include/bits/basic_string.tcc (string::_S_construct(_InIter,
2504         _InIter, const _Alloc&, forward_iterator_tag): Check for null.
2505         (string::basic_string(const _CharT* __s, const _Alloc& __a)): Same.
2506         * testsuite/21_strings/ctor_copy_dtor.cc (test01): Re-enable, now
2507         that memory limits are in place.
2508         (test03): Add tests.
2509
2510 2002-03-11  Benjamin Kosnik  <bkoz@redhat.com>
2511
2512         * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Check for wctype.h.
2513         * aclocal.m4: Regenerate.
2514         * config.h.in: Regenerate.
2515         * configure: Regenerate.
2516         * include/c_std/std_cwctype.h: Guard.
2517
2518 2002-03-11  Chris Demetriou  <cgd@broadcom.com>
2519
2520         * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Enhance check for
2521         whether GLIBCPP_CHECK_LINKER_FEATURES has been used.
2522         * aclocal.m4: Regenerate.
2523         * configure: Regenerate.
2524
2525 2002-03-11  Benjamin Kosnik  <bkoz@redhat.com>
2526
2527         * include/bits/stl_bvector.h: Fix warning.
2528
2529 2002-03-11  Richard Henderson  <rth@redhat.com>
2530
2531         * include/bits/stl_bvector.h (_Bit_type): New.  Use throughout.
2532
2533 2002-03-11  Phil Edwards  <pme@gcc.gnu.org>
2534
2535         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-list-sourcefiles):
2536         New function.  Build the list of tests to run in testsuite_files.
2537         * testsuite/libstdc++-v3.dg/dg.exp:  Use it.
2538
2539 2002-03-11  Phil Edwards  <pme@gcc.gnu.org>
2540
2541         * testsuite/21_strings/capacity.cc:  Only explicitly instantiate on
2542         platforms with no weak support.
2543         * testsuite/27_io/ios_init.cc:  Likewise.
2544
2545 2002-03-10  Paolo Carlini  <pcarlini@unitus.it>
2546
2547         * include/bits/locale_facets.tcc (time_put::do_put):
2548         Consider sizeof(char_type) in allocating the buffer.
2549
2550         * include/bits/locale_facets.tcc (collate::do_tranform):
2551         Remove redundant variable.
2552
2553 2002-03-10  Ulrich Drepper  <drepper@redhat.com>
2554             Paolo Carlini  <pcarlini@unitus.it>
2555
2556         * config/locale/generic/collate_members.cc
2557         (collate<char,wchar_t>::_M_compare_helper): normalize
2558         values returned by strcoll and wcscoll.
2559         * config/locale/gnu/collate_members.cc
2560         (collate<char,wchar_t>::_M_compare_helper): ditto
2561         for __strcoll_l and __wcscoll_l.
2562
2563 2002-03-10  Anthony Green  <green@redhat.com>
2564
2565         * configure.in: Support cross builds to mingw32 target.
2566         * configure: Rebuilt.
2567
2568 2002-03-09  Paolo Carlini  <pcarlini@unitus.it>
2569
2570         * include/bits/locale_facets.tcc (collate::do_transform):
2571         Rewrite to fix problems with long transformed strings.
2572
2573 2002-03-08  Benjamin Kosnik  <bkoz@redhat.com>
2574
2575         * c_locale_generic.cc: Move to...
2576         * generic/c_locale.cc
2577         * c_locale_generic.h: Move to...
2578         * generic/c_locale.h
2579         * codecvt_specializations_generic.h: Move to...
2580         * generic/codecvt_specializations.h
2581         * collate_members_generic.cc: Move to...
2582         * generic/collate_members.cc
2583         * ctype_members_generic.cc: Move to...
2584         * generic/ctype_members.cc
2585         * messages_members_generic.cc: Move to...
2586         * generic/messages_members.cc
2587         * messages_members_generic.h: Move to...
2588         * generic/messages_members.h
2589         * moneypunct_members_generic.cc: Move to...
2590         * generic/monetary_members.cc
2591         * numpunct_members_generic.cc: Move to...
2592         * generic/numeric_members.cc
2593         * time_members_generic.cc: Move to...
2594         * generic/time_members.cc
2595         * c_locale_gnu.cc: Move to...
2596         * gnu/c_locale.cc
2597         * c_locale_gnu.h: Move to...
2598         * gnu/c_locale.h
2599         * collate_members_gnu.cc: Move to...
2600         * gnu/collate_members.cc
2601         * ctype_members_gnu.cc: Move to...
2602         * gnu/ctype_members.cc
2603         * messages_members_gnu.cc: Move to...
2604         * gnu/messages_members.cc
2605         * messages_members_gnu.h: Move to...
2606         * gnu/messages_members.h
2607         * moneypunct_members_gnu.cc: Move to...
2608         * gnu/monetary_members.cc
2609         * numpunct_members_gnu.cc: Move to...
2610         * gnu/numeric_members.cc
2611         * time_members_gnu.cc: Move to...
2612         * gnu/time_members.cc
2613         * c_locale_ieee_1003.1-200x.cc: Move to...
2614         * ieee_1003.1-2001/c_locale.cc
2615         * c_locale_ieee_1003.1-200x.h: Move to...
2616         * ieee_1003.1-2001/c_locale.h
2617         * codecvt_specializations_ieee_1003.1-200x.h: Move to...
2618         * ieee_1003.1-2001/codecvt_specializations.h
2619         * messages_members_ieee_1003.1-200x.cc: Move to...
2620         * ieee_1003.1-2001/messages_members.cc
2621         * messages_members_ieee_1003.1-200x.h: Move to...
2622         * ieee_1003.1-2001/messages_members.h
2623
2624         * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Make consistent.
2625         * aclocal.m4: Regenerate.
2626         * configure: Regenerate.
2627         * src/Makefile.am (sources): Change to monetary and numeric.
2628         * src/Makefile.in: Regenerate.
2629         * docs/html/configopts.html: Update to ieee_1003.1-2001.
2630
2631 2002-03-08  scott snyder  <snyder@fnal.gov>
2632
2633         libstdc++/5875
2634         * include/bits/locale_facets.tcc (num_put::_M_convert_float):
2635         Allow one more digit of precision.
2636         * testsuite/27_io/ostream_inserter_arith.cc: Test that we can
2637         write a double and read back in the same value.
2638
2639 2002-03-08  Benjamin Kosnik  <bkoz@redhat.com>
2640
2641         * include/std/std_limits.h: Move static const data members out of
2642         generic template, into base class __numeric_limits_base.
2643         * src/limits.cc: Add definitions.
2644         * config/linker-map.gnu: Add __numeric_limits_base.
2645         * testsuite/18_support/numeric_limits.cc: Declare test in scope.
2646
2647 2002-03-07  Benjamin Kosnik  <bkoz@redhat.com>
2648
2649         * include/bits/stl_alloc.h: Add extern implicit allocator
2650         instantiations.
2651         * include/bits/basic_string.tcc: Tweak.
2652         * include/bits/locale_facets.tcc: Remove default args. Add
2653         has_facet, use_facet extern instantiations.
2654         * src/stl-inst.cc: Add explicit instantiation.
2655         * src/locale-inst.cc: Clean. Remove locale member template
2656         instantiations.
2657
2658         * testsuite/22_locale/operators.cc (test02): Enable.
2659
2660 2002-03-06  Benjamin Kosnik  <bkoz@redhat.com>
2661             Stephen M. Webb  <stephen.webb@bregmasoft.com>
2662
2663         * include/bits/stl_tree.h (_S_rb_tree_red): Make enum.
2664         (_S_rb_tree_black): Make enum.
2665         Clean. Format.
2666         * include/bits/stl_bvector.h (__WORD_BIT): To _M_word_bit, enum.
2667         * include/bits/stl_algo.h (__stl_chunk_size): _M_chunk_size, enum.
2668         (__stl_threshold): _M_threshold, enum.
2669         * src/stl-inst.cc: Same.
2670         * config/linker-map.gnu: Remove.
2671
2672         * testsuite/23_containers/vector_bool.cc: New.
2673
2674 2002-03-06  Phil Edwards  <pme@gcc.gnu.org>
2675
2676         * docs/doxygen/user.cfg.in:  Also document deprecated entries.
2677         * docs/html/Makefile:  Example rule to rebuild porting-howto.html.
2678         * docs/html/17_intro/howto.html:  "gcc"->"GCC" changes, when
2679         referring to the collection as a whole.  New section on which macros
2680         can be redefined by the user.
2681         * docs/html/19_diagnostics/howto.html:  Update note for concepts.
2682         * docs/html/20_util/howto.html:  Update link to SGI.
2683         * docs/html/faq/index.html:  Update snapshot versions.  New entry
2684         on why g++ (but not gcc) must currently predefine certain macros.
2685         * docs/html/faq/index.txt:  Regenerated.
2686
2687         * include/bits/basic_string.h (basic_string::_S_construct):  Fix
2688         names in declaration.
2689         (basic_string::compare):  These are no longer optional.
2690         * include/bits/ostream.tcc:  Tweak closing brace placement.
2691         * include/bits/stl_algo.h:  Lots of initial doxygen comment hooks.
2692         * include/std/std_sstream.h:  Fix typo in comment.
2693         * include/bits/locale_facets.tcc:  Remove unneeded header inclusion.
2694         * src/locale.cc:  Likewise.
2695
2696 2002-03-06  Phil Edwards  <pme@gcc.gnu.org>
2697
2698         PR libstdc++/5734
2699         * include/bits/stl_vector.h (vector::push_back()):  Guard with
2700         _GLIBCPP_DEPRECATED.
2701
2702 2002-03-06  Phil Edwards  <pme@gcc.gnu.org>
2703
2704         * include/bits/c++config:  Fix misplaced leading blanks on first line.
2705
2706 2002-03-05  Benjamin Kosnik  <bkoz@redhat.com>
2707
2708         * docs/html/17_intro/RELEASE-NOTES: Fix usage.
2709         * README (libmath): Make clear.
2710
2711 2002-03-05  Jakub Jelinek  <jakub@redhat.com>
2712
2713         * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Check for version
2714         script globbing in ld.
2715         * aclocal.m4: Rebuilt.
2716         * configure: Rebuilt.
2717
2718 2002-03-05  Benjamin Kosnik  <bkoz@redhat.com>
2719
2720         * docs/html/17_intro/RELEASE-NOTES: Update.
2721         * README: Format subdirectories.
2722
2723 2002-03-05  Paolo Carlini  <pcarlini@unitus.it>
2724
2725         libstdc++/5816
2726         * include/bits/locale_facets.tcc
2727         (num_get::_M_extract_float): Fix the parsing of __dec, since
2728         the standard prescribes that if no grouping characters are
2729         seen, no grouping check is applied.
2730         * testsuite/22_locale/num_get_members_char.cc: Add test05
2731         distilled from the PR.
2732         * testsuite/22_locale/num_get_members_wchar_t.cc: Ditto.
2733
2734 2002-03-04  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2735
2736         * docs/html/17_intro/porting-howto.xml: Refer to
2737         http://www.oasis-open.org for docbookx.dtd.
2738         * docs/html/17_intro/porting-howto.html: Regenerated.
2739
2740 2002-03-03  Phil Edwards  <pme@gcc.gnu.org>
2741
2742         PR libstdc++/3955
2743         * include/std/std_sstream.h:  Remove trailing spaces.
2744         (basic_stringbuf::_M_stringbuf_init):  Also check for ios_base::app.
2745         * testsuite/27_io/stringbuf.cc (test05, test06):  New tests.
2746
2747 2002-03-02  Paolo Carlini  <pcarlini@unitus.it>
2748
2749         * testsuite/22_locale/num_get_members_char.cc (test04):
2750         Use a named locale expecting grouping (de_DE).
2751         * testsuite/22_locale/num_get_members_wchar_t.cc (test04):
2752         Ditto.
2753         * testsuite/27_io/ios_manip_basefield.cc (test01):
2754         Extend coverage, uniform treatment of hexs and octs.
2755
2756 2002-02-28  Richard Henderson  <rth@redhat.com>
2757
2758         * config/linker-map.gnu: Export operator new with unsigned long,
2759         and with std::nothrow_t.  Likewise operator delete.
2760
2761 2002-02-28  Paolo Carlini  <pcarlini@unitus.it>
2762
2763         * include/bits/locale_facets.tcc (num_get::_M_extract_int):
2764         Admit grouping for octals and hexadecimals too.
2765         * testsuite/22_locale/num_get_members_char.cc: Add test04.
2766         (test01): Tweak "." -> "," in void* test.
2767         * testsuite/22_locale/num_get_members_wchar_t.cc: Ditto.
2768
2769         * testsuite/27_io/ios_manip_basefield.cc: Remove static keyword.
2770         * testsuite/27_io/ios_manip_fmtflags.cc: Remove two of them.
2771
2772 2002-02-27  Paolo Carlini  <pcarlini@unitus.it>
2773
2774         * testsuite/27_io/ios_manip_basefield.cc (test01):
2775         Fix for 64 bit machines.
2776
2777 2002-02-26  Benjamin Kosnik  <bkoz@redhat.com>
2778
2779         libstdc++/3983
2780         * include/bits/basic_ios.tcc (basic_ios::init): Set _M_fill to zero.
2781         Adjust comment.
2782         * include/bits/basic_ios.h (basic_ios::_M_fill): Make mutable.
2783         (basic_ios::_M_fill_init): New.
2784         (basic_ios::fill()): Delay dealing with _M_fill.
2785         Adjust comment.
2786         * ios.cc (ios_base::ios_base()): Initialize _M_callbacks, _M_words.
2787         (ios_base::_M_call_callbacks): Adjust.
2788         * testsuite/27_io/ios_init.cc (test02): Adjust testcase.
2789
2790 2002-02-26  Loren Rittle  <ljrittle@acm.org>
2791
2792         * include/Makefile.am (thread_target_headers): Unconditionally
2793         stage and install gthr-posix.h.
2794         (${target_builddir}/gthr-posix.h): New rule cloned off
2795         ${target_builddir}/gthr-default.h.
2796         (${target_builddir}/gthr-default.h): Support chained inclusion
2797         of gthr support headers.
2798         * include/Makefile.in: Rebuilt.
2799
2800 2002-02-26  Paolo Carlini  <pcarlini@unitus.it>
2801
2802         * include/bits/locale_facets.tcc (num_put::_M_widen_int):
2803         Group all the integral types, not only decs.
2804         * testsuite/27_io/ios_manip_basefield.cc (test01): Tweak existing
2805         tests, add a few more.
2806
2807 2002-02-25  Benjamin Kosnik  <bkoz@redhat.com>
2808
2809         * src/ios.cc (ios_base::~ios_base): Tweak.
2810         (ios_base::_M_call_callbacks): Deal with null __p.
2811         (ios_base::ios_base): Set _M_callbacks.
2812         * include/bits/basic_ios.tcc (basic_ios::init): Adjust comment.
2813         * testsuite/27_io/ios_init.cc (test02): Fix.
2814
2815         * mkcheck.in (static_fail): Failed links go to output file.
2816
2817 2002-02-25  Phil Edwards  <pme@gcc.gnu.org>
2818
2819         * docs/html/faq/index.html:  Update.
2820         * docs/html/faq/index.txt:  Regenerate.
2821
2822 2002-02-22  Phil Edwards  <pme@gcc.gnu.org>
2823
2824         * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS):  Fix comment.
2825         * aclocal.m4:  Regenerate.
2826         * docs/html/configopts.html:  Document --enable-symvers.
2827         * config/linker-map.gnu:  Break libsupc++ symbols out to their own tag.
2828
2829 2002-02-22  Philipp Thomas  <pthomas@suse.de>
2830
2831         * include/backward/tempbuf.h: get_temporary_buffer and
2832         return_temporary_buffer are in namespace std, not in __gnu_cxx.
2833
2834 2002-02-21  Benjamin Kosnik  <bkoz@redhat.com>
2835
2836         * configure.in (target_alias): Default to yes.
2837         * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Add check for shared
2838         libgcc to default case.
2839
2840 2002-02-20  Phil Edwards  <pme@gcc.gnu.org>
2841
2842         * acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES):  Also check version.
2843         (GLIBCPP_ENABLE_SYMVERS):  Redo logic, use linker version.
2844         * configure.in (GLIBCPP_ENABLE_SYMVERS):  Move later in the script.
2845         * aclocal.m4:  Regenerate.
2846         * configure:  Regenerate.
2847         * config/linker-map.dummy:  New file.  Contains nothing useful.
2848
2849 2002-02-20  Benjamin Kosnik  <bkoz@redhat.com>
2850
2851         * testsuite/22_locale/money_put_members_char.cc: Fix.
2852         * testsuite/22_locale/money_put_members_wchar_t.cc: Fix.
2853
2854         * testsuite/27_io/standard_manipulators.cc: New file.
2855
2856         * testsuite/27_io/ios_manip_basefield.cc: Check results, now failing.
2857         * testsuite/27_io/ios_manip_fmtflags.cc: Use locale::classic().
2858
2859 2002-02-20  Danny Smith  <dannysmith@users.sourceforge.net>
2860
2861         * config/os/mingw32/bits/ctype_noninline.h
2862         (ctype<char>::ctype): Remove default args from parm list.
2863         * config/os/djgpp/bits/ctype_noninline.h: Same.
2864
2865 2002-02-19  Benjamin Kosnik  <bkoz@redhat.com>
2866
2867         * include/std/std_iomanip.h: Inline, tweaks.
2868         * config/linker-map.gnu: Remove hacks.
2869
2870         * testsuite/21_strings/capacity.cc: Add explicit instantiations.
2871         * testsuite/27_io/ios_init.cc: Same.
2872         * testsuite/22_locale/money_get_members_char.cc (test07): Fix.
2873         * testsuite/22_locale/money_get_members_wchar_t.cc (test07): Same.
2874
2875 2002-02-19  Benjamin Kosnik  <bkoz@redhat.com>
2876
2877         * config/linker-map.gnu: Export global vtable, typeinfo, guard
2878         variable, and thunk info as per CXXABI docs.
2879
2880 2002-02-19  Loren Rittle <ljrittle@acm.org>
2881
2882         * include/Makefile.am: Use CONFIG_HEADER instead of ad hoc names.
2883         * include/Makefile.in: Rebuilt.
2884
2885 2002-02-18  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
2886
2887         * testsuite/22_locale/collate_byname.cc (test01): Replace size4
2888           with size3 for the string collations of str5.
2889
2890 2002-02-18  Paolo Carlini  <pcarlini@unitus.it>
2891
2892         libstdc++/5708
2893         * include/bits/locale_facets.tcc (money_put::do_put):
2894         For the space field use __fill instead of ' ', uniformly.
2895         * testsuite/22_locale/money_put_members_char.cc:
2896         Add test05 distilled from PR.
2897         (test01-02-03): Trim some '*' to ' '.
2898         * testsuite/22_locale/money_put_members_wchar_t.cc: Ditto.
2899
2900 2002-02-18  Loren Rittle <ljrittle@acm.org>
2901
2902         libstdc++/5697
2903         * include/Makefile.am (thread_builddir): Remove (map all
2904         existing uses to target_builddir).
2905         (thread_headers): Rename to...
2906         (thread_target_headers): ...this.
2907         (stamp-thread): Remove.
2908         (stamp-target): Correctly state the position as built.
2909         Update all dependencies to match the new reality.  Remove all
2910         dependency calculations on directories.
2911         * include/Makefile.in: Rebuilt.
2912
2913 2002-02-16   Benjamin Kosnik  <bkoz@redhat.com>
2914
2915         * include/bits/locale_facets.tcc: Add pragma GCC system_header.
2916         * include/bits/fstream.tcc: Same.
2917         * include/bits/sstream.tcc: Same.
2918         * include/bits/ostream.tcc: Same.
2919         * include/bits/istream.tcc: Same.
2920         * include/bits/streambuf.tcc: Same.
2921         * include/bits/basic_ios.tcc: Same.
2922         * include/bits/basic_string.tcc: Same.
2923
2924 2002-02-15  Benjamin Kosnik  <bkoz@redhat.com>
2925
2926         * include/std/std_iosfwd.h: Don't guard typedefs with
2927         _GLIBCPP_USE_WCHAR_T
2928         * include/bits/stringfwd.h: Same.
2929
2930 2002-02-15  Benjamin Kosnik  <bkoz@redhat.com>
2931
2932         * src/locale.cc (moneypunct_byname): Remove definitions.
2933         * include/std/std_streambuf.h (streambuf::operator=): Return.
2934
2935 2002-02-15  Benjamin Kosnik  <bkoz@redhat.com>
2936
2937         Tune for size.
2938         * src/string-inst.cc (string::_Rep::_S_terminal): Remove redundant
2939         explicit instantiation.
2940         (string::_Rep::_S_max_size): Same.
2941         * include/bits/basic_string.tcc: Add extern explicit
2942         instantiations for string, wstring.
2943         * include/bits/basic_ios.tcc: Add extern explicit instantiations
2944         for ios, wios.
2945         * include/bits/streambuf.tcc: Same, for streambuf, wstreambuf.
2946         * include/bits/istream.tcc: Same, for istream, wistream.
2947         * include/bits/ostream.tcc: Same for ostream, wostream, iostream,
2948         wiostream.
2949         * include/bits/sstream.tcc: Same, for stringbuf, wstringbuf,
2950         istringstream, wistringstream, ostringstream, wostringstream,
2951         stringstream, wstringstream.
2952         * include/bits/fstream.tcc: Same, for filebuf, wfilebuf, ifstream,
2953         wifstream, ofstream, wofstream, fstream, wfstream.
2954         * src/misc-inst.cc: Correct comments.
2955         Add iomanip instantiations for wide streams.
2956         * include/std/std_iomanip.h: Same.
2957         * include/bits/locale_facets.tcc: Same.
2958
2959         * include/std/std_streambuf.h: Correct
2960         _GLIBCPP_FULLY_COMPLIANT_HEADERS guard.
2961         * include/std/std_sstream.h: Same.
2962         * include/std/std_ostream.h: Same.
2963         * include/std/std_istream.h: Same.
2964         * include/std/std_fstream.h: Same.
2965
2966         * include/std/std_streambuf.h: Add definitions for private copy
2967         ctor and assignment operator.
2968         * include/std/std_istream.h: Remove declared but undefined copy
2969         ctor and assignment operator. This is taken care of in ios_base,
2970         so adding it in the derived class as well is superfluous.
2971         * include/std/std_ostream.h: Same.
2972
2973         * include/bits/basic_ios.h (basic_ios::clear): Don't inline.
2974         * include/bits/basic_ios.tcc (basic_ios::clear): Move definition here.
2975
2976 2002-02-14  Benjamin Kosnik  <bkoz@redhat.com>
2977
2978         * config/linker-map.gnu: Change tag from GCC_3.1 to GLIBCPP_3.1.
2979         Add typeinfo bits. Smooth.
2980         * aclocal.m4: Regenerate.
2981         * configure: Same.
2982         * src/Makefile.in: Same.
2983
2984 2001-02-14  Joel Sherrill  <joel@OARcorp.com>
2985
2986         * config/cpu/m68k/bits/atomicity.h: Corrected for RTEMS targets
2987         which do not have a CAS instruction.
2988
2989 2002-02-14  Phil Edwards  <pme@gcc.gnu.org>
2990
2991         * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS):  New macro, initial revision.
2992         * configure.in:  Call it.
2993         * config/linker-map.gnu:  New file, initial incomplete revision.
2994         * src/Makefile.am:  Optionally pass version script to the linker.
2995         * aclocal.m4:  Regenerate.
2996         * configure:  Regenerate.
2997         * src/Makefile.in:  Regenerate.
2998
2999 2002-02-13  Benjamin Kosnik  <bkoz@redhat.com>
3000
3001         * src/localename.cc: Remove stdexcept include.
3002         * src/locale-inst.cc: Same.
3003         * src/locale.cc: Same.
3004         * src/functexcept.cc: Remove string includes.
3005         * include/std/std_bitset.h: Remove stdexcept include.
3006         * testsuite/23_containers/bitset_members.cc: Add stdexcept.
3007         * testsuite/23_containers/bitset_ctor.cc: Same.
3008
3009 2002-02-11  Benjamin Kosnik  <bkoz@redhat.com>
3010
3011         * include/bits/stl_algo (__stl_threshold): Declare external.
3012         (__stl_chunk_size): Same.
3013         * include/bits/stl_bvector.h (__WORD_BIT): Same.
3014         * include/bits/stl_tree.h (_S_rb_tree_red): Same.
3015         (_S_rb_tree_black): Same.
3016         * src/stl-inst.cc (__stl_threshold): Define.
3017         (__stl_chunk_size): Same.
3018         (__WORD_BIT): Same.
3019         (_S_rb_tree_red): Same.
3020         (_S_rb_tree_black): Same.
3021
3022         * config/io/basic_file_libio.h (__basic_file): Add declarations.
3023         * include/bits/basic_file.h: Remove.
3024         * config/io/c_io_stdio.h: Remove _GLIBCPP_BASIC_FILE_ENCAPSULATION
3025         Declare generic types, specialization.
3026         * config/io/basic_file_stdio.cc: Definitions.
3027         * config/io/c_io_libio.h: Remove _GLIBCPP_BASIC_FILE_INHERITANCE.
3028         Declare generic types.
3029         * include/Makefile.am (bits_headers): Remove basic_file.h.
3030         (extra_target_headers): Change basic_file_model.h to basic_file.h.
3031         (stamp-target): Same.
3032
3033         * include/bits/stl_alloc.h: Tweaks.
3034         * include/bits/localefwd.h: Same.
3035
3036 2002-02-11  Aaron W LaFramboise  <AWLaFramboise@aol.com>
3037
3038         * include/bits/locale_facets.tcc (collate::do_hash): Fix.
3039         * testsuite/22_locale/collate_members_char.cc (test03): New test.
3040         * testsuite/22_locale/collate_members_wchar_t.cc (test03): Same.
3041
3042 2002-02-10  Phil Edwards  <pme@gcc.gnu.org>
3043
3044         * include/bits/stl_algo.h (transform (both signatures), generate_n):
3045         Use __typeof__ in concept checks.
3046
3047 2002-02-10  Jonathan Wakely  <cow@compsoc.man.ac.uk>
3048
3049         * include/bits/stl_algo.h (__median, for_each, find, find_if,
3050         adjacent_find, count, count_if, search, search_n, swap_ranges,
3051         transform, replace, replace_if, replace_copy, replace_copy_if,
3052         generate, generate_n, remove_copy, remove_copy_if, remove, remove_if,
3053         unique, unique_copy, reverse, reverse_copy):  Doxygenate.
3054
3055 2002-02-08  Benjamin Kosnik  <bkoz@redhat.com>
3056
3057         * include/bits/locale_facets.h
3058         (numpunct<_CharT>::_M_initialize_numpunct): Remove definition.
3059         (__timepunct<_CharT>::_M_initialize_timepunct): Same.
3060         (__timepunct<_CharT>::_M_put_helper): Same.
3061         (moneypunct<_CharT, _Intl>::_M_initialize_moneypunct): Same.
3062
3063         * include/bits/fstream.tcc (filebuf::underflow): Remove
3064         __codecvt_type typedef.
3065         (filebuf::_M_convert_to_external): Same.
3066
3067 2002-02-08  Phil Edwards  <pme@gcc.gnu.org>
3068
3069         * docs/doxygen/TODO:  Update.
3070         * docs/doxygen/doxygroups.cc:  Tweak __gnu_cxx description.
3071         * docs/doxygen/mainpage.html:  Add TODO list link.
3072         * docs/doxygen/user.cfg.in:  Add @doctodo hook.
3073         * docs/doxygen/tables.html:  New file, emoty structure only.
3074
3075         * include/bits/stl_iterator.h:  Doxygenate just about everything.
3076         * include/bits/stl_iterator_base_funcs.h:  Ditto, clean up spaces.
3077         * include/bits/stl_iterator_base_types.h:  Add notes.
3078
3079 2002-02-07  Stephan Buys  <sbproxy@icon.co.za>
3080
3081         * include/bits/stl_map.h:  Tweak doxygen markup.
3082         * include/bits/stl_multimap.h:  Doxygenate and remove extra spaces.
3083         * include/bits/stl_vector.h:  Likewise.
3084
3085 2002-02-07  Benjamin Kosnik  <bkoz@redhat.com>
3086
3087         libstdc++/5286
3088         libstdc++/3860
3089         * include/std/std_fstream.h (filebuf::__file_type): Change to
3090         __basic_file<char>.
3091         (filebuf::_M_convert_to_external): Declare.
3092         * include/bits/fstream.tcc (filebuf::_M_convert_to_external): Define
3093         codecvt bits for wide streams.
3094         (filebuf::_M_really_overflow): Use it.
3095         (filebuf::underflow): Use codecvt.
3096         * config/locale/codecvt_specializations_ieee_1003.1-200x.h:
3097         (codecvt<__enc_traits>::do_out): Deal with partial.
3098         (codecvt<__enc_traits>::do_encoding): Return something useful.
3099         * src/codecvt.cc (codecvt<wchar_t>::do_encoding): Return sizeof
3100         wchar_t.
3101         * testsuite/22_locale/codecvt_members_unicode_char.cc (test01):
3102         Change expected encoding output.
3103         (test02): Same.
3104         * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test01): Same.
3105         (test02): Same.
3106
3107 2002-02-07  Benjamin Kosnik  <bkoz@redhat.com>
3108             Wolfgang Bangerth  <wolfgang.bangerth@iwr.uni-heidelberg.de>
3109
3110         * include/bits/basic_ios.tcc (basic_ios::narrow): Add default value.
3111         (basic_ios::widen): Same.
3112
3113 2002-02-07  Paolo Carlini  <pcarlini@unitus.it>
3114
3115         * testsuite/22_locale/money_get_members_char.cc:
3116         Add comment, tidy up.
3117         (test01): more "en_HK" tests (without showbase).
3118         * testsuite/22_locale/money_get_members_wchar_t.cc: Ditto.
3119
3120 2002-02-06  Loren Rittle <ljrittle@acm.org>
3121
3122         * config/locale/c_locale_generic.cc: Do not trust
3123         _GLIBCPP_HAVE_STRTOF or _GLIBCPP_HAVE_STRTOLD as
3124         set by configure.
3125
3126 2002-02-06  Loren Rittle <ljrittle@acm.org>
3127
3128         * acinclude.m4: Add C++ linkage check for strtof.
3129         * aclocal.m4: Rebuilt.
3130         * config.h.in: Rebuilt.
3131         * configure: Rebuilt.
3132         * config/locale/c_locale_generic.cc: Conditionally include
3133         <ieeefp.h>.  Improve handling and error checking of float
3134         and long double input for non-C99 configurations.
3135
3136 2002-02-06  Paolo Carlini  <pcarlini@unitus.it>
3137
3138         * include/bits/locale_facets.tcc (money_get::do_get(string)):
3139         In case money_base::symbol deal properly with multi-char sign
3140         for patterns {X,Y,Z,symbol} and {X,Y,symbol,none}.
3141         * testsuite/22_locale/money_get_members_char.cc: Add test07.
3142         * testsuite/22_locale/money_get_members_wchar_t.cc: Add test07.
3143
3144 2002-02-05  Paolo Carlini  <pcarlini@unitus.it>
3145
3146         * include/bits/locale_facets.tcc (money_get::do_get(string)):
3147         First construct a tentative returned string, then, only if the
3148         parsing succeeds, copy it into the string passed by reference.
3149         * testsuite/22_locale/money_get_members_char.cc: Add test06.
3150         * testsuite/22_locale/money_get_members_wchar_t.cc: Add test06.
3151
3152 2002-02-04  Phil Edwards  <pme@gcc.gnu.org>
3153
3154         * docs/doxygen/TODO:  Impl-defined behavior now documented...
3155         * docs/html/17_intro/howto.html:  ...here.
3156         * docs/doxygen/mainpage.doxy:  Remove, rename...
3157         * docs/doxygen/mainpage.html:  ...to this.  Tweak HTML, add license.
3158         * docs/doxygen/style.css:  Add small text.
3159         * docs/doxygen/run_doxygen:  Adjust for new mainpage.
3160         * docs/doxygen/user.cfg.in:  Likewise.
3161
3162 2002-02-04  Stephan Buys  <sbproxy@icon.co.za>
3163
3164         * include/bits/stl_map.h:  Initial doxygen markup.
3165         * include/std/std_fstream.h:  Initial doxygen markup.
3166
3167 2002-02-04  Paolo Carlini  <pcarlini@unitus.it>
3168
3169         libstdc++/5579
3170         * include/bits/locale_facets.tcc (money_get::do_get(string)):
3171         Deal correctly with !(__io.flags() & ios_base::showbase)
3172         for case money_base::symbol.
3173         * testsuite/22_locale/money_get_members_char.cc: Add test05.
3174         * testsuite/22_locale/money_get_members_wchar_t.cc: Add test05.
3175
3176 2002-02-02  Paolo Carlini  <pcarlini@unitus.it>
3177
3178         * testsuite/22_locale/operators.cc
3179         (gnu_collate::do_compare()): Add return statement to
3180         suppress "no return statement" warning.
3181
3182 2002-02-01  Paolo Carlini  <pcarlini@unitus.it>
3183
3184         * testsuite/27_io/ostream_manip.cc: Enable test02.
3185
3186 2002-02-01  Phil Edwards  <pme@gcc.gnu.org>
3187
3188         * docs/html/documentation.html:  Update for 3.0.96.
3189         * docs/html/faq/index.html:  Update for 3.0.96.
3190         * docs/html/faq/index.txt:  Regenerated.
3191         * docs/doxygen/TODO:  Update notes.
3192         * docs/html/17_intro/howto.html:  Initial impl-specific listing.
3193
3194 2002-01-31  Benjamin Kosnik  <bkoz@redhat.com>
3195
3196         * config/locale/codecvt_specializations_ieee_1003.1-200x.h:
3197         Initialize all data members in copy ctor. Make ctors explicit.
3198         (__enc_traits::__enc_traits()): Default ctor does nothing.
3199         (__enc_traits::_M_init): Guard against multiple iconv_opens.
3200         * include/std/std_sstream.h (basic_stringbuf): Make data members
3201         protected.
3202         * include/std/std_fstream.h (basic_filebuf): Same.
3203         * include/std/std_streambuf.h: Tweak.
3204         * include/bits/streambuf.tcc: Same.
3205         * include/bits/sstream.tcc: Same.
3206         * include/bits/fstream.tcc: Same.
3207
3208 2002-01-31  Loren Rittle <ljrittle@acm.org>
3209
3210         * testsuite/22_locale/codecvt_members_char_char.cc: Do not
3211         allow NULL argument to be passed to setenv().
3212         * testsuite/22_locale/codecvt_members_wchar_t_char.cc: Likewise.
3213         * testsuite/22_locale/collate_members_char.cc: Likewise.
3214         * testsuite/22_locale/collate_members_wchar_t.cc: Likewise.
3215         * testsuite/22_locale/ctype_members_char.cc: Likewise.
3216         * testsuite/22_locale/ctype_members_wchar_t.cc: Likewise.
3217         * testsuite/22_locale/messages_members_char.cc: Likewise.
3218         * testsuite/22_locale/money_get_members_char.cc: Likewise.
3219         * testsuite/22_locale/money_get_members_wchar_t.cc: Likewise.
3220         * testsuite/22_locale/money_put_members_char.cc: Likewise.
3221         * testsuite/22_locale/money_put_members_wchar_t.cc: Likewise.
3222         * testsuite/22_locale/moneypunct_members_char.cc: Likewise.
3223         * testsuite/22_locale/moneypunct_members_wchar_t.cc: Likewise.
3224         * testsuite/22_locale/num_get_members_char.cc: Likewise.
3225         * testsuite/22_locale/num_get_members_wchar_t.cc: Likewise.
3226         * testsuite/22_locale/num_put_members_char.cc: Likewise.
3227         * testsuite/22_locale/num_put_members_wchar_t.cc: Likewise.
3228         * testsuite/22_locale/numpunct_members_char.cc: Likewise.
3229         * testsuite/22_locale/numpunct_members_wchar_t.cc: Likewise.
3230         * testsuite/22_locale/time_get_members_char.cc: Likewise.
3231         * testsuite/22_locale/time_get_members_wchar_t.cc: Likewise.
3232         * testsuite/22_locale/time_put_members_char.cc: Likewise.
3233         * testsuite/22_locale/time_put_members_wchar_t.cc: Likewise.
3234
3235 2002-01-30  Benjamin Kosnik  <bkoz@redhat.com>
3236
3237         * config/locale/c_locale_gnu.cc: Same errno fixes as generic.
3238
3239         * ChangeLog-2001: Fix spelling errors...
3240         * docs/html/17_intro/RELEASE-NOTES: Update.
3241         * docs/html/17_intro/TODO: Update.
3242         * README (file): Update.
3243
3244 2002-01-30  Loren Rittle <ljrittle@acm.org>
3245
3246         * config/locale/c_locale_generic.cc: Check errno for ERANGE
3247         instead of non-zero to aid portability.
3248
3249 2002-01-30  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
3250
3251         * docs/html/22_locale/messages.html: Fix example code.
3252
3253 2002-01-30  Richard Henderson  <rth@redhat.com>
3254
3255         * testsuite/27_io/ostream_inserter_arith.cc (test03_check): Break
3256         out from test03 and templatize.
3257         (test03): Use it.
3258
3259 2002-01-30  Paolo Carlini  <pcarlini@unitus.it>
3260
3261         * config/locale/numpunct_members_gnu.cc
3262         (numpunct<char, wchar_t>::_M_initialize_numpunct()):
3263         Fix initialization of _M_grouping for locales which have
3264         _M_thousands_sep == '\0'(L'\0', respectively).
3265         * testsuite/22_locale/numpunct_byname.cc (test02): Add test.
3266
3267 2002-01-30  Paolo Carlini  <pcarlini@unitus.it>
3268
3269         * testsuite/27_io/ostream_inserter_arith.cc (test03):
3270         Better fix for 32/64 bit architectures, avoiding the
3271         implicit assumption that CHAR_BIT == 8.
3272
3273 2002-01-28  Phil Edwards  <pme@gcc.gnu.org>
3274
3275         * Makefile.am (doxygen, doxygen-maint, doxygen-man):  Tweak targets.
3276         * Makefile.in:  Regenerate.
3277
3278         * docs/doxygen/run_doxygen:  Update, mostly for man pages.
3279         * docs/doxygen/Intro.3:  Update.
3280         * docs/doxygen/TODO:  Update.
3281         * docs/doxygen/doxygroups.cc:  Add namespace hook for __gnu_cxx.
3282         * docs/doxygen/mainpage.doxy:  Update.
3283         * docs/doxygen/user.cfg.in:  Update for header rename.  Also
3284         regenerate comments and variables with 1.2.12.
3285         * docs/doxygen/maint.cfg.in:  Remove file.
3286
3287         * include/bits/stl_relops.h:  Doxygenate.
3288         * include/bits/stl_tempbuf.h (std::_Temporary_buffer):  Likewise.
3289
3290         * include/c_std/std_cassert.h, include/c_std/std_cctype.h,
3291         include/c_std/std_cerrno.h, include/c_std/std_cfloat.h,
3292         include/c_std/std_ciso646.h, include/c_std/std_climits.h,
3293         include/c_std/std_clocale.h, include/c_std/std_cmath.h,
3294         include/c_std/std_csetjmp.h, include/c_std/std_csignal.h,
3295         include/c_std/std_cstdarg.h, include/c_std/std_cstddef.h,
3296         include/c_std/std_cstdio.h, include/c_std/std_cstdlib.h,
3297         include/c_std/std_cstring.h, include/c_std/std_ctime.h,
3298         include/c_std/std_cwchar.h, include/c_std/std_cwctype.h,
3299         include/ext/algorithm, include/ext/functional, include/ext/hash_map,
3300         include/ext/hash_set, include/ext/iterator, include/ext/memory,
3301         include/ext/numeric, include/ext/rb_tree, include/ext/rope,
3302         include/ext/ropeimpl.h, include/ext/slist, include/ext/stl_hash_fun.h,
3303         include/ext/stl_hashtable.h, include/ext/stl_rope.h,
3304         include/std/std_algorithm.h, include/std/std_bitset.h,
3305         include/std/std_complex.h, include/std/std_deque.h,
3306         include/std/std_fstream.h, include/std/std_functional.h,
3307         include/std/std_iomanip.h, include/std/std_ios.h,
3308         include/std/std_iosfwd.h, include/std/std_iostream.h,
3309         include/std/std_istream.h, include/std/std_iterator.h,
3310         include/std/std_limits.h, include/std/std_list.h,
3311         include/std/std_locale.h, include/std/std_map.h,
3312         include/std/std_memory.h, include/std/std_numeric.h,
3313         include/std/std_ostream.h, include/std/std_queue.h,
3314         include/std/std_set.h, include/std/std_sstream.h,
3315         include/std/std_stack.h, include/std/std_stdexcept.h,
3316         include/std/std_streambuf.h, include/std/std_string.h,
3317         include/std/std_utility.h, include/std/std_valarray.h,
3318         include/std/std_vector.h:  Add/correct @file doxygen hook.
3319
3320         * include/ext/memory:  Doxygenate most of rest of file.
3321         * libsupc++/exception:  Doxygen output formatting.
3322         * libsupc++/new:  Say which header it is.
3323
3324         * testsuite/lib/libstdc++-v3-dg.exp:  Fix spacing.
3325         * docs/html/19_diagnostics/howto.html:  Describe concept-checks switch.
3326         * docs/html/23_containers/howto.html:  Describe O(n) list::size().
3327         * docs/html/27_io/howto.html:  Also link to Langer and Kreft text.
3328
3329 2002-01-28  Paolo Carlini  <pcarlini@unitus.it>
3330             Charles Leggett <CGLeggett@lbl.gov>
3331
3332         * testsuite/27_io/filebuf_members.cc (test_05): Add test.
3333
3334 2002-01-28  Paolo Carlini  <pcarlini@unitus.it>
3335
3336         * testsuite/27_io/ostream_inserter_arith.cc (test03):
3337         Fix to deal correctly with both 32 bit and 64 bit architectures
3338
3339 2002-01-25  Loren Rittle <ljrittle@acm.org>
3340
3341         * testsuite/thread/pthread1.cc: Use one condition variable
3342         per predicate instead of tricky use of one condition variable.
3343
3344 2002-01-25  Benjamin Kosnik  <bkoz@redhat.com>
3345
3346         * include/bits/fstream.tcc (filebuf::close()): Fix close for input
3347         streams.
3348         (filebuf::_M_really_overflow): Match indeterminate and sync calls.
3349         * testsuite/27_io/filebuf.cc: Compile only.
3350         * testsuite/27_io/filebuf_members.cc: Move tests to here.
3351         * testsuite/27_io/filebuf_virtuals.cc: And here.
3352         Revert sungetc, sync changes for expected values.
3353         * testsuite/27_io/filebuf-*: Move to...
3354         * testsuite/27_io/filebuf_virtuals-*: ...here.
3355         * testsuite/27_io/istream.cc: Compile only, activate.
3356         * testsuite/27_io/ostream.cc: Same.
3357         * testsuite/27_io/iostream.cc: New.
3358         * testsuite/27_io/iostream_members.cc: New.
3359
3360 2002-01-25  David Billinghurst <David.Billinghurst@riotinto.com>
3361
3362         * testsuite/thread/pthread1.cc: Enable on cygwin.
3363         * testsuite/thread/pthread2.cc: Likewise.
3364         * testsuite/thread/pthread3.cc: Likewise.
3365         * testsuite/thread/pthread4.cc: Likewise.
3366         * testsuite/thread/pthread5.cc: Likewise.
3367         * testsuite/thread/pthread6.cc: Likewise.
3368
3369 2002-01-24  Benjamin Kosnik  <bkoz@redhat.com>
3370
3371         * testsuite/27_io/ostream_inserter_char.cc (test07): New.
3372
3373 2002-01-24  Benjamin Kosnik  <bkoz@redhat.com>
3374
3375         * include/bits/basic_ios.h (basic_ios::_M_check_facet): Make
3376         const, tweak.
3377         (basic_ios::fill(char_type)): Use fill().
3378         * include/bits/basic_ios.tcc (basic_ios::widen): Use _M_check_facet.
3379         (basic_ios::narrow): Same.
3380         (basic_ios::_M_cache_facets): Explicitly set cached facets to zero
3381         if they are invalid.
3382         (basic_ios::init): Comment.
3383         * testsuite/27_io/ios_init.cc (test02): New.
3384
3385 2002-01-24  Phil Edwards  <pme@gcc.gnu.org>
3386
3387         * include/bits/stl_tempbuf.h (_Temporary_buffer):  Add doxygen hook.
3388         * include/bits/stl_algo.h:  Include stl_tempbuf.h.
3389         * include/ext/memory:  Do not include stl_tempbuf.h.
3390         (temporary_buffer):  Add doxygen hook.
3391         (__get_temporary_buffer, get_temporary_buffer,
3392         return_temporary_buffer):  Move back to std:: header...
3393         * include/std/std_memory.h:  ...here.  Do not include stl_tempbuf.h.
3394         * include/ext/rope:  Do not include stl_tempbuf.h.
3395         * include/ext/stl_hashtable.h:  Likewise.
3396         * include/std/std_algorithm.h:  Likewise.
3397         * testsuite/20_util/temporary_buffer.cc:  New file.
3398
3399 2002-01-24  andrew@andypo.net
3400             (tweaks, test and commit by Loren J. Rittle  <ljrittle@acm.org>)
3401
3402         libstdc++/5432
3403         * include/bits/ios_base.h: Use _Atomic_word for reference counts.
3404         * include/bits/localefwd.h: Likewise.
3405         Also use for std::locale::id::_S_highwater.
3406         * src/ios.cc (ios_base::xalloc): Use _Atomic_word.
3407         * src/locale.cc: Support new usage of _Atomic_word.
3408         (std::locale::classic): Guard entire function against reentry.
3409         * src/localename.cc: Support new usage of _Atomic_word.
3410
3411 2002-01-24   Benjamin Kosnik  <bkoz@redhat.com>
3412
3413         * testsuite/22_locale/num_put_members_wchar_t.cc (test03): Use
3414         _GLIBCPP_HAVE_SETENV.
3415         * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test02): Same.
3416         * testsuite/22_locale/collate_members_char.cc (test02): Same.
3417         * testsuite/22_locale/ctype_members_char.cc (test03): Same.
3418         * testsuite/22_locale/ctype_members_wchar_t.cc (test03): Same.
3419         * testsuite/22_locale/messages_members_char.cc (test02): Same.
3420         * testsuite/22_locale/moneypunct_members_char.cc (test02): Same.
3421         * testsuite/22_locale/moneypunct_members_wchar_t.cc (test02): Same.
3422         * testsuite/22_locale/money_put_members_char.cc (test04): Same.
3423         * testsuite/22_locale/money_put_members_wchar_t.cc (test04): Same.
3424         * testsuite/22_locale/num_get_members_char.cc (test03): Same.
3425         * testsuite/22_locale/num_get_members_wchar_t.cc (test03): Same.
3426         * testsuite/22_locale/numpunct_members_char.cc (test02): Same.
3427         * testsuite/22_locale/numpunct_members_wchar_t.cc (test02): Same.
3428         * testsuite/22_locale/time_get_members_char.cc (test07): Same.
3429         * testsuite/22_locale/time_get_members_wchar_t.cc (test07): Same.
3430         * testsuite/22_locale/time_put_members_char.cc (test03): Same.
3431         * testsuite/22_locale/time_put_members_wchar_t.cc (test03): Same.
3432         * testsuite/22_locale/num_put_members_char.cc (test03): Same.
3433         * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Check for setenv.
3434         * aclocal.m4: Regenerate.
3435         * configure: Regenerate.
3436         * config.h.in: Regenerate.
3437
3438 2002-01-23  Loren Rittle <ljrittle@acm.org>
3439
3440         * testsuite/thread/pthread1.cc: New test.
3441         * testsuite/thread/pthread2.cc: New test adapted from libstdc++/5347.
3442         * testsuite/thread/pthread3.cc: Likewise.
3443         * testsuite/thread/pthread4.cc: New test adapted from
3444         http://gcc.gnu.org/ml/gcc-bugs/2002-01/msg00679.html
3445         * testsuite/thread/pthread5.cc: New test adapted from libstdc++/5464.
3446         * testsuite/thread/pthread6.cc: New test adapted from libstdc++/5444.
3447
3448 2002-01-23  Richard Henderson  <rth@redhat.com>
3449
3450         PR libstdc++/5198
3451         * config/cpu/m68k/bits/atomicity.h (__exchange_and_add): Only use
3452         CAS on the cpu variants that support it.  Add versions that use
3453         TAS and that disable interrupts.
3454         (__atomic_add): Use __exchange_and_add to guarantee atomicity.
3455
3456 2002-01-23  Matt Kraai  <kraai@alumni.cmu.edu>
3457
3458         * include/bits/locale_facets.tcc: Remove old comments.
3459
3460 2002-01-23  Andreas Tobler  <toa@pop.agri.ch>
3461
3462         * include/bits/locale_facets.tcc (__convert_to_v): Change template
3463         parameter to _Tv.
3464         (__convert_from_v): Same.
3465
3466 2002-01-23  Benjamin Kosnik  <bkoz@redhat.com>
3467
3468         * include/bits/locale_facets.h (num_get::_M_extract_int): Change
3469         prototype.
3470         * include/bits/locale_facets.tcc (num_get::_M_extract_int): Remove
3471         __max_digits checks, adjust arguments.
3472         (num_get::do_get(*)): Changeup.
3473
3474 2002-01-23  Loren Rittle <ljrittle@acm.org>
3475
3476         * config/locale/c_locale_generic.cc: Fix typename usage.
3477
3478 2002-01-22  Benjamin Kosnik  <bkoz@redhat.com>
3479
3480         * config/locale/c_locale_generic.cc: Fix.
3481
3482 2002-01-22  Benjamin Kosnik  <bkoz@redhat.com>
3483
3484         * docs/html/22_locale/messages.html: Remove angle brackets.
3485         * docs/html/17_intro/TODO: Add.
3486
3487 2002-01-22  Paolo Carlini  <pcarlini@unitus.it>
3488
3489         * testsuite/27_io/ios_manip_basefield.cc: Enable test02.
3490         * testsuite/27_io/ostream_inserter_arith.cc: Enable test03.
3491         * testsuite/27_io/ostream_inserter_char.cc: Enable test01.
3492         * testsuite/27_io/ostream_inserter_other.cc: Enable test04.
3493
3494 2002-01-22  Benjamin Kosnik  <bkoz@redhat.com>
3495
3496         Audit for LANG independence.
3497         * include/bits/localefwd.h: Tweaks.
3498         * include/bits/locale_facets.tcc (money_get::do_get(long double)):
3499         Use __convert_to_v.
3500         (time_get::do_get_year): Same.
3501         (__convert_from_v): Add.
3502         (num_put::_M_convert_float): Use.
3503         (num_put::_M_convert_int): Same.
3504         (money_put::do_put): Same.
3505
3506         * src/locale-inst.cc: Add instantiations for __convert_from_v.
3507         * config/locale/time_members_gnu.cc: Cleanup setlocale usage.
3508         * config/locale/time_members_generic.cc:
3509         * config/locale/messages_members_gnu.cc: Same.
3510         * config/locale/messages_members_gnu.h: Same.
3511
3512         * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test02): New.
3513         * testsuite/22_locale/codecvt_members_char_char.cc (test02): New.
3514         * testsuite/22_locale/collate_members_wchar_t.cc (test02): New.
3515         * testsuite/22_locale/collate_members_char.cc (test02): New.
3516         * testsuite/22_locale/ctype_members_wchar_t.cc (test03): New.
3517         * testsuite/22_locale/ctype_members_char.cc (test03): New.
3518         * testsuite/22_locale/messages_members_char.cc (test02): New.
3519         * testsuite/22_locale/moneypunct_members_wchar_t.cc (test02): New.
3520         * testsuite/22_locale/moneypunct_members_char.cc (test02): New.
3521         * testsuite/22_locale/money_get_members_wchar_t.cc (test04): New.
3522         * testsuite/22_locale/money_get_members_char.cc (test04): New.
3523         * testsuite/22_locale/money_put_members_wchar_t.cc (test04): New.
3524         * testsuite/22_locale/money_put_members_char.cc (test04): New.
3525         * testsuite/22_locale/numpunct_members_wchar_t.cc (test02): New.
3526         * testsuite/22_locale/numpunct_members_char.cc (test02): New.
3527         * testsuite/22_locale/time_put_members_wchar_t.cc (test03): New.
3528         * testsuite/22_locale/time_put_members_char.cc (test03): New.
3529         * testsuite/22_locale/time_get_members_wchar_t.cc (test07): New.
3530         * testsuite/22_locale/time_get_members_char.cc (test07): New.
3531         * testsuite/22_locale/num_get_members_wchar_t.cc (test03): New.
3532         * testsuite/22_locale/num_get_members_char.cc (test03): New.
3533         * testsuite/22_locale/num_put_members_wchar_t.cc (test03): New.
3534         * testsuite/22_locale/num_put_members_char.cc (test03): New.
3535
3536         * testsuite/22_locale/time_get_members_char.cc: Fixups for global
3537         locale issues.
3538         * testsuite/22_locale/time_get_members_char.cc: Same.
3539
3540 2002-01-22  Benjamin Kosnik  <bkoz@redhat.com>
3541
3542         libstdc++/5280
3543         * include/bits/localefwd.h: Tweak comments.
3544         * include/bits/locale_facets.h (__convert_to_v): Add.
3545         * include/bits/locale_facets.tcc (num_get::do_get(double)): Use it.
3546         (num_get::do_get(float)): Same.
3547         (num_get::do_get(long double)): Same.
3548         (num_get::do_get(bool)): Same.
3549         (num_get::do_get(long)): Same.
3550         (num_get::do_get(long long)): Same.
3551         (num_get::do_get(unsigned int)): Same.
3552         (num_get::do_get(unsigned short)): Same.
3553         (num_get::do_get(unsigned long)): Same.
3554         (num_get::do_get(unsigned long long)): Same.
3555         * config/locale/c_locale_gnu.cc (__convert_to_v): Specialize.
3556         * config/locale/c_locale_generic.cc: Same.
3557
3558 2002-01-22  Loren Rittle <ljrittle@acm.org>
3559
3560         * include/Makefile.am (c_base_builddir): Remove redundant slash.
3561         (std_builddir): Likewise.
3562         (std_headers_rename): Fix cut-n-paste typo.
3563         (install-data-local): Concat path per element instead of once to
3564         first element of list.
3565         * include/Makefile.in: Rebuilt.
3566
3567 2002-01-22  Benjamin Kosnik  <bkoz@redhat.com>
3568
3569         * config/os/aix/bits/ctype_noninline.h: Fix formatting.
3570         * config/os/bsd/netbsd/bits/ctype_noninline.h: Fix typo.
3571         * config/os/bsd/freebsd/bits/ctype_noninline.h: Fix formatting.
3572
3573 2002-01-20  Benjamin Kosnik  <bkoz@redhat.com>
3574
3575         * include/bits/locale_facets.h (ctype<char>::classic_table):
3576         Remove definition.
3577         (ctype<char>::_S_ctable): Remove.
3578         * config/os/gnu-linux/bits/ctype_noninline.h
3579         (ctype<char>::_S_table): Remove definition.
3580         (ctype<char>::classic_table): Define.
3581         (ctype<char>::ctype): Replace _S_ctable with classic_table().
3582         * config/os/aix/bits/ctype_noninline.h: Same.
3583         * config/os/bsd/freebsd/bits/ctype_noninline.h: Same.
3584         * config/os/bsd/netbsd/bits/ctype_noninline.h: Same.
3585         * config/os/djgpp/bits/ctype_noninline.h: Same.
3586         * config/os/generic/bits/ctype_noninline.h: Same.
3587         * config/os/gnu-linux/bits/ctype_noninline.h: Same.
3588         * config/os/hpux/bits/ctype_noninline.h: Same.
3589         * config/os/irix/irix5.2/bits/ctype_noninline.h: Same.
3590         * config/os/irix/irix6.5/bits/ctype_noninline.h: Same.
3591         * config/os/mingw32/bits/ctype_noninline.h: Same.
3592         * config/os/newlib/bits/ctype_noninline.h: Same.
3593         * config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.
3594         * config/os/solaris/solaris2.6/bits/ctype_noninline.h: Same.
3595         * config/os/solaris/solaris2.7/bits/ctype_noninline.h: Same.
3596
3597 2002-01-20  Danny Smith  <dannysmith@users.sourceforge.net>
3598
3599         * config/os/mingw32/bits/ctype_noninline.h: Declare _ctype instead
3600         of _pctype. Use to define _S_ctable.  Add definition for alternate
3601         ctor.  Initialise _M_ctable to _S_ctable in ctors.
3602         (do_toupper, do_tolower): Use inline code appropriate for C-locale
3603         rather than ::toupper, ::tolower.
3604
3605 2002-01-18  Loren Rittle <ljrittle@acm.org>
3606
3607         * testsuite/18_support/numeric_limits.cc (test_extrema<long double>):
3608         Add specialization for FreeBSD systems only to avoid losing test
3609         only due to extra precision unmentioned in system headers.
3610
3611 2002-01-18  David Billinghurst <David.Billinghurst@riotinto.com>
3612
3613         * config/os/irix/irix6.5/bits/ctype_noninline.h: Fix typo
3614
3615 2002-01-17  Nick Clifton  <nickc@cambridge.redhat.com>
3616
3617         * testsuite/testsuite_hooks.h: Fix comment typo.  Memory
3618         limiting is only attempted if _GLIBCPP_MEM_LIMIT is defined.
3619
3620 2002-01-17  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
3621
3622         * testsuite/22_locale/ctor_copy_dtor.cc: Remove check.
3623
3624 2002-01-17  David Edelsohn  <edelsohn@gnu.org>
3625
3626         * configure.target: Define OPT_LDFLAGS for AIX case.
3627
3628 2002-01-17  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
3629
3630         * include/std/std_limits.h (__glibcpp_float_has_quiet_NaN,
3631         __glibcpp_double_has_quiet_NaN): Correct mispelling.
3632
3633 2002-01-17  Andreas Tobler  <toa@pop.agri.ch>
3634
3635         * config/os/solaris/solaris2.6/bits/ctype_noninline.h: Fix.
3636
3637 2002-01-16  David Edelsohn  <dje@watson.ibm.com>
3638
3639         * acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES): Do not clear
3640         SECTION_LDFLAGS and OPT_LDFLAGS.  Fix ac_sectionLDflags type.
3641         * aclocal.m4: Regenerate.
3642         * configure: Regenerate.
3643
3644 2002-01-16  Benjamin Kosnik  <bkoz@redhat.com>
3645
3646         * include/Makefile.am (c_base_headers_rename): New.
3647         (c_base_headers_extra): New.
3648         (stamp-c_base): Modify.
3649         (install-data-local): Use both.
3650         * include/Makefile.in: Regenerate.
3651         * include/c/[cctype ciso646 cmath cstdarg cstdlib cerrno climits
3652         csetjmp cstddef cstring cwchar cassert cfloat clocale csignal
3653         cstdio ctime cwctype]: Move to..
3654         * include/c/std_*: Here.
3655         * include/c_std/[cctype ciso646 cmath cstdarg cstdlib cerrno climits
3656         csetjmp cstddef cstring cwchar cassert cfloat clocale csignal
3657         cstdio ctime cwctype]: Move to..
3658         * include/c_std/std_*: Here.
3659
3660         Alexandre Oliva  <aoliva@redhat.com>
3661         * include/Makefile.am (.PRECIOUS): Add rule.
3662         * include/Makefile.in: Regenerate.
3663
3664 2002-01-16  Benjamin Kosnik  <bkoz@redhat.com>
3665             Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
3666
3667         * include/bits/stl_iterator.h (reverse_iterator::_M_current):
3668         Deuglify, should be current.
3669         (back_insert_iterator::_M_container): Deuglify, should be container.
3670         (front_insert_iterator::_M_container): Same.
3671         (insert_iterator::_M_container): Same.
3672         * testsuite/24_iterators/reverse_iterator.cc: Add check.
3673         * testsuite/24_iterators/back_insert_iterator.cc: Add check.
3674         * testsuite/24_iterators/front_insert_iterator.cc: Same.
3675         * testsuite/24_iterators/insert_iterator.cc: Same.
3676
3677 2002-01-16  Benjamin Kosnik  <bkoz@redhat.com>
3678
3679         * include/bits/locale_facets.h (ctype<char>::classic_table): Make
3680         static.
3681         (ctype<char>::_M_ctable): Make static, change name to _S_ctable.
3682         * config/os/gnu-linux/bits/ctype_noninline.h: Define _S_ctable.
3683         * config/os/solaris/solaris2.7/bits/ctype_noninline.h: Same.
3684         * config/os/solaris/solaris2.6/bits/ctype_noninline.h: Same.
3685         * config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.
3686         * config/os/newlib/bits/ctype_noninline.h: Same.
3687         * config/os/irix/irix6.5/bits/ctype_noninline.h: Same.
3688         * config/os/irix/irix5.2/bits/ctype_noninline.h: Same.
3689         * config/os/hpux/bits/ctype_noninline.h: Same.
3690         * config/os/djgpp/bits/ctype_noninline.h: Same.
3691         * config/os/bsd/netbsd/bits/ctype_noninline.h: Same.
3692         * config/os/bsd/freebsd/bits/ctype_noninline.h: Same.
3693         * config/os/aix/bits/ctype_noninline.h: Same.
3694
3695         Testcase by Dietmar Kühl via Peter Schmid
3696         * testsuite/22_locale/ctype_members_char.cc (char>): Add test for
3697         classic_table().
3698
3699 2002-01-16  Benjamin Kosnik  <bkoz@redhat.com>
3700
3701         * libmath/signbitl.c: Copyright years as list, not range.
3702         * libmath/Makefile.am: Same.
3703         * libmath/Makefie.in: Regenerate.
3704         * libmath/signbit.c: Same.
3705         * libmath/nan.c: Same.
3706         * libmath/copysignf.c: Same.
3707         * libmath/signbitf.c: Same.
3708         * testsuite/22_locale/money_get_members_char.cc: Same.
3709         * testsuite/22_locale/money_get_members_wchar_t.cc: Same.
3710         * testsuite/22_locale/money_put_members_char.cc: Same.
3711         * testsuite/22_locale/money_put_members_wchar_t.cc: Same.
3712         * testsuite/22_locale/time_get_members_char.cc: Same.
3713         * testsuite/22_locale/time_get_members_wchar_t.cc: Same.
3714         * testsuite/22_locale/time_put_members_char.cc: Same.
3715         * testsuite/22_locale/time_put_members_wchar_t.cc: Same.
3716         * testsuite/21_strings/nonmember.cc: Same.
3717         * testsuite/21_strings/compare.cc: Same.
3718         * testsuite/27_io/stringstream.cc: Same.
3719         * testsuite/27_io/stringbuf.cc: Same.
3720         * testsuite/27_io/filebuf.cc: Same.
3721         * testsuite/27_io/ios_manip_basefield.cc: Same.
3722         * testsuite/27_io/ios_manip_fmtflags.cc: Same.
3723         * include/bits/cpp_type_traits.h: Same.
3724         * include/bits/generic_shadow.h: Same.
3725         * include/bits/gslice_array.h: Same.
3726         * include/bits/gslice.h: Same.
3727         * include/bits/indirect_array.h: Same.
3728         * include/bits/slice_array.h: Same.
3729         * include/bits/sstream.tcc: Same.
3730         * include/bits/streambuf_iterator.h: Same.
3731         * include/bits/valarray_array.tcc: Same.
3732         * include/bits/valarray_meta.h: Same.
3733         * include/bits/valarray_array.h: Same.
3734         * config/os/mingw32/bits/ctype_noninline.h: Same.
3735         * config/os/mingw32/bits/ctype_base.h: Same.
3736         * config/os/hpux/bits/ctype_noninline.h: Same.
3737         * config/os/hpux/bits/ctype_base.h: Same.
3738         * config/os/gnu-linux/bits/ctype_noninline.h: Same.
3739         * config/os/gnu-linux/bits/ctype_base.h: Same.
3740         * config/os/generic/bits/ctype_noninline.h: Same.
3741         * config/os/generic/bits/ctype_base.h: Same.
3742
3743         * libsupc++/tinfo.h: Tweaks.
3744
3745 2002-01-15  Benjamin Kosnik  <bkoz@redhat.com>
3746
3747         * testsuite/22_locale/num_put_members_wchar_t.cc (test02): Same.
3748         * testsuite/22_locale/num_put_members_char.cc (test01): Tweak.
3749         * testsuite/22_locale/ctype_members_char.cc: Tweak.
3750
3751 2002-01-15  Benjamin Kosnik  <bkoz@redhat.com>
3752
3753         * include/bits/locale_facets.tcc (num_put::do_put(bool): Fix.
3754         (num_put::do_put(void*)): Fix.
3755         * testsuite/22_locale/num_put_members_char.cc (test02): Add.
3756         * testsuite/22_locale/num_put_members_wchar_t.cc (test02): Add.
3757         * testsuite/22_locale/num_get_members_char.cc (test02): Add
3758         long double, void, bool types.
3759         * testsuite/22_locale/num_get_members_wchar_t.cc (test02): Add.
3760
3761 2002-01-15  Benjamin Kosnik  <bkoz@redhat.com>
3762             Alexandre Oliva  <aoliva@redhat.com>
3763
3764         * libmath/Makefile.am (LINK): Add --tag CC.
3765         * libmath/Makefile.in: Regenerate.
3766
3767 2002-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3768
3769         * config/os/hpux/bits/ctype_noninline.h: Use __SB_masks for address
3770         of character to attribute mapping table.
3771
3772 2002-01-15  David Billinghurst <David.Billinghurst@riotinto.com>
3773
3774         * testsuite/26_numerics/c99_classification_macros_c.cc
3775         Remove dg-error and dg-excess-errors comments.
3776
3777 2002-01-14  Benjamin Kosnik  <bkoz@redhat.com>
3778
3779         * include/bits/locale_facets.tcc (time_put::put): Correct output
3780         iterator positions.
3781         * testsuite/22_locale/time_put_members_char.cc (test02): Add.
3782         * testsuite/22_locale/time_put_members_wchar_t.cc (test02): Add.
3783         * testsuite/22_locale/time_get_members_wchar_t.cc (test06): Add.
3784         * testsuite/22_locale/time_get_members_char.cc (test06): Add.
3785
3786 2002-01-14  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3787
3788         * docs/html/17_intro/porting-howto.xml: Update filebuf section.
3789
3790 2002-01-14  Paolo Carlini  <pcarlini@unitus.it>
3791             Nathan Myers  <ncm@cantrip.org>
3792
3793         * include/bits/basic_string.h
3794         (replace(__pos, __n1, __s, __n2)): Optimize by avoiding
3795         temporaries (i.e., call _M_replace_safe) when possible.
3796         (replace(__pos, __n, __str)): Call replace(__pos, __n1, __s, __n2).
3797         (replace(__pos, __n1, __s)): Call replace(__pos, __n1, __s , __n2).
3798         (replace(__i1, __i2, __str)): Call replace(__i1, __i2, __s, __n).
3799         (replace(__i1, __i2, __s)): Call replace(__i1, __i2, __s, __n).
3800         (replace(__i1, __i2, __s, __n)): Call replace(__pos1, __n1, __s, __n2).
3801         * include/bits/basic_string.tcc
3802         (replace(__pos1, __n1, __str, __pos2, __n2)): Call
3803         replace(__pos, __n1, __s, __n2).
3804         * testsuite/21_strings/replace.cc (test03): New testcases.
3805
3806         * include/bits/basic_string.h (insert(__pos, __s, __n)):
3807         Adjust comparison wrt overflow.
3808
3809 2002-01-12  Benjamin Kosnik  <bkoz@redhat.com>
3810
3811         * include/Makefile.am (std_headers_rename): New variable.
3812         (install-data-local): Use it.
3813         * include/Makefile.in: Regenerate.
3814
3815 2002-01-12  Benjamin Kosnik  <bkoz@redhat.com>
3816
3817         * include/bits/locale_facets.tcc (money_put::do_put(string):
3818         Correct output iterator value.
3819         * testsuite/22_locale/money_put_members_char.cc (test03): Add.
3820         * testsuite/22_locale/money_put_members_wchar_t.cc: Same.
3821
3822 2002-01-11  Phil Edwards  <pme@gcc.gnu.org>
3823
3824         * include/Makefile.am, include/Makefile.in (stamp-std):  Fix typo from
3825         previous commit.
3826
3827 2002-01-11  Phil Edwards  <pme@gcc.gnu.org>
3828
3829         * include/Makefile.am (std_headers):  Update list with new names.
3830         (stamp-std):  Link to standardized name.
3831         * include/Makefile.in:  Regenerate.
3832
3833         * include/std/algorithm, include/std/bitset, include/std/complex,
3834         include/std/deque, include/std/fstream, include/std/functional,
3835         include/std/iomanip, include/std/ios, include/std/iosfwd,
3836         include/std/iostream, include/std/istream, include/std/iterator,
3837         include/std/limits, include/std/list, include/std/locale,
3838         include/std/map, include/std/memory, include/std/numeric,
3839         include/std/ostream, include/std/queue, include/std/set,
3840         include/std/sstream, include/std/stack, include/std/stdexcept,
3841         include/std/streambuf, include/std/string, include/std/utility,
3842         include/std/valarray, include/std/vector:  Rename to...
3843
3844         * include/std/std_algorithm.h, include/std/std_bitset.h,
3845         include/std/std_complex.h, include/std/std_deque.h,
3846         include/std/std_fstream.h, include/std/std_functional.h,
3847         include/std/std_iomanip.h, include/std/std_ios.h,
3848         include/std/std_iosfwd.h, include/std/std_iostream.h,
3849         include/std/std_istream.h, include/std/std_iterator.h,
3850         include/std/std_limits.h, include/std/std_list.h,
3851         include/std/std_locale.h, include/std/std_map.h,
3852         include/std/std_memory.h, include/std/std_numeric.h,
3853         include/std/std_ostream.h, include/std/std_queue.h,
3854         include/std/std_set.h, include/std/std_sstream.h,
3855         include/std/std_stack.h, include/std/std_stdexcept.h,
3856         include/std/std_streambuf.h, include/std/std_string.h,
3857         include/std/std_utility.h, include/std/std_valarray.h,
3858         include/std/std_vector.h:  ...this.
3859
3860 2002-01-11  Loren Rittle <ljrittle@acm.org>
3861
3862         * include/Makefile.am (extra_target_headers): New list of all
3863         target files built with ad hoc naming rules.
3864         (stamp-*): Handle LN_S failure in manner portable across make
3865         implementations.
3866         (install-data-local): Install header files from human-maintained
3867         file lists and directory components instead of non-robust find.
3868         * include/Makefile.in: Rebuilt.
3869
3870 2002-01-11  Benjamin Kosnik  <bkoz@redhat.com>
3871
3872         * include/bits/locale_facets.tcc (money_get::do_get(string)):
3873         Check for zero-length negative sign before adding it to output
3874         string.
3875         (money_get::do_get(long double)): Return beg.
3876         * testsuite/22_locale/money_get_members_char.cc (test02): Add
3877         iterator checks.
3878         * testsuite/22_locale/money_get_members_wchar_t.cc: Same.
3879
3880 2002-01-10  David Seymour  <seymour_dj@yahoo.com>
3881
3882         libstdc++/5331
3883         * include/bits/locale_facets.h (num_get<>): Return advanced iterator
3884         for _M_extract_float and _M_extract_int
3885         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float)
3886         (num_get<>::_M_extract_int): Likewise, all callers changed
3887         * testsuite/22_locale/num_get_members_char.cc: Testcase
3888
3889 2002-01-09  Paolo Carlini <pcarlini@unitus.it>
3890
3891         * libsupc++/exception (bad_exception): Add comment.
3892         * libsupc++/new (bad_alloc): Same.
3893         * libsupc++/typeinfo (bad_cast, bad_typeid): Same.
3894
3895 2002-01-09  Paolo Carlini <pcarlini@unitus.it>
3896
3897         libstdc++/3150: revert 2001-11-30 commit. DR266 only means
3898         that the destructors should be removed from the descriptions
3899         in the standard: writing them explicitly allows the vtable
3900         heuristic to work. For additional information see:
3901         http://gcc.gnu.org/ml/libstdc++/2002-01/msg00090.html
3902         http://gcc.gnu.org/ml/libstdc++/2002-01/msg00110.html
3903         http://gcc.gnu.org/ml/libstdc++/2002-01/msg00155.html
3904         * libsupc++/exception (bad_exception::~bad_exception()):
3905         Reintroduce declaration.
3906         * libsupc++/new (bad_alloc::~bad_alloc()): Same.
3907         * libsupc++/typeinfo (bad_cast::~bad_cast()): Same.
3908         (bad_typeid::~bad_typeid()): Same.
3909         * libsupc++/eh_exception.cc (bad_exception::~bad_exception()):
3910         Reintroduce definition.
3911         * libsupc++/new_handler.cc (bad_alloc::~bad_alloc()): Same.
3912         * libsupc++/tinfo.cc (bad_cast::~bad_cast()): Same.
3913         (bad_typeid::~bad_typeid()): Same.
3914
3915 2002-01-09  Benjamin Kosnik  <bkoz@redhat.com>
3916
3917         * include/Makefile.am (c_base_srcdir): Remove duplicate '/'.
3918         * include/Makefile.in: Regenerate.
3919
3920 2002-01-09  Bo Thorsen  <bo@suse.co.uk>
3921
3922         * config/cpu/x86-64/bits/cpu_limits.h (__glibcpp_long_bits): Add
3923         definition.
3924
3925 2002-01-08  Benjamin Kosnik  <bkoz@redhat.com>
3926
3927         libstdc++/2913
3928         libstdc++/4879
3929         * include/bits/fstream.tcc (filebuf::_M_really_overflow): Test
3930         return value of _M_file->sync().
3931         (filebuf::showmanyc): Check for is_open.
3932         * include/std/fstream (filebuf::sync): Tweak.
3933         * testsuite/27_io/filebuf.cc: Tweak.
3934
3935 2002-01-08  John Fardo  <jfardo@laurelnetworks.com>
3936             Brad Garcia  <garsh@attbi.com>
3937
3938         * testsuite/27_io/filebuf_members.cc: Add test.
3939
3940 2002-01-07  Benjamin Kosnik  <bkoz@redhat.com>
3941             Craig Rodrigues  <rodrigc@mediaone.net>
3942
3943         libstdc++/5174
3944         * po/Makefile.am (mkinstalldirs): Add.
3945         * po/Makefile.in: Regenerate.
3946
3947 2002-01-07  David Billinghurst  <David.Billinghurst@riotinto.com>
3948
3949         * testsuite_flags.in: Add -fmessage-length=0 to CXXFLAGS *
3950         testsuite/lib/prune.exp: Delete lines ":In function ..."  from
3951         compiler output.
3952         * testsuite/23_containers/map_operators.cc: Remove
3953         dg-excess-errors comment.
3954         * testsuite/23_containers/set_operators.cc: Likewise.
3955
3956 2002-01-06  Paolo Carlini  <pcarlini@unitus.it>
3957
3958         * include/bits/stl_function.h:  Remove two lines of comments;
3959         adjust copyright years.
3960
3961 2002-01-04  Benjamin  Kosnik  <bkoz@redhat.com>
3962
3963         * include/Makefile.am (std_headers): Remove cXXX from list.
3964         (c_base_srcdir): No bits subdirectory.
3965         (c_base_builddir): Same.
3966         (c_base_headers): Adjust names, add ciso646.
3967         (bits_headers): Remove std_xxx.h headers.
3968         * include/Makefile.in: Regenerate.
3969
3970         * include/ext/iterator: Adjust includes.
3971         * include/ext/ropeimpl.h: Same.
3972         * include/ext/stl_hash_fun.h: Same.
3973         * include/ext/algorithm: Same.
3974
3975         * include/backward/bvector.h: Adjust includes.
3976         * include/backward/vector.h: Same.
3977         * include/backward/strstream: Same.
3978         * include/backward/streambuf.h: Same.
3979         * include/backward/stack.h: Same.
3980         * include/backward/set.h: Same.
3981         * include/backward/queue.h: Same.
3982         * include/backward/multiset.h: Same.
3983         * include/backward/multimap.h: Same.
3984         * include/backward/map.h: Same.
3985         * include/backward/list.h: Same.
3986         * include/backward/iterator.h: Same.
3987         * include/backward/iostream.h: Same.
3988         * include/backward/iomanip.h: Same.
3989         * include/backward/fstream.h: Same.
3990         * include/backward/deque.h: Same.
3991         * include/backward/complex.h: Same.
3992
3993         * include/bits/std_algorithm.h: Move to...
3994         * include/std/algorithm: ...here.
3995         * include/bits/std_iosfwd.h, std_locale.h, std_stack.h,
3996         std_bitset.h, std_ios.h, std_map.h, std_stdexcept.h,
3997         std_complex.h, std_iostream.h, std_memory.h, std_streambuf.h,
3998         std_deque.h, std_istream.h, std_numeric.h, std_string.h,
3999         std_fstream.h, std_ostream.h, std_utility.h, std_iterator.h,
4000         std_queue.h, std_valarray.h, std_functional.h, std_limits.h,
4001         std_set.h, std_vector.h, std_iomanip.h, std_list.h, std_sstream.h:
4002         Same.
4003
4004         * include/c_std/bits/std_cassert.h: Move to...
4005         * include/c_std/cassert: Here.
4006         * include/c_std/std_cctype.h, std_cerrno.h, std_cfloat.h,
4007         std_climits.h, std_clocale.h, std_cmath.h, std_csetjmp.h,
4008         std_csignal.h, std_cstdarg.h, std_cstddef.h, std_cstdio.h,
4009         std_cstdlib.h, std_cstring.h, std_ctime.h, std_cwchar.h,
4010         std_cwctype.h: Same.
4011         * include/c_std/cmath: Adjust cmath.tcc include.
4012         * include/c_std/cstdlib: Adjust includes.
4013         * include/c_std/cwchar: Same.
4014         * include/c_std/ctime: Same.
4015         * include/c_std/cstring: Same.
4016         * include/c_std/cstdio: Same.
4017         * include/c_std/bits: Remove directory.
4018
4019         * include/c/bits/std_cassert.h: Move to...
4020         * include/c/cassert: Here.
4021         * include/c/std_cctype.h, std_cerrno.h, std_cfloat.h,
4022         std_climits.h, std_clocale.h, std_cmath.h, std_csetjmp.h,
4023         std_csignal.h, std_cstdarg.h, std_cstddef.h, std_cstdio.h,
4024         std_cstdlib.h, std_cstring.h, std_ctime.h, std_cwchar.h,
4025         std_cwctype.h: Same.
4026         * include/c/bits: Remove directory.
4027
4028         * include/std/cwctype: Remove.
4029         * include/std/cwchar: Remove.
4030         * include/std/ctime: Remove.
4031         * include/std/cstring: Remove.
4032         * include/std/cstdlib: Remove.
4033         * include/std/cstdio: Remove.
4034         * include/std/cstddef: Remove.
4035         * include/std/cstdarg: Remove.
4036         * include/std/csignal: Remove.
4037         * include/std/csetjmp: Remove.
4038         * include/std/cmath: Remove.
4039         * include/std/clocale: Remove.
4040         * include/std/climits: Remove.
4041         * include/std/ciso646: Remove.
4042         * include/std/cfloat: Remove.
4043         * include/std/cerrno: Remove.
4044         * include/std/cctype: Remove.
4045         * include/std/cassert: Remove.
4046
4047         * include/bits/fpos.h: Adjust includes, removing <bits/std_xxx.h>
4048         files and subsituting <xxx>.
4049         * include/bits/valarray_array.h: Same.
4050         * include/bits/stl_uninitialized.h: Same.
4051         * include/bits/stl_alloc.h: Same.
4052         * include/bits/stl_algobase.h: Same.
4053         * include/bits/sstream.tcc: Same.
4054         * include/bits/pthread_allocimpl.h: Same.
4055         * include/bits/ostream.tcc: Same.
4056         * include/bits/localefwd.h: Same.
4057         * include/bits/locale_facets.tcc: Same.
4058         * include/bits/locale_facets.h: Same.
4059         * include/bits/istream.tcc: Same.
4060         * include/bits/char_traits.h: Same.
4061         * include/bits/boost_concept_check.h: Same.
4062         * include/bits/basic_file.h: Same.
4063         * include/std/bitset: Same.
4064         * include/std/complex: Same.
4065         * include/std/fstream: Same.
4066         * include/std/functional: Same.
4067         * include/std/ios: Same.
4068         * include/std/iostream: Same.
4069         * include/std/ostream: Same.
4070         * include/std/sstream: Same.
4071         * include/std/streambuf: Same.
4072         * include/std/string: Same.
4073         * include/std/iterator: Same.
4074         * include/std/valarray: Same.
4075
4076         * src/ios.cc: Adjust includes.
4077         * src/valarray-inst.cc: Same.
4078         * src/string-inst.cc: Same.
4079         * src/stl-inst.cc: Same.
4080         * src/stdexcept.cc: Same.
4081         * src/misc-inst.cc: Same.
4082         * src/localename.cc: Same.
4083         * src/locale-inst.cc: Same.
4084         * src/locale.cc: Same.
4085         * src/limits.cc: Same.
4086         * src/concept-inst.cc: Same.
4087         * src/complex_io.cc: Same.
4088         * src/codecvt.cc: Same.
4089         * src/bitset.cc: Same.
4090         * src/cmath.cc: Same.
4091
4092 2002-01-04  Paolo Carlini  <pcarlini@unitus.it>
4093
4094         * include/bits/stl_tree.h (rb_tree):  Move to...
4095         * include/ext/rb_tree:  ...here, new file.
4096         * include/Makefile.am (ext_headers):  Add new file.
4097         * include/Makefile.in:  Regenerate.
4098         * include/bits/stl_tempbuf.h (get_temporary_buffer + helper,
4099         return_temporary_buffer, struct temporary_buffer):  Move to...
4100         * include/ext/memory:  ...here.
4101         * testsuite/ext/headers.cc:  Include <ext/rb_tree>.
4102         * include/backward/tempbuf.h:  Include <ext/memory>, tweak.
4103         * include/backward/tree.h:  Include <ext/rb_tree), tweak.
4104
4105 2002-01-03  Paolo Carlini  <pcarlini@unitus.it>
4106
4107         * include/bits/stl_numeric.h (power + helpers, iota):  Move to...
4108         * include/ext/numeric:  ...here, new file.
4109         * include/bits/stl_function.h (identity_element, unary_compose,
4110         binary_compose, compose1, compose2, identity, select1st,
4111         select2nd, project1st + helper, project2nd + helper,
4112         constant_void_fun + helper, constant_unary_fun + helper,
4113         costant_binary_fun + helper, constant0, constant1, constant2,
4114         subtractive_rng, mem_fun1, mem_fun1_ref):  Move to...
4115         * include/ext/functional:  ...here, new file.
4116         * include/Makefile.am (ext_headers):  Add new files.
4117         * include/Makefile.in:  Regenerate.
4118         * testsuite/ext/headers.cc:  Include <ext/numeric> and
4119         <ext/functional>.
4120         * include/backward/algo.h:  Include <ext/numeric>, tweak.
4121         * include/backward/function.h:  Include <ext/functional>, tweak.
4122         * include/ext/ropeimpl.h:  Include <ext/numeric>.
4123
4124 2002-01-03  Jeffrey A Law  <law@redhat.com>
4125
4126         * config/os/hpux/bits/os_defines.h: Prefix __strtoll and
4127         __strtoull declarations with __extension__.
4128
4129 2002-01-03  David Billinghurst <David.Billinghurst@riotinto.com>
4130
4131         * testsuite/lib/prune.exp: Correct regular expression for
4132         -ffunction-sections
4133
4134 2002-01-02  Phil Edwards  <pme@gcc.gnu.org>
4135
4136         * include/bits/stl_algo.h (upper_bound, equal_range, binary_search):
4137         Change concept checks, as with lower_bound and PR 2054.
4138         * testsuite/ext/concept_checks.cc:  Expand test to include those.
4139
4140 2002-01-02  Phil Edwards  <pme@gcc.gnu.org>
4141
4142         * include/bits/boost_concept_check.h:  Import some changes from
4143         upsteam (Boost) version.
4144
4145 2002-01-02  Paolo Carlini  <pcarlini@unitus.it>
4146
4147         * include/bits/stl_algobase.h (copy_n + helpers,
4148         lexicographical_compare_3way + helpers):  Move to...
4149         * include/ext/algorithm:  ...here.
4150         * include/bits/stl_uninitialized.h (uninitialized_copy_n +
4151         helpers):  Move to...
4152         * include/ext/memory:  ...here, new file.
4153         * include/Makefile.am (ext_headers):  Add new file.
4154         * include/Makefile.in:  Regenerate.
4155         * testsuite/ext/headers.cc:  Include <ext/memory>.
4156         * include/backward/algobase.h:  Include <ext/memory> and
4157         <ext/algorithm>, tweak.
4158         * include/ext/ropeimpl.h:  Include <ext/memory>, tweak.
4159         * include/ext/stl_rope.h:  Include <ext/memory>, tweak.
4160
4161 2002-01-01  Roger Sayle <roger@eyesopen.com>
4162
4163         * libmath/stubs.c (sinf,cosf): Implement stubs to enable the
4164         equivalent ___builtin__ versions.
4165
4166         * include/c_shadow/bits/std_cmath.h: All __builtin math functions
4167         are available in libstdc++ as the necessary stub implementations
4168         are provided by libmath/stubs.c.
4169
4170 2002-01-01  Jason Thorpe  <thorpej@wasabisystems.com>
4171
4172         * configure.in: Add support for NetBSD cross compiles.
4173         * configure: Regenerate.