OSDN Git Service

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