OSDN Git Service

2003-12-09 Benjamin Kosnik <bkoz@redhat.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2003-12-09  Benjamin Kosnik  <bkoz@redhat.com>
2
3         PR libstdc++/13296
4         * acinclude.m4 (GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS): Remove.
5         * aclocal.m4: Regenerate.
6         * configure.ac: Remove call to GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS.
7         * conigure: Regenerate.
8         * src/Makefile.am (libstdc___la_LDFLAGS): Remove LIBUNWIND_FLAGS.
9         * src/Makefile.in: Regenerate.
10         * docs/html/17_intro/configury.html: Modify.
11         
12 2003-12-09  Paolo Carlini  <pcaelini@suse.de>
13         
14         * include/bits/demangle.h (struct implementation_details):
15         Keep in comments the names of the unused parameters.
16
17 2003-12-09  Paolo Carlini  <pcaelini@suse.de>
18
19         * include/bits/demangle.h (struct implementation_details):
20         Fix unused parameters warning.
21
22 2003-12-09  Paolo Carlini  <pcarlini@suse.de>
23
24         * include/bits/locale_facets.tcc (num_get::_M_extract_int):
25         Slightly streamline the code dealing with overflows and the
26         parsing of the sign.
27
28 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
29
30         * include/ext/algorithm, include/ext/debug_allocator.h,
31         include/ext/enc_filebuf.h, include/ext/functional,
32         include/ext/hash_fun.h, include/ext/hash_map, include/ext/hash_set,
33         include/ext/hashtable.h, include/ext/iterator,
34         include/ext/malloc_allocator.h, include/ext/memory,
35         include/ext/mt_allocator.h, include/ext/numeric,
36         include/ext/pod_char_traits.h, include/ext/pool_allocator.h,
37         include/ext/rb_tree, include/ext/rope, include/ext/ropeimpl.h,
38         include/ext/slist, include/ext/stdio_filebuf.h,
39         include/ext/stdio_sync_filebuf.h: Remove trailing whitespace.
40
41 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
42
43         * include/debug/bitset, include/debug/debug.h, include/debug/deque,
44         include/debug/formatter.h, include/debug/hash_map.h,
45         include/debug/hash_multimap.h, include/debug/hash_multiset.h,
46         include/debug/hash_set, include/debug/hash_set.h, include/debug/list,
47         include/debug/map.h, include/debug/multimap.h,
48         include/debug/multiset.h, include/debug/safe_base.h,
49         include/debug/safe_iterator.h, include/debug/safe_iterator.tcc,
50         include/debug/safe_sequence.h, include/debug/set.h,
51         include/debug/string, include/debug/vector: Remove trailing whitespace.
52
53 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
54
55         * include/c_compatibility/iso646.h, include/c_compatibility/limits.h,
56         include/c_compatibility/locale.h, include/c_compatibility/stdio.h,
57         include/c_compatibility/string.h, include/c_compatibility/time.h,
58         include/c_compatibility/wchar.h, include/c_compatibility/wctype.h:
59         Remove trailing whitespace.
60
61 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
62
63         * include/c_std/cmath.tcc, include/c_std/std_cassert.h,
64         include/c_std/std_cctype.h, include/c_std/std_cmath.h,
65         include/c_std/std_cstddef.h, include/c_std/std_cstdio.h,
66         include/c_std/std_cstdlib.h, include/c_std/std_cstring.h,
67         include/c_std/std_cwchar.h, include/c_std/std_cwctype.h:
68         Remove trailing whitespace.
69
70 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
71
72         * include/c/std_cctype.h, include/c/std_cmath.h,
73         include/c/std_cstdlib.h include/c/std_cwchar.h,
74         include/c/std_cwctype.h: Remove trailing whitespace.
75
76 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
77
78         * include/backward/algo.h, include/backward/algobase.h,
79         include/backward/alloc.h, include/backward/complex.h,
80         include/backward/defalloc.h, include/backward/function.h,
81         include/backward/iterator.h, include/backward/new.h,
82         include/backward/ostream.h, include/backward/queue.h,
83         include/backward/rope.h, include/backward/stream.h,
84         include/backward/streambuf.h, include/backward/strstream,
85         include/backward/tempbuf.h, include/backward/tree.h,
86         include/backward/vector.h: Remove trailing whitespace.
87
88 2003-12-08  Paolo Carlini  <pcarlini@suse.de>
89
90         * config/locale/generic/c_locale.cc (__convert_to_v(long&),
91         __convert_to_v(unsigned long&), __convert_to_v(long long&),
92         __convert_to_v(unsigned long long&): Remove.
93         (__convert_to_v(float&), __convert_to_v(double&),
94         __convert_to_v(long double&)): Remove last unused parameter.
95         * config/locale/gnu/c_locale.cc: Likewise.
96         * include/bits/locale_facets.h: Likewise.
97         (num_get::_M_extract_int): Update declaration.
98         (class __num_base): Tweak _S_ie and _S_iE according to the
99         _S_atoms_in changes.
100         * include/bits/locale_facets.tcc (num_get::_M_extract_int):
101         Provide directly the final _ValueT, not a string: accumulate
102         the result checking for overflow at each digit.
103         (num_get::do_get(bool&), num_get::do_get(long&),
104         num_get::do_get(unsigned short&), num_get::do_get(unsigned int&),
105         num_get::do_get(unsigned long&), num_get::do_get(long long&),
106         num_get::do_get(unsigned long long&), num_get::do_get(void*&)):
107         Use the new _M_extract_int, simplify.
108         * src/locale-inst.cc (num_get::_M_extract_int(long&),
109         num_get::_M_extract_int(unsigned short&),
110         num_get::_M_extract_int(unsigned int&),
111         num_get::_M_extract_int(unsigned long&),
112         num_get::_M_extract_int(long long&),
113         num_get::_M_extract_int(unsigned long long&): Instantiate.
114         * src/locale_facets.cc (__num_base::_S_atoms_in): Reorder
115         the chars in the natural order: abcdefABCDEF.
116
117 2003-12-08  David S. Miller  <davem@redhat.com>
118
119         PR libstdc++/12496
120         * config/cpu/sparc/atomicity.h (__exchange_and_add, __atomic_add):
121         Extend increment to _Atomic_word before giving to assembler.
122
123 2003-12-06  Benjamin Kosnik  <bkoz@redhat.com>
124
125         * testsuite/ext/enc_filebuf/char/13189.cc: Guard for __enc_traits.
126         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
127         
128 2003-12-06  Benjamin Kosnik  <bkoz@redhat.com>
129
130         PR libstdc++/11691 
131         * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf):
132         Remove __del argument to file descriptor constructor.
133         * config/io/basic_file_stdio.h (__basic_file::sys_open): Remove
134         bool argument.
135         * config/io/basic_file_stdio.cc: Same.
136
137 2003-12-05  Benjamin Kosnik  <bkoz@redhat.com>
138
139         PR libstdc++/13189
140         * include/ext/enc_filebuf.h: Fix.
141         * include/bits/fstream.tcc: Tweak formatting.
142         * include/bits/postypes.h: Same.
143         * include/bits/sstream.tcc: Same.
144         * include/bits/streambuf.tcc: Same.
145         * testsuite/ext/stdio_filebuf.cc: Split.
146         * testsuite/ext/stdio_filebuf_2.cc: Split.
147         * testsuite/ext/stdio_sync_filebuf_char.cc: Split.
148         * testsuite/ext/stdio_sync_filebuf_wchar_t.cc: Split.
149         * testsuite/ext/enc_filebuf/char/13189.cc: New.
150         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: New.
151         * testsuite/ext/stdio_filebuf/char/1.cc: New.
152         * testsuite/ext/stdio_filebuf/char/2.cc: New.
153         * testsuite/ext/stdio_sync_filebuf/char/1.cc: New.
154         * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: New.
155         * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: New.
156         * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: New.
157         * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: New.
158         * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: New.
159         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: New.
160         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: New.
161         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: New.
162         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: New.
163
164 2003-12-05  Carlo Wood  <carlo@alinoe.com>
165
166         PR libstdc++/13045
167         * bits/demangle.h
168         namespace __gnu_cxx::demangler
169         (enum substitution_nt): Removed trailing comma.
170         (implementation_details): Added.
171         (session<Allocator>::M_implementation_details): Added.
172         (session<Allocator>::session): Pass implementation_details.
173         (session<Allocator>::decode_encoding): Same.
174         (session<Allocator>::decode_real): Added.
175         (_GLIBCXX_DEMANGLER_STYLE_VOID _GLIBCXX_DEMANGLER_STYLE_LITERAL
176         _GLIBCXX_DEMANGLER_STYLE_LITERAL_INT
177         _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
178         _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Replaced with
179         implementation_details equivalent.
180         (session<Allocator>::decode_expression):
181         Use M_implementation_details instead of macros. Add extra parentheses
182         around 'larger than' operator in expressions in template arguments.
183         (session<Allocator>::decode_bare_function_type): Idem.
184         (session<Allocator>::decode_literal):
185         Idem, and call decode_real for floating literals.
186         (session<Allocator>::decode_type_with_postfix): Put the postfix
187         of the return type of (member) functions after the function
188         instead of after the return type.  Also, put a space after the
189         prefix of qualified function pointers: "int (* const<space>".
190         * src/demangle.cc: include most dependent header file first.
191         * testsuite/demangle/regression/cw-16.cc: Updated two
192         and added three tests.
193
194 2003-12-04  Benjamin Kosnik  <bkoz@redhat.com>
195
196         PR libstdc++/13284
197         * include/bits/stl_algo.h (__random_number): Remove.
198         (random_shuffle): Use rand, as permitted by DR 395.
199         * include/ext/algorithm: Same.
200         * linkage.m4 (GLIBCXX_CHECK_STDLIB_SUPPORT): Remove lrand48.
201         * acconfig.h: Same.
202         * crossconfig.m4: Remove HAVE_DRAND48, HAVE_LRAND48.
203         * config.h.in: Regenerated.
204         * configure: Same.
205         * aclocal.m4: Same.
206         
207 2003-12-04  Paolo Carlini  <pcarlini@suse.de>
208
209         PR libstdc++/12653
210         * include/std/std_bitset.h (operator>>): Implement resolution
211         of DR 303 [WP]: use widen('0') and widen('1').
212         * docs/html/ext/howto.html: Add an entry for DR 303.
213
214         * include/std/std_bitset.h (operator>>): Implement the common
215         requirements of formatted input functions (27.6.1.2.1).
216
217         * include/std/std_bitset.h (operator>>): Set the failbit when
218         nothing was extracted and _Nb != 0.
219         * testsuite/23_containers/bitset/input/1.cc: New.
220
221 2003-12-03  Paolo Carlini  <pcarlini@suse.de>
222
223         PR libstdc++/12791
224         * include/bits/locale_facets.tcc (time_get::_M_extract_num):
225         Rewrite, stop the parsing as soon as a digit cannot possibly
226         lead to a final number within the bounds; otherwise, simplify,
227         avoiding __ctype.is() and atoi().
228         * testsuite/22_locale/time_get/get_date/char/12791.cc: New.
229         * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: New.
230
231         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
232         Minor tweak: a 4-digit integer cannot be bigger than 9999.
233
234         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Use
235         type-correct wchar_t string literals.
236         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
237         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
238         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
239         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
240
241 2003-12-02  Paolo Carlini  <pcarlini@suse.de>
242
243         * include/bits/locale_facets.tcc (time_get::do_get_year):
244         Avoid using a basic_string and calling a full blown strtol
245         (via __convert_to_v) for simple 2 or 4 digits, base 10,
246         positive integers; simplify.
247
248 2003-12-02  Paolo Carlini  <pcarlini@suse.de>
249
250         * config/locale/gnu/monetary_members.cc
251         (money_base::_S_construct_pattern): For case 3: and 4:
252         exchanging 'if (__precedes)' and 'if (__space)' allows
253         to factor out a few more assignments.
254
255 2003-12-01  Benjamin Kosnik  <bkoz@redhat.com>
256
257         * include/bits/basic_ios.h (basic_ios::setstate): Revert.
258         * include/bits/istream.tcc: Only call setstate if __err != goodbit.
259         * include/bits/ostream.tcc: Same.
260         * testsuite/27_io/basic_ios/exceptions/char/2.cc: New.
261         
262         * testsuite/testsuite_io.h (__gnu_test::fail_streambuf): Make
263         internal buffer non-static.
264
265 2003-12-01  Benjamin Kosnik  <bkoz@redhat.com>
266
267         * docs/html/17_intro/C++STYLE: Add exception bits.
268         * include/bits/fstream.tcc: Add location info to exception strings.
269
270         * include/bits/stl_construct.h: Formatting tweaks.
271
272 2003-12-01  Paolo Carlini  <pcarlini@suse.de>
273
274         PR libstdc++/10378
275         * include/bits/allocator.h (allocator::construct): Implement
276         resolution of DR 402 [Ready] (in Revision 28).
277         * include/bits/allocator_traits.h (__allocator::construct):
278         Likewise.
279         * include/bits/stl_construct.h (_Construct): Likewise.
280         * testsuite/20_util/allocator_members.cc: Move to...
281         * testsuite/20_util/allocator/1.cc: ... here.
282         * testsuite/20_util/allocator/10378.cc: New.
283         * docs/html/ext/howto.html: Add an entry for DR 402.
284
285 2003-11-30  Paolo Carlini  <pcarlini@suse.de>
286
287         * config/locale/gnu/codecvt_members.cc (codecvt::do_in,
288         codecvt::do_length): More minor tweaks.
289
290 2003-11-30  Paolo Carlini  <pcarlini@suse.de>
291
292         * config/locale/gnu/codecvt_members.cc (codecvt::do_in):
293         Minor stylistic tweak.
294
295 2003-11-30  Paolo Carlini  <pcarlini@suse.de>
296
297         * include/bits/locale_facets.tcc (num_put::do_put(..., bool)):
298         Minor tweaks, consistent with the style used in other facets.
299
300 2003-11-29  Paolo Carlini  <pcarlini@suse.de>
301
302         * include/bits/fstream.tcc (underflow): Minor tweaks in
303         preparation for libstdc++/13217.
304
305 2003-11-29  Paolo Carlini  <pcarlini@suse.de>
306
307         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc:
308         Tweak for a few small problems (fix timings, use VERIFY..)
309
310 2003-11-28  Paolo Carlini  <pcarlini@suse.de>
311
312         * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: Remove.
313         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: New,
314         the original third testcase for libstdc++/13171 belong here.
315
316 2003-11-28  Paolo Carlini  <pcarlini@suse.de>
317
318         * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc:
319         Remove extraneous wchar_t lines.
320         
321 2003-11-27  Paolo Carlini  <pcarlini@suse.de>
322
323         PR libstdc++/11544
324         PR libstdc++/11603
325         * include/bits/fstream.tcc (underflow): Throw ios_base:failure
326         upon incomplete or invalid byte sequences in the file.
327         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: New.
328         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: New.
329         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: New.
330
331 2003-11-27  Paolo Carlini  <pcarlini@suse.de>
332
333         * include/std/std_streambuf.h (__copy_streambufs): Remove
334         the first, unused, basic_ios<> parameter.
335         * src/streambuf-inst.cc: Likewise.
336         * include/bits/streambuf.tcc: Likewise.
337         * include/bits/istream.tcc (operator>>(__streambuf_type*)):
338         Tweak accordingly the call.
339         * include/bits/ostream.tcc (operator<<(__streambuf_type*)):
340         Likewise.
341
342         * include/bits/streambuf.tcc (__copy_streambufs): Remove
343         redundant try/catch.
344
345 2003-11-26  Benjamin Kosnik  <bkoz@redhat.com>
346
347         PR libstdc++/9371
348         PR libstdc++/9546
349         PR libstdc++/10093
350         PR libstdc++/10095
351         * include/bits/basic_ios.h (basic_ios::setstate): Elide if goodbit.
352         (basic_ios::_M_setstate): Consolidate common error handling code.
353         * include/bits/basic_ios.tcc: Tweak.
354         * include/bits/fstream.tcc: Tweak.
355         * include/bits/istream.tcc: Use _M_setstate for common exception
356         handling. Move setstate calls after catch. 
357         (basic_istream::tellg): Check for exceptions thrown by streambuf
358         virtual functions.
359         (basic_istream::seekg): Same.
360         * include/bits/ostream.tcc: Same, but for ostream.
361         (basic_ostream::flush): Check for exceptions thrown by streambuf
362         virtual functions.
363         (basic_istream::tellp): Same.   
364         (basic_istream::seekp): Same.
365         * include/bits/locale_facets.tcc: Tweak.
366         * include/bits/streambuf.tcc: Tweak.
367         (__copy_streambufs): Propagate exceptions.
368         * testsuite/testsuite_io.h (fail_streambuf): New.
369         (fail_num_get): New.
370         (fail_num_put): New.
371         (facet_error): New.
372         (underflow_error): New.
373         (overflow_error): New.  
374         (positioning_error): New.       
375         * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Tweak.
376         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
377         exceptions_badbit_throw.cc, exceptions_failbit.cc,
378         exceptions_failbit_throw.cc: New.
379         * testsuite/27_io/basic_istream/extractors_other/char/
380         error_failbit.cc, exceptions_badbit_throw.cc,
381         exceptions_failbit_throw.cc, exceptions_null.cc: New.
382         * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc: 
383         New.
384         * testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc:
385         New.
386         * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
387         New.
388         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
389         exceptions_badbit_throw.cc, exceptions_failbit_throw.cc: New.
390         * testsuite/27_io/basic_ostream/inserters_other/char/
391         error_failbit.cc, exceptions_badbit_throw.cc,
392         exceptions_failbit_throw.cc, exceptions_null.cc: New.
393         * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc: 
394         New.
395         * testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc: 
396         New.
397
398 2003-11-26  Benjamin Kosnik  <bkoz@redhat.com>
399
400         PR libstdc++/12297
401         * include/bits/istream.tcc
402         (basic_istream::sentry::sentry): Set failbit and eofbit when eof.
403         * testsuite/27_io/basic_istream/sentry/char/12297.cc: New.
404         
405 2003-11-26  Paolo Carlini  <pcarlini@suse.de>
406             Petur Runolfsson  <peturr02@ru.is>
407
408         PR libstdc++/13171
409         * include/bits/fstream.tcc (imbue): Relax the conditions under
410         which the function succeeds: allow for two consecutive calls with
411         the same name; state dependent encodings are ok even after open
412         if at the beginning of the file; don't check seekoff return value
413         (pipes, cin, cout, etc...)
414         * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: New.
415         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: New.
416         * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: New.
417         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: New.
418         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak comment.
419         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
420         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Tweak comment.
421         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
422
423         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: More
424         correctly use the UTF-8 locale appearing in the PR.
425
426 2003-11-26  Paolo Carlini  <pcarlini@suse.de>
427
428         * include/bits/locale_facets.h
429         (__numpunct_cache<>::_M_cache): Avoid zeroing _M_grouping,
430         _M_truename and _M_falsename: the constructor always does
431         it immediately before the _M_cache call.
432
433 2003-11-25  Paolo Carlini  <pcarlini@suse.de>
434
435         * config/locale/gnu/codecvt_members.cc (codecvt::do_length):
436         Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
437         former is very fast, but stops if encounters a NUL.
438         (codecvt::do_out): Tweaks.
439         (codecvt::do_in): Tweaks, improve the code dealing with errors.
440         * testsuite/performance/wchar_t_length.cc: New.
441
442 2003-11-24  Paolo Carlini  <pcarlini@suse.de>
443
444         * config/locale/gnu/codecvt_members.cc (codecvt::do_in):
445         Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
446         former is very fast, but stops if encounters a NUL.
447         (codecvt::do_out): Tweak.
448         * testsuite/performance/wchar_t_in.cc: New.
449
450 2003-11-24  Paolo Carlini  <pcarlini@suse.de>
451
452         * include/bits/locale_facets.h
453         (__numpunct_cache<>::_M_cache): Set _M_allocated at the beginning
454         in order to avoid memory leaks; simplify a bit.
455
456 2003-11-24  Benjamin Kosnik  <bkoz@redhat.com>
457         
458         * include/bits/streambuf_iterator.h (ostreambuf_iterator): Remove
459         non-standard throw specs.
460         * testsuite/24_iterators/istreambuf_iterator.cc: Split into...
461         * testsuite/24_iterators/istreambuf_iterator/1.cc
462         * testsuite/24_iterators/istreambuf_iterator/2.cc
463         * testsuite/24_iterators/istreambuf_iterator/2627.cc
464         * testsuite/24_iterators/ostreambuf_iterator.cc: Split into...
465         * testsuite/24_iterators/ostreambuf_iterator/1.cc
466         * testsuite/24_iterators/ostreambuf_iterator/2.cc
467
468         * testsuite/24_iterators/reverse_iterator/1.cc: Just compile,
469         don't link.
470         
471         * include/bits/allocator.h: Formatting tweak.
472         
473 2003-11-24  Paolo Carlini  <pcarlini@suse.de>
474
475         * src/locale_init.cc: Cosmetic reformatting.
476
477 2003-11-23  Paolo Carlini  <pcarlini@suse.de>
478
479         * include/bits/locale_facets.tcc (__add_grouping):
480         Cosmetic reformatting.
481
482 2003-11-23  Paolo Carlini  <pcarlini@suse.de>
483
484         * include/bits/locale_facets.tcc (_M_extract_float,
485         _M_extract_int): Remove a wrong comment and simplify
486         the corresponding code using char_traits::find().
487
488 2003-11-22  Paolo Carlini  <pcarlini@suse.de>
489
490         * config/locale/gnu/monetary_members.cc
491         (money_base::_S_construct_pattern): Factor out two assignments.
492
493 2003-11-22  Paolo Carlini  <pcarlini@suse.de>
494
495         * include/bits/istream.tcc (getline(basic_string<>&)):
496         Fix error in comment of the previous commit.
497
498 2003-11-22  Paolo Carlini  <pcarlini@suse.de>
499
500         PR libstdc++/12593
501         * include/bits/istream.tcc (operator>>(basic_string<>&),
502         getline(basic_string<>&)): Implement resolution of DR 91 [WP];
503         fix some minor issues with the exit conditions.
504         * docs/html/ext/howto.html: Add an entry for DR 91.
505
506 2003-11-21  Paolo Carlini  <pcarlini@suse.de>
507
508         * config/locale/gnu/monetary_members.cc
509         (money_base::_S_construct_pattern): Factor out an assignment.
510
511 2003-11-21  Paolo Carlini  <pcarlini@suse.de>
512
513         PR libstdc++/12882 (partial)
514         * acinclude.m4 (GLIBCXX_CHECK_LFS): Check fseeko64
515         and ftello64 too.
516         * include/ext/stdio_sync_filebuf.h (seekoff): Use fseeko64
517         and ftello64 if available.
518         * aclocal.m4: Regenerate.
519         * configure: Ditto.
520
521 2003-11-20  Benjamin Kosnik  <bkoz@redhat.com>
522
523         * include/debug/formatter.h: Use _Tp as template argument.
524         * src/debug.cc: Same, instantiate std::size_t.
525         
526 2003-11-20  Benjamin Kosnik  <bkoz@redhat.com>
527
528         PR libstdc++/13109
529         * include/debug/formatter.h (_Error_formatter::_M_format_word): New.
530         * src/debug.cc (__gnu_debug): Format. 
531         (_Error_formatter::_M_format_word): Define, use, instantiate.
532
533 2003-11-20  Paolo Carlini  <pcarlini@suse.de>
534
535         PR libstdc++/11602
536         * config/locale/gnu/codecvt_members.cc (codecvt::do_out):
537         Rewrite, using both wcsnrtombs and wcrtomb in a loop: the
538         former is very fast, but stops if encounters a NUL.
539         * testsuite/performance/wchar_t_out.cc: New, from the PR.
540
541 2003-11-19  Paolo Carlini  <pcarlini@suse.de>
542
543         * config/locale/gnu/codecvt_members.cc (do_out): If
544         we can upper bound the total number of external chars
545         to something smaller than __to_end - __to, avoid the
546         temporary buffer, the memcopy and simplify the loop.
547         * config/locale/generic/codecvt_members.cc (do_out):
548         Likewise.
549
550 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
551
552         * testsuite/lib/libstdc++.exp: Add DYLD_LIBRARY_PATH for darwin.
553         * testsuite/libstdc++-dg/normal.exp: Add -multiply_defined suppress
554         flag.
555
556 2003-11-18  Jonathan Wakely  <redi@gcc.gnu.org>
557
558         * docs/html/configopts.html, docs/html/debug.html,
559         docs/html/documentation.html, docs/html/explanations.html,
560         docs/html/install.html, docs/html/17_intro/contribute.html,
561         docs/html/17_intro/howto.html, docs/html/17_intro/license.html,
562         docs/html/18_support/howto.html, docs/html/19_diagnostics/howto.html,
563         docs/html/20_util/howto.html, docs/html/21_strings/howto.html,
564         docs/html/22_locale/codecvt.html, docs/html/22_locale/ctype.html,
565         docs/html/22_locale/howto.html, docs/html/22_locale/locale.html,
566         docs/html/22_locale/messages.html, docs/html/23_containers/howto.html,
567         docs/html/24_iterators/howto.html, docs/html/25_algorithms/howto.html,
568         docs/html/26_numerics/howto.html, docs/html/27_io/howto.html,
569         docs/html/ext/howto.html, docs/html/ext/sgiexts.html: Add <link> tags.
570
571 2003-11-18  Paolo Carlini  <pcarlini@suse.de>
572
573         PR libstdc++/12868
574         * include/bits/fstream.tcc (imbue): For encodings != -1 it's
575         always ok to imbue a new locale, provided seekoff(0, cur, ...)
576         doesn't fail, of course.
577         (underflow): In order for the above to work, deal gracefully
578         with _M_codecvt->in returning codecvt_base::error while 
579         (__ilen = __iend - this->eback()) > 0: it just means __ilen
580         correctly converted internal characters before an error.        
581         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: New.
582
583 2003-11-17  Paolo Carlini  <pcarlini@suse.de>
584
585         * include/bits/locale_facets.tcc: Fix typo in comment.
586
587 2003-11-17  Paolo Carlini  <pcarlini@suse.de>
588
589         * testsuite/22_locale/num_put/put/char/8.cc: New test,
590         summarizing the discussion ensuing libstdc++/12988.
591         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Ditto.
592
593 2003-11-15  Paolo Carlini  <pcarlini@suse.de>
594
595         * include/std/std_fstream.h: Tweak a comment.
596
597 2003-11-15  Roger Sayle  <roger@eyesopen.com>
598
599         * include/c_std/std_cmath.h: Don't import C99's float transcendentals
600         into the __gnu_cxx::__c99_binding namespace.
601         (acos, asin, atan, atan2, ceil, cosh, exp, floor, fmod, frexp,
602         ldexp, log, log10, modf, pow, sinh, tan, tanh): Implement using
603         GCC's math builtins, i.e. __builtin_foo.
604         * libmath/stubs.c (acosf, acosl, asinf, asinl, atanf, atanl,
605         ceilf, ceill, floorf, floorl, fmodf, fmodl, frexpf, frexpl,
606         ldexpf, ldexpl, modff, modfl): Provide stub implementations.
607
608 2003-11-14  Paolo Carlini  <pcarlini@suse.de>
609
610         * testsuite/22_locale/locale/cons/12352.cc: Use
611         __gnu_test::try_named_locale.
612
613 2003-11-14  Paolo Carlini  <pcarlini@suse.de>
614
615         * docs/html/ext/howto.html: Add entries for DR 63, 75
616         and 305; tweak entries for DR 60 and 328.
617
618 2003-11-13  Douglas Gregor  <gregod@cs.rpi.edu>
619
620         * docs/html/debug.html: Users are allowed to specialize in
621         namespace __gnu_debug, unlike in the Apple version of the debug
622         mode. Clear up a confusing double-negative. Note that
623         std::basic_string does provide extra debugging capabilities, but
624         not safe iterators.
625         * include/bits/basic_string.tcc: Make sure there's never an
626         ambiguity when calling __is_null_pointer. 
627         * include/debug/deque: (deque::erase) Properly handle invalidation
628         when erasing at the end of the deque.
629         * include/debug/vector: (vector::swap): Swap _M_guaranteed_capacity. 
630         (vector::clear): Set the guaranteed capacity to 0.
631         * testsuite/23_containers/deque/invalidation/4.cc: (test04): Test
632         iterator invalidation when erasing at the end of the deque.
633
634 2003-11-13  Paolo Carlini  <pcarlini@suse.de>
635             Petur Runolfsson  <peturr02@ru.is>
636
637         PR libstdc++/13007
638         * include/bits/fstream.tcc (imbue): Don't touch the stored
639         locale.
640         * include/std/std_streambuf.h (imbue): According to the
641         standard, base class version does nothing.
642         (pubimbue): Store the locale.
643         * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: New.
644         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: New.
645         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak.
646         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
647         * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: New.
648         * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: New.
649         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: New.
650         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: New.
651
652 2003-11-13  Petur Runolfsson  <peturr02@ru.is>
653
654         PR libstdc++/12594
655         * include/bits/ostream.tcc
656         (basic_ostream::operator<<(basic_ostream& (*)(basic_ostream&)),
657         basic_ostream::operator<<(basic_ios& (*)(basic_ios&)),
658         basic_ostream::operator<<(ios_base& (*)(ios_base&))):
659         Implement the resolution of DR 60 (TC): These are not formatted
660         output functions so don't construct sentry objects and don't
661         catch exceptions.
662         (basic_ostream::put, basic_ostream::write): Implement the
663         resolution of DR 63 (TC) by catching exceptions and setting
664         badbit.
665         (basic_ostream::flush): Implement the resolution of DR 60 (TC):
666         This is not an unformatted output function so don't construct
667         a sentry object.
668         * testsuite/testsuite_io.h (sync_streambuf): Define.
669         * testsuite/27_io/basic_ostream/flush/char/2.cc: New test.
670         * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: New test.
671         * testsuite/27_io/basic_ostream/put/char/1.cc: New test.
672         * testsuite/27_io/basic_ostream/write/char/1.cc: New test.
673         
674 2003-11-13  Paolo Carlini  <pcarlini@suse.de>
675
676         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1:
677         Fix, closely following the testcase included in the PR.
678         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: Ditto.
679         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: Ditto.
680         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: Ditto.
681
682 2003-11-13  Jonathan Wakely <redi@gcc.gnu.org>
683
684         * docs/html/17_intro/configury.html: XHTML tweak.
685
686 2003-11-13  Jonathan Wakely <redi@gcc.gnu.org>
687
688         * docs/html/debug_mode.html: XHTML fixes.
689
690 2003-11-12  Benjamin Kosnik  <bkoz@redhat.com>
691
692         * docs/html/debug_mode.html: Update.
693         * docs/html/17_intro/TODO: Update.
694
695 2003-11-12  Benjamin Kosnik  <bkoz@redhat.com>
696
697         * include/bits/c++config: Move using directive...
698         * include/debug/formatter.h: ...here.
699
700 2003-11-12  Carlo Wood  <carlo@alinoe.com>
701
702         PR libstdc++/12947
703         * bits/demangle.h
704         (_GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS): Added.
705         (_GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Added.
706         (session<Allocator>::next_peek() const): Added.
707         (decode_non_negative_decimal_integer(string_type&)):
708         Renamed from decode_decimal_integer(string_type&).
709         (session<Allocator>::decode_nested_name):
710         Decode <template_param> as well.
711         (session<Allocator>::add_substitution):
712         Handle <template-param> for <nested-name>'s.
713         (enum xary_nt): Added.
714         (struct entry_st): Added member `xary_nt type' instead of `bool unary'.
715         (symbol_name_table_c): Updated for `entry_st::type' and additional
716         operators (unary `operator+' and `sizeof(type)').
717         (offset_table_c): Updated for new operators (causing a new hash map).
718         (decode_operator_name): Match the updated hash map.
719         (session<Allocator>::decode_expression):
720         Support for `sizeof ([typename] type)' (st),
721         dependent names (sr) and casting operator (cv).  Handle
722         `entry_st::type'.  Handle _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
723         and _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME.
724         (session<Allocator>::decode_type_with_postfix):
725         Support `extern "C"' function types (FY).
726         * testsuite/demangle/regression/cw-16.cc: Added tests for the
727         added functionality.
728         * testsuite/demangle/regression/3111-2.cc: sizeof now has a space
729         appended.
730
731 2003-11-11  Paolo Carlini  <pcarlini@suse.de>
732
733         PR libstdc++/12875
734         * include/bits/fstream.tcc (setbuf): Don't do anything
735         after open(), in particular don't discard data.
736         (_M_allocate_internal_buffer): Tweak to not allocate memory
737         in case the buffer is provided by the user via setbuf.
738         * include/ext/stdio_filebuf.h: Tweak comment.
739         * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: New.
740         * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Likewise.
741         * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Tweak, now
742         setbuf does nothing after open().
743         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
744
745 2003-11-11  Doug Gregor  <gregod@cs.rpi.edu>
746
747         * docs/html/debug.html: Document libstdc++ debug mode.
748         * docs/html/debug_mode.html: Document libstdc++ debug mode design.
749         * docs/html/test.html: Document how to test under debug mode.
750         * docs/html/17_intro/howto.html: Document debug-mode macros.
751         * include/Makefile.am: Install debug-mode headers.
752         * src/Makefile.am: Include debug.cc.
753         * include/bits/basic_string.tcc: 
754           (basic_string::_S_construct): Fix NULL pointer check.
755           (__is_null_pointer): New.
756           Add precondition annotations.
757         * include/bits/stream_iterator.h (istream_iterator,
758         ostream_iterator): Added precondition annotations.
759         * include/bits/streambuf_iterator.h (istreambuf_iterator): Ditto.
760         * include/bits/stl_queue.h (queue, priority_queue): Ditto.
761         * include/bits/stl_stack.h (stack): Ditto.
762         * include/bits/basic_string.h (basic_string): Ditto.
763         * include/bits/basic_string.tcc (basic_string): Ditto.
764         * include/std/std_memory.h (auto_ptr): Ditto.
765         * include/std/std_valarray.h (valarray): Ditto.
766         * include/bits/stl_algo.h: Added algorithm precondition
767         annotations.
768         * include/bits/stl_algobase.h: Added algorithm precondition
769         annotations.
770         * include/bits/stl_numeric.h: Ditto.
771         * include/ext/algorithm: Added algorithm precondition
772         annotations. 
773         (__is_heap): Moved away from here.
774         * include/bits/stl_heap.h: Added algorithm precondition
775         annotations. 
776         (__is_heap): Moved to the top of this file.
777         (__is_heap): Added iterator range overloads.
778         * testsuite/20_util/auto_ptr_neg.cc: Fix line numbers to match up
779         with changes in std_memory.h.
780         * testsuite/23_containers/list/operators/4.cc: Don't verify
781         performance guarantees when in debug mode.
782         * testsuite/23_containers/bitset/invalidation/1.cc: New.
783         * testsuite/23_containers/deque/invalidation/1.cc: New.
784         * testsuite/23_containers/deque/invalidation/2.cc: New.
785         * testsuite/23_containers/deque/invalidation/3.cc: New.
786         * testsuite/23_containers/deque/invalidation/4.cc: New.
787         * testsuite/23_containers/list/invalidation/1.cc: New.
788         * testsuite/23_containers/list/invalidation/2.cc: New.
789         * testsuite/23_containers/list/invalidation/3.cc: New.
790         * testsuite/23_containers/list/invalidation/4.cc: New.
791         * testsuite/23_containers/map/invalidation/1.cc: New.
792         * testsuite/23_containers/map/invalidation/2.cc: New.
793         * testsuite/23_containers/multimap/invalidation/1.cc: New.
794         * testsuite/23_containers/multimap/invalidation/2.cc: New.
795         * testsuite/23_containers/multiset/invalidation/1.cc: New.
796         * testsuite/23_containers/multiset/invalidation/2.cc: New.
797         * testsuite/23_containers/set/invalidation/1.cc: New.
798         * testsuite/23_containers/set/invalidation/2.cc: New.
799         * testsuite/23_containers/vector/invalidation/1.cc: New.
800         * testsuite/23_containers/vector/invalidation/2.cc: New.
801         * testsuite/23_containers/vector/invalidation/3.cc: New.
802         * testsuite/23_containers/vector/invalidation/4.cc: New.
803         * testsuite/25_algorithms/heap.cc: Don't verify
804         performance guarantees when in debug mode.
805         * include/debug/bitset: New.
806         * include/debug/debug.h: New.
807         * include/debug/deque: New.
808         * include/debug/formatter.h: New.
809         * include/debug/hash_map: New.
810         * include/debug/hash_map.h: New.        
811         * include/debug/hash_multimap.h: New.
812         * include/debug/hash_set: New.
813         * include/debug/hash_set.h: New.
814         * include/debug/hash_multiset.h: New.   
815         * include/debug/list: New.
816         * include/debug/map: New.
817         * include/debug/map.h: New.
818         * include/debug/multimap.h: New.
819         * include/debug/multiset.h: New.        
820         * include/debug/safe_base.h: New.
821         * include/debug/safe_iterator.h: New.
822         * include/debug/safe_iterator.tcc: New.
823         * include/debug/safe_sequence.h: New.
824         * include/debug/set: New.
825         * include/debug/set.h: New.     
826         * include/debug/string: New.
827         * include/debug/vector: New.
828         * src/debug.cc: New.
829         * config/linker-map.gnu: Add debug mode symbols.
830         
831 2003-11-11  Benjamin Kosnik  <bkoz@redhat.com>
832
833         * src/string-inst.cc: Tweak namespaces.
834         * src/misc-inst.cc: Same.
835         * docs/html/debug.html: Edits.
836         * config/link-map.gnu: Remove cruft.
837
838         * include/bits/c++config: Add in namespace associations.
839         * include/std/std_bitset.h: Adjust namespace to __gnu_norm,
840         comment tweaks.
841         * include/bits/deque.tcc: Same.
842         * include/bits/list.tcc: Same.
843         * include/bits/stl_bvector.h: Same.
844         * include/bits/stl_deque.h: Same.
845         * include/bits/stl_list.h: Same.
846         * include/bits/stl_map.h: Same.
847         * include/bits/stl_multimap.h: Same.
848         * include/bits/stl_multiset.h: Same.
849         * include/bits/stl_set.h: Same.
850         * include/bits/stl_vector.h: Same.
851         * include/bits/vector.tcc: Same.
852
853         * include/std/std_algorithm.h: Remove markup comments.
854         * include/std/std_functional.h: Same.
855         * include/std/std_iterator.h: Same.
856         * include/std/std_numeric.h: Same.
857         * include/std/std_utility.h: Same.
858         * include/bits/stl_queue.h: Formatting tweaks.
859         * include/bits/stl_stack.h: Same.
860         * include/std/std_deque.h: Include debugging version in debug mode.
861         * include/std/std_list.h: Same.
862         * include/std/std_map.h: Same.
863         * include/std/std_set.h: Same.
864         * include/std/std_vector.h: Same.       
865         * include/std/std_queue.h: Use deque, vector.
866         * include/std/std_stack.h: Same.
867
868 2003-11-09  Paolo Carlini  <pcarlini@suse.de>
869
870         * include/bits/locale_facets.tcc (_M_insert_int,
871         _M_insert_float): Move a couple of vars inside an if block.
872
873 2003-11-09  Paolo Carlini  <pcarlini@suse.de>
874
875         PR libstdc++/12971
876         * include/bits/locale_facets.tcc
877         (money_put::do_put(..., long double)): Fix conversion
878         specification as per DR 328 [WP].
879         * testsuite/22_locale/money_put/put/char/12971.cc: Add.
880         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Ditto.
881         * docs/html/ext/howto.html: Add entry for DR 328.
882
883 2003-11-08  Paolo Carlini  <pcarlini@suse.de>
884
885         PR libstdc++/12967
886         * include/bits/list.tcc (merge): Implement resolution of
887         DR 300 [WP].
888         * docs/html/ext/howto.html: Add entry for DR 300; tweak entry
889         for DR 231.
890
891         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
892         Import R27.
893
894 2003-11-07  Jonathan Wakely  <redi@gcc.gnu.org>
895
896         * libsupc++/vec.cc: Conform to C++STYLE.
897
898 2003-11-07  Carlo Wood  <carlo@alinoe.com>
899
900         PR libstdc++/12736
901         * bits/demangle.h (qualifier_list<Allocator>::decode_KVrA): Added.
902         (qualifier_list<Allocator>::decode_qualifiers): Collect concatenated
903         K, V, r and A qualifiers before processing them as a group.
904         * testsuite/demangle/abi_text/01.cc: Reordered CV-qualifiers.
905         * testsuite/demangle/regression/cw-16.cc: New.
906
907 2003-11-07  Robert Millan  <robertmh@gnu.org>
908
909         * configure.host: Add kfreebsd*-gnu and knetbsd*-gnu.
910         * crossconfig.m4: Likewise.
911         * configure: Regenerate.
912
913 2003-11-07  Carlo Wood  <carlo@alinoe.com>
914
915         * include/bits/demangle.h
916         (qualifier_list<Allocator>::decode_qualifiers(string_type&,
917         string_type&, bool member_function_pointer_qualifiers):
918         Always separate the '[' of an array type with a space from
919         what is left of it, except when that is the closing bracket
920         of another array dimension.
921
922 2003-11-07  Carlo Wood  <carlo@alinoe.com>
923
924         * include/bits/demangle.h
925         (qualifier_list<Allocator>::decode_qualifiers(string_type&,
926         string_type&, bool) const): Made const.
927         (qualifier_list<Allocator>::M_printing_suppressed): Added mutable.
928         (_GLIBCXX_DEMANGLER_DOUT_ENTERING3, _GLIBCXX_DEMANGLER_RETURN3,
929         std::ostream& operator<<(std::ostream&, qualifier const&),
930         std::ostream& operator<<(std::ostream&, qualifier_list const&),
931         qualifier_list<Allocator>::decode_qualifiers(string_type&,
932         string_type&, bool) const,
933         session<Allocator>::decode_type_with_postfix(string_type&,
934         string_type&, qualifier_list<Allocator>*))
935         Added and/or changed debug-only hooks and code.
936
937 2003-11-04  Jeffrey D. Oldham  <oldham@codesourcery.com>
938
939         * libsupc++/vec.cc (__cxa_vec_delete2): If given a NULL pointer,
940         immediately return.  This reflects a C++ ABI change 2003 Nov 03.
941         (__cxa_vec_delete3): Likewise.
942         
943 2003-11-03  Petur Runolfsson  <peturr02@ru.is>
944
945         PR libstdc++/12790
946         * include/bits/fstream.tcc: Delete _M_last_overflowed.
947         (basic_filebuf::basic_filebuf): Initialize _M_state_last.
948         (basic_filebuf::open, basic_filebuf::close): Assign
949         _M_state_beg to _M_state_cur and _M_state_last.
950         (basic_filebuf::close): Call _M_terminate_output to handle
951         unshift and flushing.
952         (basic_filebuf::underflow): Assign _M_state_last, throw
953         exception instead of calling abort when codecvt::max_length()
954         is bad.
955         (basic_filebuf::seekoff): Use _M_state_last when calling
956         codecvt::length(), pass correct state to _M_seek.
957         (basic_filebuf::seekpos): Pass __pos.state() to _M_seek.
958         (basic_filebuf::_M_seek): Add __state_type parameter,
959         set _M_state_cur correctly, store the resulting state in
960         the return value and use _M_terminate_output to handle
961         flushing and unshift.
962         (basic_filebuf::_M_terminate_output): Flush contents of
963         output buffer, if any, then call codecvt::unshift as
964         needed and output the result.
965         (basic_filebuf::sync): Move here, don't modify _M_writing
966         or _M_reading.
967         
968         * include/std/std_fstream.h
969         (basic_filebuf::_M_state_last): Declare it.
970         (basic_filebuf::_M_last_overflowed): Delete.
971         (basic_filebuf::_M_seek): Add __state_type parameter.
972         (basic_filebuf::sync): Declare only.
973         (basic_filebuf::_M_output_unshift): Delete.
974         (basic_filebuf::_M_terminate_output): Declare it.
975         
976         * testsuite/testsuite_character.h:
977         Define character class and state class plus char_traits and
978         codecvt specializations for same for testing support for
979         stateful encodings.
980         
981         * testsuite/27_io/basic_filebuf/close/12790-1.cc,
982         * testsuite/27_io/basic_filebuf/close/char/12790-1.cc,
983         * testsuite/27_io/basic_filebuf/close/char/12790-2.cc,
984         * testsuite/27_io/basic_filebuf/close/char/12790-3.cc,
985         * testsuite/27_io/basic_filebuf/close/char/12790-4.cc,
986         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc,
987         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc,
988         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc,
989         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc,
990         * testsuite/27_io/basic_filebuf/open/12790-1.cc,
991         * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc,
992         * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc,
993         * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc,
994         * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc,
995         * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc,
996         * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc,
997         * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc,
998         * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc,
999         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc,
1000         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc,
1001         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc,
1002         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc,
1003         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc,
1004         * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc,
1005         * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc,
1006         * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc,
1007         * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc,
1008         * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc,
1009         * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc,
1010         * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc,
1011         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc,
1012         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc,
1013         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc,
1014         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc,
1015         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc,
1016         * testsuite/27_io/basic_filebuf/sync/char/1.cc,
1017         * testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc:
1018         New tests.
1019
1020         * testsuite/27_io/basic_filebuf/3.cc,
1021         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc,
1022         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc,
1023         * testsuite/27_io/basic_fstream/3.cc,
1024         * testsuite/27_io/basic_ifstream/3.cc,
1025         * testsuite/27_io/basic_ofstream/3.cc:
1026         Use streamoff as off_type and fpos<state_type> as pos_type.
1027
1028         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc,
1029         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc:
1030         Check that sync does *not* set _M_writing to false.
1031
1032 2003-11-03  Anthony Green  <green@redhat.com>
1033
1034         * libmath/stubs.c (sqrtf, sqrtl): Reorder so they appear before
1035         they're used.
1036
1037 2003-11-03  Benjamin Kosnik  <bkoz@redhat.com>
1038
1039         * include/bits/locale_facets.h (time_get::_M_extract_name): Add
1040         ctype argument. 
1041         * include/bits/locale_facets.tcc: Same, use it to allow
1042         capitalized names.
1043         
1044         * include/bits/fstream.tcc: Spacing tweak.
1045         * include/bits/istream.tcc: Same.
1046         * include/bits/ostream.tcc: Same.
1047
1048 2003-10-30  Paolo Carlini  <pcarlini@suse.de>
1049
1050         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1051         __mod is only assigned, never used its value, remove it.
1052
1053 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1054
1055         * include/bits/locale_facets.tcc (time_get::do_get_year):
1056         Absolutely avoid dereferencing end iterators.
1057         (time_put::put): Minor clean up.
1058
1059         * include/bits/locale_facets.tcc: Cosmetic reformattings.
1060
1061 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1062
1063         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1064         Revert the last commit, is not correct, sorry.
1065         
1066 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1067
1068         * config/locale/generic/c_locale.cc: Add back <cmath> and
1069         <cstdlib>.
1070
1071         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1072         Clean up.
1073
1074 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1075
1076         * include/bits/locale_facets.tcc (time_put::put): Absolutely
1077         avoid dereferencing end iterators; clean up.
1078
1079         * include/bits/locale_facets.tcc (num_get::_M_extract_float,
1080         num_get::_M_extract_int): Minor tweak.
1081
1082 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1083
1084         * include/bits/locale_facets.tcc: Remove some unnecessary
1085         includes.
1086         * config/locale/generic/c_locale.cc: Include <cerrno> here.
1087         * config/locale/gnu/c_locale.cc: Likewise.
1088
1089 2003-10-28  Paolo Carlini  <pcarlini@suse.de>
1090
1091         * include/bits/locale_facets.tcc
1092         (money_get<>::do_get(..., string_type&)): Absolutely avoid
1093         dereferencing end iterators; general clean up.
1094
1095 2003-10-28  Paolo Carlini  <pcarlini@suse.de>
1096
1097         * include/bits/locale_facets.tcc (time_get::_M_extract_num):
1098         Absolutely avoid dereferencing end iterators.
1099         (time_get::_M_extract_name): Likewise.
1100
1101         * include/bits/locale_facets.tcc
1102         (time_get::_M_extract_via_format, case 'e'): Don't try to
1103         be smart wrt returning the right __beg in case of parse
1104         error, time_get::_M_extract_num must be fixed instead.
1105
1106 2003-10-27  Paolo Carlini  <pcarlini@suse.de>
1107
1108         PR libstdc++/12778
1109         * acinclude.m4 (GLIBCXX_CHECK_LFS): Use the C++ compiler.
1110         * aclocal.m4: Regenerate.
1111         * configure: Regenerate.
1112
1113 2003-10-27  Benjamin Kosnik  <bkoz@redhat.com>
1114         
1115         * docs/html/17_intro/TODO: Add links.
1116         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1117         Uncomment.
1118         
1119 2003-10-27  Paolo Carlini  <pcarlini@suse.de>
1120
1121         PR libstdc++/12750
1122         * include/bits/locale_facets.tcc
1123         (time_get::_M_extract_via_format): Deal with code 'e'.
1124         * testsuite/22_locale/time_get/get_date/char/12750.cc: New.
1125         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Ditto.
1126
1127         * include/bits/locale_facets.tcc
1128         (time_get::_M_extract_via_format): Tweak to absolutely avoid
1129         dereferencing end iterators.
1130
1131         * include/bits/locale_facets.h (__verify_grouping):
1132         Const-ify second parameter.
1133         * include/bits/locale_facets.tcc (__verify_grouping): Ditto.
1134         * src/locale-inst.cc (__verify_grouping): Ditto.
1135
1136 2003-10-27  Paolo Carlini  <pcarlini@suse.de>
1137
1138         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1139         Various things: 1- Avoid absolutely end iterator dereferences;
1140         2- Improve performance-wise the code skipping leading zeros;
1141         3- Fix two bugs wrt early bail out in case of parsing errors
1142         (see testcases); 4- General clean up.
1143         (num_get::_M_extract_int): Likewise, except 3-. Additionally,
1144         use __builtin_expect to favor base 10 inputs.
1145         * testsuite/22_locale/num_get/get/char/7.cc: New.
1146         * testsuite/22_locale/num_get/get/wchar_t/7.cc: Ditto.
1147
1148 2003-10-26  Paolo Carlini  <pcarlini@suse.de>
1149
1150         * testsuite/22_locale/money_put/put/char/1.cc: Clean up.
1151         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Ditto.
1152
1153 2003-10-25  Paolo Carlini  <pcarlini@suse.de>
1154
1155         * include/bits/locale_facets.tcc (num_get::_M_extract_int):
1156         __pos in only incremented, never used its value, remove it.
1157
1158 2003-10-24  Robert Millan  <robertmh@gnu.org>
1159
1160         * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add kfreebsd*-gnu
1161         and knetbsd*-gnu.
1162         * aclocal.m4:  Regenerated.
1163         * configure:  Regenerated.
1164
1165 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1166
1167         * include/bits/locale_facets.tcc (money_get::do_get(...,
1168         long double&): Properly size the temporary buffer.
1169         * testsuite/22_locale/money_get/get/char/11.cc: New.
1170         * testsuite/22_locale/money_get/get/wchar_t/11.cc: Ditto.
1171
1172         * include/bits/locale_facets.tcc (num_put::_M_group_int,
1173         num_put::_M_group_float, money_put::do_put(..., const
1174         string_type&), collate::do_compare, collate::do_transform):
1175         Prefer basic_string::data() to c_str() when the '\0'
1176         terminator is not really needed.
1177
1178 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1179
1180         * include/bits/locale_facets.tcc (__verify_grouping):
1181         Prefer '=' to an unnecessary '&='.
1182
1183 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1184
1185         * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
1186         Tweak my fix for libstdc++/12657.
1187
1188 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1189
1190         * include/bits/locale_facets.tcc (money_get::do_get(...,
1191         string_type&): Minor tweak to the previous commit.
1192
1193 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1194
1195         * include/bits/locale_facets.tcc (money_get::do_get(...,
1196         string_type&): Disregard the previous commit: doesn't hurt but
1197         doesn't accomplish anything useful either. This is the right
1198         one, speeding up greatly the function in case of early fail.
1199
1200 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1201
1202         * include/bits/locale_facets.tcc (money_get::do_get(...,
1203         string_type&): Move an if block, thus minimizing the amount
1204         of code processed anyway when __tmp_units.size() == 0.
1205
1206 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1207
1208         * include/bits/locale_facets.tcc
1209         (time_get<>::_M_extract_via_format): Deal with case 'C' too,
1210         equivalent to 'y'.
1211
1212 2003-10-23  Benjamin Kosnik  <bkoz@redhat.com>
1213
1214         * docs/html/documentation.html: Add a pointer to the doxygen style
1215         guide.
1216         * docs/html/17_intro/TODO: Update.
1217         * docs/html/test.html: Add instructions for running a subset of
1218         tests, update.
1219
1220 2003-10-23  Paolo Carlini  <pcarlini@suse.de>
1221
1222         * include/bits/locale_facets.tcc (money_get<>::do_get(...,
1223         string_type&)): Use find_first_not_of to strip leading
1224         zeros; if __tmp_units == "0" never prefix it with '-';
1225         always fail if __tmp_units is empty.
1226         * testsuite/22_locale/money_get/get/char/10.cc: New.
1227         * testsuite/22_locale/money_get/get/wchar_t/10.cc: Ditto.
1228
1229 2003-10-23  Phil Edwards  <phil@codesourcery.com>
1230
1231         * config/os/vxworks/ctype_noninline.h:  Adjust ctor to match
1232         2003-10-21 change.
1233
1234 2003-10-22  Paolo Carlini  <pcarlini@suse.de>
1235
1236         * include/bits/locale_facets.tcc (__int_to_char): Remove
1237         the const int parameter.
1238         (_M_insert_int): Update caller.
1239         * src/locale-inst.cc (__int_to_char): Update instantiations.    
1240
1241 2003-10-22  Benjamin Kosnik  <bkoz@redhat.com>
1242
1243         * include/bits/locale_facets.h: Correct byname facets for "C"
1244         locale.
1245         * config/locale/generic/ctype_members.cc: Same.
1246         * config/locale/generic/messages_members.h: Same.
1247         * config/locale/gnu/ctype_members.cc: Same.
1248         * config/locale/gnu/messages_members.h: Same.
1249         * include/bits/codecvt.h: Same.
1250         * src/ctype.cc: Same.
1251         * testsuite/22_locale/codecvt_byname/1.cc: New.
1252         * testsuite/22_locale/collate/1.cc: Edit.
1253         * testsuite/22_locale/collate_byname/1.cc: Derivation tests, move to...
1254         * testsuite/22_locale/collate_byname/named_equivalence.cc: ...here.
1255         * testsuite/22_locale/ctype/1.cc: Derivation tests.
1256         * testsuite/22_locale/ctype/11844.cc: Move...
1257         * testsuite/22_locale/ctype_base/11844.cc: ...here.
1258         * testsuite/22_locale/ctype_base/1.cc: Move mask bits here.
1259         * testsuite/22_locale/ctype_byname/1.cc: Name.
1260         * testsuite/22_locale/messages_byname/1.cc: New.
1261         * testsuite/22_locale/messages_byname/named_equivalence.cc: New.
1262         * testsuite/22_locale/moneypunct_byname/1.cc: Derivation test.
1263         * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: New.
1264         * testsuite/22_locale/numpunct/1.cc: Edit.
1265         * testsuite/22_locale/numpunct_byname/2.cc: Move...
1266         * testsuite/22_locale/numpunct/members/char/3.cc: ...here.
1267         * testsuite/22_locale/numpunct_byname/1.cc: Derivation tests.
1268         * testsuite/22_locale/numpunct_byname/named_equivalence.cc: New.
1269
1270 2003-10-22  Paolo Carlini  <pcarlini@suse.de>
1271
1272         PR libstdc++/8610
1273         * acinclude.m4 (GLIBCXX_CHECK_INT64_T): New macro,
1274         checking for the availability of int64_t.
1275         (GLIBCXX_CHECK_LFS): New macro, checking for LFS support.
1276         * configure.ac: Call here.
1277         * acconfig.h: Add undef for the corresponding symbols.
1278         * config/io/basic_file_stdio.cc (__basic_file<char>::open):
1279         Depending on _GLIBCXX_USE_LFS, call fopen64 or fopen.
1280         (__basic_file<char>::seekoff): Likewise, call lseek64 when
1281         available, otherwise lseek, checking the __off parameter.
1282         * include/bits/postypes.h: Typedef __streamoff_base_type
1283         to int64_t if available, otherwise long long.
1284         * aclocal.m4: Regenerate.
1285         * config.h.in: Likewise.
1286         * configure: Likewise.
1287
1288         * acinclude.m4 (GLIBCXX_CHECK_POLL, GLIBCXX_CHECK_WRITEV):
1289         Use AC_TRY_LINK instead of AC_TRY_COMPILE.
1290         
1291 2003-10-22  Paolo Carlini  <pcarlini@suse.de>
1292
1293         PR libstdc++/12657
1294         * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
1295         Implement resolution of DR 292 (WP).
1296         * docs/html/ext/howto.html: Add entry for DR 292.
1297
1298 2003-10-21  Benjamin Kosnik  <bkoz@redhat.com>
1299
1300         * include/ext/mt_allocator.h: Change include to gthr.h.
1301         * include/ext/rope: Same. Add _Refcount_base definitions.
1302         * include/ext/pool_allocator.h: Adjust namespaces.
1303         * include/bits/stl_threads.h (_Refcount_base): Move.
1304         Put remaining into namespace __gnu_cxx.
1305         
1306 2003-10-21  Benjamin Kosnik  <bkoz@redhat.com>
1307  
1308         PR libstdc++/9858
1309         * include/bits/locale_facets.h (ctype<char>): Remove
1310         __ctype_abstract_base.
1311         (ctype<char>::do_is): Remove.
1312         (ctype<char>::do_scan_is): Remove.
1313         * src/ctype.cc: Same. Inline the rest.
1314         * testsuite/22_locale/ctype/is/char/9858.cc: New.
1315         * config/os/aix/ctype_noninline.h: Adjust ctor.
1316         * config/os/bsd/freebsd/ctype_noninline.h: Same.
1317         * config/os/bsd/netbsd/ctype_noninline.h: Same.
1318         * config/os/djgpp/ctype_noninline.h: Same.
1319         * config/os/generic/ctype_noninline.h: Same.
1320         * config/os/gnu-linux/ctype_noninline.h: Same.
1321         * config/os/hpux/ctype_noninline.h: Same.
1322         * config/os/irix/irix5.2/ctype_noninline.h: Same.
1323         * config/os/irix/irix6.5/ctype_noninline.h: Same.
1324         * config/os/mingw32/ctype_noninline.h: Same.
1325         * config/os/newlib/ctype_noninline.h: Same.
1326         * config/os/qnx/qnx6.1/ctype_noninline.h: Same.
1327         * config/os/solaris/solaris2.5/ctype_noninline.h: Same.
1328         * config/os/solaris/solaris2.6/ctype_noninline.h: Same.
1329         * config/os/solaris/solaris2.7/ctype_noninline.h: Same.
1330         * config/os/windiss/ctype_noninline.h: Same.
1331
1332 2003-10-21  Paolo Carlini  <pcarlini@suse.de>
1333
1334         * src/locale.cc: Tweak a comment.
1335         * src/localename.cc: Move a comment.
1336
1337 2003-10-20  Benjamin Kosnik  <bkoz@redhat.com>
1338  
1339         PR libstdc++/10081
1340         * testsuite_hooks.h: Add pod_type, ctype and numpunct specializations.
1341         * testsuite_hooks.cc: Same.
1342         * 22_locale/numpunct/members/pod/1.cc: Edit.
1343         * 22_locale/numpunct/members/pod/2.cc: Same.
1344         * 27_io/basic_istream/sentry/char/3983-fstream.cc: Move ...
1345         * 27_io/basic_istream/sentry/char/3983-sstream.cc: Move ...
1346         * 27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc: Here.
1347         * 27_io/basic_istream/extractors_character/pod/3983-2.cc: Here.
1348         * 27_io/basic_istream/extractors_other/pod/3983-3.cc: Here.
1349         * 27_io/basic_ostream/sentry/char/3983-fstream.cc: Remove.
1350         * 27_io/basic_ostream/sentry/char/3983-sstream.cc: Remove.
1351         * 27_io/basic_istream/sentry/pod/1.cc: New.
1352         * 27_io/basic_ostream/sentry/pod/1.cc: New.
1353         * 21_strings/basic_string/inserters_extractors/pod/10081-in.cc: New.
1354         * 21_strings/basic_string/inserters_extractors/pod/10081-out.cc: New.
1355
1356 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1357
1358         * config/cpu/mips/atomicity.h (__atomic_add): Use _ABIO32 instead
1359         of external _MIPS_SIM_ABI32.
1360
1361 2003-10-20  Phil Edwards  <phil@codesourcery.com>
1362
1363         * configure.ac:  Fix comment typo.
1364         * configure.host:  Add vxworks to host_os switch.
1365         * crossconfig.m4:  Remove old commented os_include_dir variables
1366         left over from autotools transition.
1367         (*-vxworks):  New stanza.
1368         (*-windiss):  Add missing symbols.
1369         * configure:  Regenerate.
1370         * config/os/vxworks/ctype_base.h, config/os/vxworks/ctype_inline.h,
1371         config/os/vxworks/ctype_noninline.h, config/os/vxworks/os_defines.h:
1372         New files.
1373         * config/os/windiss/os_defines.h:  Define __C9X__.
1374
1375 2003-10-19  David Edelsohn  <edelsohn@gnu.org>
1376
1377         PR other/12506
1378         * configure.host (aix4,aix*): Define os_include_dir to os/generic.
1379
1380 2003-10-18  Andreas Tobler  <a.tobler@schweiz.ch>
1381
1382         * src/locale.cc (locale::_S_initialize): Re-apply workaround a
1383         confusion of the use of the gthr API when __gthread_active_p()
1384         returns true.
1385
1386 2003-10-17  Benjamin Kosnik  <bkoz@redhat.com>
1387  
1388         * src/Makefile.am: Add new files.
1389         * src/Makefile.in: Regenerate.
1390         * src/globals.cc: Split into..
1391         * src/globals_io.cc: New.
1392         * src/globals_locale.cc: New.
1393         * src/ios.cc: Split into...
1394         * src/ios_init.cc: New.
1395         * src/ios_locale.cc: New.
1396         * src/locale-inst.cc: Split into..
1397         * src/wlocale-inst.cc: New.
1398         * src/locale-misc-inst.cc: New.
1399         * src/locale.cc, src/localename: Split into...
1400         * src/locale_facets.cc: New.
1401         * src/locale_init.cc: New.
1402         * src/wstring-inst.cc: Add copyright info.
1403
1404 2003-10-16  Petur Runolfsson  <peturr02@ru.is>
1405
1406         PR libstdc++/11450
1407         PR libstdc++/11543
1408         PR libstdc++/12065
1409         * config/io/basic_file_stdio.cc (__basic_file::seekoff):
1410         Change return value from streampos to streamoff.
1411         (__basic_file::seekpos): Delete.
1412         * config/io/basic_file_stdio.h: Same.
1413         * config/io/c_io_stdio.h: Remove streamoff and wstreamsize typedefs.
1414         * include/Makefile.am (bits_headers): Add bits/postypes.h.
1415         * include/bits/char_traits.h: Include bits/postypes.h instead of
1416         bits/fpos.h.
1417         * include/bits/fstream.tcc (basic_filebuf::open,
1418         basic_filebuf::pbackfail): Don't use < or >= to compare pos_type
1419         values, use == and != instead.
1420         (basic_filebuf::_M_seek): Use explicit conversion from streamoff
1421         to pos_type.
1422         (basic_filebuf::imbue):  Don't use ! on pos_type values, use
1423         == instead. Don't use __check_facet(_M_codecvt) unless is_open().
1424         * include/bits/postypes.h: New file.
1425         Add __streamoff_base_type typedef, streamsize.
1426         (streamoff, streampos, wstreampos): Define typedefs, with
1427         streamoff defined as...
1428         (streamoff): New class. Document implementation defined
1429         aspects.
1430         (fpos): New implementation. Document implementation defined
1431         aspects.
1432         * include/bits/sstream.tcc (basic_stringbuf::seekpos): Use
1433         explicit conversion from pos_type to off_type.
1434         * include/std/std_iosfwd.h: Include bits/postypes.h instead
1435         of bits/fpos.h.
1436         * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: New test.
1437         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: New test.
1438         * testsuite/27_io/fpos/11450.cc: New test.
1439         * testsuite/27_io/fpos/mbstate_t/12065.cc: New test.
1440         * testsuite/27_io/fpos/mbstate_t/4_neg.cc: New test.
1441         * testsuite/27_io/types/3.cc: New test.
1442
1443 2003-10-16  Benjamin Kosnik  <bkoz@redhat.com>
1444
1445         * configure.host: Remove fpos_include_dir.
1446         * configure.ac: Remove FPOS_INC_SRCDIR.
1447         * configure: Regenerate.
1448         * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Remove FPOS_H.
1449         * aclocal.m4: Regenerate.
1450         * include/Makefile.am (host_headers): Remove fpos.h.
1451         (bits_headers): Add postypes.h.
1452         * include/Makefile.in: Regenerate.
1453         * config/os/gnu-linux/fposh: Remove.
1454         * config/os/generic/fpos.h: Remove.
1455
1456         * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Fixup.
1457         * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Same.
1458         * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Same.
1459         * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Same.
1460         * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Same.
1461         * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Same.
1462         * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Same.
1463         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Same.
1464         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Same.
1465         * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Same.
1466         * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Same.
1467         * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Same.
1468         * testsuite/27_io/basic_istream/seekg/char/2.cc: Same.
1469         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Same.
1470         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Same.
1471         * testsuite/27_io/fpos/mbstate_t/3.cc: Same.
1472         * testsuite/27_io/objects/char/10.cc: Same.
1473
1474 2003-10-16  Paolo Carlini  <pcarlini@suse.de>
1475
1476         * src/locale.cc (locale::locale(const char*)): ... one
1477         more comparison missed in the previous commit.
1478
1479 2003-10-16  Benjamin Kosnik  <bkoz@redhat.com>
1480
1481         * acconfig.h: Add HAVE_DRAND48.
1482         * crossconfig.m4: Remove ISATTY.
1483         * aclocal.m4: Regenerated.
1484         * config.h.in: Regenerated.
1485         * configure: Regenerated.
1486         
1487 2003-10-16  Bernardo Innocenti  <bernie@develer.com>
1488
1489         * config/cpu/m68k/atomicity.h (__exchange_and_add): Use TAS on
1490         __mcf5400__. Don't rely on __mc68000__ to detect a bare 68000.
1491         Document SMP safeness of asm macros.
1492
1493 2003-10-16  Paolo Carlini  <pcarlini@suse.de>
1494
1495         * src/locale.cc (locale::locale(const char*)): Tweak
1496         a couple of comparisons to use basic_string operators.
1497
1498 2003-10-16  Paolo Carlini  <pcarlini@suse.de>
1499
1500         PR libstdc++/12540
1501         * config/locale/gnu/monetary_members.cc
1502         (moneypunct<wchar_t, true/false>::_M_initialize_moneypunct):
1503         Don't leak memory if new throws.
1504         * src/locale.cc (locale::locale(const char*)): In order not
1505         to leak memory in case new throws, use a basic_string type
1506         for __res too and avoid strdup.
1507
1508 2003-10-14  Jeff Bailey  <jbailey@nisa.net>
1509         
1510         PR libstdc++/12562
1511         * crossconfig.m4: Share the config between *-linux* and *-gnu*.
1512         * configure: Regenerate.
1513
1514 2003-10-14  Carlo Wood  <carlo@alinoe.com>
1515
1516         PR libstdc++/12600
1517         * include/bits/demangle.h (session<Allocator>::
1518           decode_unqualified_name(string_type& output)): Fail on a
1519           <operator-name> when decoding <template-argument>.
1520         * testsuite/demangle/regression/cw-15.cc: New.
1521
1522 2003-10-14  Paolo Carlini  <pcarlini@unitus.it>
1523
1524         PR libstdc++/11480
1525         * include/bits/stl_algo.h (unique): Fix.
1526         * testsuite/25_algorithms/unique.cc: Move to unique/1.cc.
1527         * testsuite/25_algorithms/unique/11480.cc: New, from the PR.
1528         * testsuite/25_algorithms/unique/2.cc: New.
1529
1530 2003-10-14  Paolo Carlini  <pcarlini@unitus.it>
1531
1532         * src/localename.cc (_M_replace_categories, M_replace_facet):
1533         Const-ify a couple of variables.
1534
1535 2003-10-14  Petur Runolfsson  <peturr02@ru.is>
1536             Andreas Tobler  <a.tobler@schweiz.ch>
1537
1538         * src/locale.cc (locale::_S_initialize): Workaround a confusion
1539         of the use of the gthr API when __gthread_active_p() returns true.
1540
1541 2003-10-12  Petur Runolfsson  <peturr02@ru.is>
1542             Paolo Carlini  <pcarlini@unitus.it>
1543
1544         PR libstdc++/11460
1545         * src/strstream.cc (pbackfail): Fix to use to_int_type.
1546         * testsuite/backward/11460.cc: New, from the PR.
1547
1548 2003-10-12  Paolo Carlini  <pcarlini@unitus.it>
1549
1550         * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
1551         Change #ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS to a comment.
1552         * include/bits/basic_string.tcc: Likewise.
1553         * include/bits/ios_base.h: Likewise.
1554         * include/bits/istream.tcc: Likewise.
1555         * include/bits/locale_facets.tcc: Likewise.
1556         * include/bits/ostream.tcc: Likewise.
1557         * include/bits/stl_function.h: Likewise.
1558         * include/bits/stl_multiset.h: Likewise.
1559         * include/bits/stl_pair.h: Likewise.
1560         * include/bits/stl_set.h: Likewise.
1561         * include/bits/streambuf_iterator.h
1562         * include/std/std_iosfwd.h: Likewise.
1563         * include/std/std_istream.h: Likewise.
1564         * include/std/std_sstream.h: Likewise.
1565         * include/std/std_streambuf.h: Likewise.
1566         * src/ios.cc: Likewise.
1567         * include/bits/c++config:
1568         Comment out #define _GLIBCXX_RESOLVE_LIB_DEFECTS 1.
1569         * testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak a
1570         dg-error directive due to removal of a blank line.
1571         * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
1572
1573 2003-10-12  Andreas Tobler  <a.tobler@schweiz.ch>
1574             Paolo Carlini  <pcarlini@unitus.it>
1575
1576         PR libstdc++/11844/11740 (cont)
1577         * config/os/generic/ctype_inline.h (ctype<char>::is):
1578         Generically, use a bitmasksize of 15 (instead of 10);
1579         Fix the logic to actually return (M & m) != 0 as per
1580         22.2.1.1.2.
1581
1582 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
1583
1584         * crossconfig.m4 (*-uclinux*): New target.
1585         * configure: Regenerate.
1586
1587 2003-10-10  Paolo Carlini  <pcarlini@unitus.it>
1588
1589         * include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT))
1590         Avoid unnecessarily calling __builtin_alloca and dealing
1591         explicitly with width() smaller than zero.
1592         (operator<<(basic_ostream&, char), operator<<(basic_ostream&,
1593         const _CharT*), operator<<(basic_ostream<_CharT, _Traits>&,
1594         const char*), operator<<(basic_ostream<char, _Traits>&,
1595         const char*), operator<<(basic_ostream, const basic_string&)):
1596         Likewise.
1597
1598 2003-10-09  Benjamin Kosnik  <bkoz@redhat.com>
1599
1600         * config/linker-map.gnu: Make more *_type_info bits visible.
1601         Move new/delete bits back into GLIBCXX space.
1602
1603         * include/bits/locale_classes.h: Move _M_id out of line, so that
1604         locale::id::_S_highwater can be removed from the export list.
1605         * src/locale.cc (locale::id::_M_id): Define.
1606         
1607 2003-10-09  Andreas Tobler  <a.tobler@schweiz.ch>
1608
1609         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_64 for
1610         SPARC64.
1611
1612 2003-10-09  Paolo Carlini  <pcarlini@unitus.it>
1613
1614         PR libstdc++/11844
1615         * config/os/aix/ctype_base.h: Fix 'alnum' and 'graph'
1616         to conform to the requirements of 22.2.1.
1617         * config/os/bsd/freebsd/ctype_base.h: Likewise.
1618         * config/os/djgpp/ctype_base.h: Likewise.
1619         * config/os/generic/ctype_base.h: Likewise.
1620         * config/os/gnu-linux/ctype_base.h: Likewise.
1621         * config/os/hpux/ctype_base.h: Likewise.
1622         * config/os/irix/irix6.5/ctype_base.h: Likewise.
1623         * config/os/solaris/solaris2.6/ctype_base.h: Likewise.
1624         * config/os/solaris/solaris2.7/ctype_base.h: Likewise.
1625         * testsuite/22_locale/ctype/11844.cc: New.
1626
1627         * config/locale/generic/ctype_members.cc (do_is):
1628         Generically, use a bitmasksize of 15 (instead of 10), since
1629         we don't know the numerical encoding of the various categories
1630         in the underlying /usr/include/ctype.h.
1631
1632 2003-10-09  Benjamin Kosnik  <bkoz@redhat.com>
1633
1634         * src/string-inst.cc: Prune.
1635         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
1636         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
1637         
1638 2003-10-09  Petur Runolfsson  <peturr02@ru.is>
1639
1640         * src/io-inst.cc: Don't include iostream.
1641         * include/bits/ios_base.h (ios_base::failure): Use string.
1642         * src/Makefile.am: Add ios_failure.cc.
1643         * src/Makefile.in: Regenerate.
1644         * src/ios.cc: Move ios_base::failure definitions to...
1645         * src/ios_failure.cc: ...here. New.
1646
1647 2003-10-09  Petur Runolfsson  <peturr02@ru.is>
1648
1649         PR libstdc++/9874
1650         * include/bits/fstream.tcc (basic_filebuf::seekoff):
1651         Move code needed for both seekoff and seekpos...
1652         (basic_filebuf::_M_seek): ...here. New function.
1653         (basic_filebuf::seekpos): Don't call seekoff, call _M_seek.
1654         * include/std/std_fstream.h (basic_filebuf::_M_seek): Declare it.
1655         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: New test.
1656
1657         * testsuite/22_locale/locale/cons/12438.cc: Increase memory limit.
1658
1659 2003-10-08  Paolo Carlini  <pcarlini@unitus.it>
1660
1661         * include/bits/locale_facets.tcc: More minor cosmetic
1662         changes and const-ifications of some variables.
1663
1664 2003-10-07  Paolo Carlini  <pcarlini@unitus.it>
1665
1666         * include/bits/locale_facets.tcc: Minor cosmetic changes
1667         and const-ifications of some variables.
1668
1669         * include/bits/locale_facets.tcc
1670         (money_get::do_get(..., string_type&)): Simplify an if-else.
1671
1672 2003-10-06  Paolo Carlini  <pcarlini@unitus.it>
1673
1674         PR libstdc++/11740
1675         * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is):
1676         Fix to actually return (M & m) != 0 as per 22.2.1.1.2.
1677         * config/locale/generic/ctype_members.cc: Same.
1678         * testsuite/22_locale/ctype/is/wchar_t/11740.cc: New.
1679
1680 2003-10-06  Paolo Carlini  <pcarlini@unitus.it>
1681
1682         * include/bits/locale_facets.tcc (__pad<>::_S_pad):
1683         Improve performance-wise: avoid one traits::copy, avoid
1684         the __builtin_alloca, streamline.
1685
1686 2003-10-05  Paolo Carlini  <pcarlini@unitus.it>
1687
1688         * include/bits/locale_facets.tcc
1689         (num_put::do_put(..., bool)): Prefer ?: to if-else.
1690         (time_get::_M_extract_name): Qualify min with std::.
1691         (__pad<>::_S_pad): Constify two variables; simplify an
1692         if-else statement factoring out some code.
1693
1694         * include/bits/locale_facets.tcc: Minor cosmetic changes.
1695
1696 2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
1697
1698         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1699         Constify a couple of variables.
1700         (num_get::do_get(..., bool&)): Constify __c; prefer *__beg,
1701         ++__beg to *__beg++.
1702
1703 2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
1704             Petur Runolfsson  <peturr02@ru.is>
1705
1706         * include/ext/stdio_sync_filebuf.h: Don't include the whole
1707         <fstream>, only <streambuf> and <cstdio>.
1708
1709 2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
1710
1711         PR libstdc++/12206
1712         * include/bits/fstream.tcc (imbue): In case a codecvt facet
1713         is not available, set _M_codecvt = 0.
1714         * testsuite/27_io/basic_filebuf/imbue/12206.cc: New.
1715
1716 2003-10-02  Harald Boehme  <boehme@informatik.hu-berlin.de>
1717
1718         PR libstdc++/12451
1719         * libsupc++/cxxabi.h: Move forward declaration of __class_type_info.
1720         
1721 2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
1722
1723         * include/bits/locale_classes.h (locale::facet::_S_get_c_name): Add.
1724         * src/locale.cc: Define.
1725         * src/localename.cc: Use it.
1726         * config/locale/generic/time_members.h: Same.
1727         * config/locale/gnu/messages_members.h: Same.
1728         * config/locale/gnu/time_members.h: Same.
1729
1730 2003-10-02  Paolo Carlini  <pcarlini@unitus.it>
1731
1732         PR libstdc++/12232
1733         * include/bits/fstream.tcc (seekoff): Ignore the openmode
1734         argument; simplify.
1735         * config/io/basic_file_stdio.h (__basic_file<char>::seekoff,
1736         seekpos): Remove the openmode argument.
1737         * config/io/basic_file_stdio.cc (__basic_file<char>::seekoff,
1738         seekpos): Remove redundant placeholder for the openmode argument.
1739         * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: New.
1740         * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Tweak.
1741         * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
1742         * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
1743         * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
1744
1745 2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
1746
1747         * src/locale.cc (locale::_S_initialize): Use __gthread_active_p.
1748         (locale::facet::_S_get_c_locale): Same.
1749         
1750 2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
1751
1752         * config/linker-map.gnu: Export _S_get_c_locale instead of
1753         _S_c_locale object.
1754
1755 2003-10-02  Petur Runolfsson  <peturr02@ru.is>
1756
1757         * config/locale/generic/c_locale.cc
1758         (category_names, locale::_S_categories): Const qualify.
1759         * config/locale/gnu/c_locale.cc: Same.
1760         * config/locale/generic/time_members.h (__timepunct::__timepunct):
1761         Copy string contents before assigning to _M_name_timepunct,
1762         qualify strcpy and strlen with std::.
1763         * config/locale/gnu/time_members.h: Same.
1764         * config/locale/gnu/messages_members.h (messages::messages):
1765         Copy string contents before assigning to _M_name_messages,
1766         qualify strcpy and strlen with std::.
1767         * config/os/gnu-linux/ctype_noninline.h
1768         (ctype<char>::classic_table()): Don't call locale::classic().
1769         * include/bits/locale_classes.h
1770         (locale::_S_categories): Const qualify. 
1771         (locale::_S_once, locale::_S_initialize_once,
1772         locale::facet::_S_once, locale::facet::_S_initialize_once,
1773         locale::facet::_S_get_c_locale): Declare.
1774         (locale::_S_initialize): Don't define.
1775         (locale::facet::_S_c_locale): Make private.
1776         (locale::facet::_S_c_name): Same, const qualify.
1777         (locale::_Impl::_Impl(facet**, size_t, bool)): Drop unused
1778         parameters, add throw() specifier.
1779         * include/bits/locale_facets.h (__timepunct::_M_name_timepunct,
1780         messages::_M_name_messages): Const qualify.
1781         * src/locale.cc
1782         (locale::_S_once, locale::facet::_S_once): Define.
1783         (locale::classic): Move initialization code...
1784         (locale::_S_initialize_once): ...here.  
1785         (locale::_S_initialize): Call _S_initialize_once through
1786         __gthread_once.
1787         (locale::facet::_S_initialize_once): Initialize _S_c_locale.
1788         (locale::facet::_S_get_c_locale): Call _S_initialize_once through
1789         __gthread_once before returning _S_c_locale.
1790         * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool)):
1791         Drop unused parameters, add throw() specifier, don't initialize
1792         locale::facet::_S_c_locale and _S_c_name.
1793         
1794         * config/locale/generic/messages_members.h:
1795         Replace _S_c_locale with _S_get_c_locale().
1796         * config/locale/gnu/c_locale.cc: Same.
1797         * config/locale/gnu/messages_members.h: Same.
1798         * config/locale/gnu/numeric_members.cc: Same.
1799         * config/locale/gnu/time_members.cc: Same.
1800         * config/os/gnu-linux/ctype_noninline.h: Same.
1801         * include/bits/locale_facets.h: Same.
1802         * include/bits/locale_facets.tcc: Same.
1803         * src/codecvt.cc: Same.
1804         * src/ctype.cc: Same.
1805
1806 2003-10-02  Carlo Wood  <carlo@alinoe.com>
1807
1808         * include/bits/demangle.h (demangle<Allocator>::symbol(char const*)):
1809         Decode symbols that start with _GLOBAL_[ID]_ differently: the
1810         trailing part ends with a terminating zero and is not necessarily an
1811         encoding.
1812         * src/demangle.cc (): Same.
1813         * testsuite/demangle/regression/cw-13.cc: Adjust for new output.
1814
1815 2003-10-02  Paolo Carlini  <pcarlini@unitus.it>
1816
1817         * testsuite/22_locale/locale/cons/12438.cc: Use
1818         __gnu_test::try_named_locale("").
1819
1820 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1821
1822         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0): Define.
1823         (GLIBCXX_CHECK_STDLIB_SUPPORT): Use it to test for lrand48
1824         instead of drand48.
1825         * acconfig.h (HAVE_DRAND48): Renamed to HAVE_LRAND48.
1826         * crossconfig.m4 (*-freebsd*): Define HAVE_LRAND48 instead of
1827         HAVE_DRAND48.
1828         * config.h.in, configure: Regenerate.
1829         * include/bits/stl_algo.h: Use _GLIBCXX_HAVE_LRAND48 to guard
1830         lrand48 use.
1831
1832 2003-10-01  Nathan Myers  <ncm@cantrip.org>
1833
1834         * include/bits/locale_facets.tcc (time_put::put): Avoid
1835         expensive *__s++, in favor of *__s, ++__s.
1836
1837 2003-10-01  Paolo Carlini  <pcarlini@unitus.it>
1838
1839         * include/bits/locale_facets.tcc (time_put::put): Minor
1840         tweak to the previous commit.
1841
1842 2003-10-01  Paolo Carlini  <pcarlini@unitus.it>
1843
1844         PR libstdc++/12439
1845         * include/bits/locale_facets.tcc (time_put::put): Deal
1846         with the three issues pointed out by the PR.
1847         * testsuite/22_locale/time_put/put/char/12439_1.cc: New.
1848         * testsuite/22_locale/time_put/put/char/12439_3.cc: New.
1849         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: New.
1850         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: New.
1851         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: New.
1852
1853 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
1854
1855         * include/bits/stl_algo.h: Minor cosmetic reformattings.
1856
1857 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
1858
1859         * include/bits/stl_algo.h (search_n): Tweak, to spare the
1860         first --__n.
1861
1862 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
1863
1864         * testsuite/22_locale/locale/cons/12352.cc: Explicitly
1865         qualify exception name.
1866
1867 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
1868
1869         PR libstdc++/12438
1870         * include/bits/locale_facets.tcc (locale::combine): Don't
1871         leak memory if _M_replace_facet throws.
1872         * testsuite/22_locale/locale/cons/12438.cc: New, from the PR.
1873
1874         * include/bits/locale_classes.h (locale::locale(const locale&,
1875         _Facet*)): Tweak, use consistently _M_remove_reference.
1876
1877 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
1878
1879         PR libstdc++/12352 (cont)
1880         * src/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
1881         Don't leak __cloc; don't leak if any of the _M_init_facet(...)
1882         calls fail.
1883         (locale::_Impl::_Impl(const _Impl&, size_t)): Tweak.
1884         (locale::_Impl::~_Impl): Don't do anything if !_M_facets,
1885         !_M_caches, !_M_names.
1886
1887 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1888
1889         * configure.host: Handle Solaris 2.5 micro releases explicitly.
1890         Remove wildcards from Solaris 2.6, 7-9: there were no
1891         micro releases.
1892         Treat Solaris 10 and up like 7-9.
1893
1894 2003-09-29  Paolo Carlini  <pcarlini@unitus.it>
1895
1896         * include/bits/stl_algo.h (search_n): Improve the previous
1897         fix as suggested by Martin.
1898
1899 2003-09-29  Paolo Carlini  <pcarlini@unitus.it>
1900
1901         PR libstdc++/12296
1902         * include/bits/istream.tcc (peek): Set eofbit if sgetc
1903         returns eof.
1904         * testsuite/27_io/basic_istream/peek/char/12296.cc:
1905         New, from the PR.
1906
1907 2003-09-29  Nathan Myers  <ncm@cantrip.org>
1908             Paolo Carlini  <pcarlini@unitus.it>
1909
1910         PR libstdc++/11400
1911         * include/bits/stl_algo.h (search_n):
1912         Use iterator_traits<>::difference_type for __n.
1913         * testsuite/25_algorithms/search_n/11400.cc: New, from the PR.
1914
1915 2003-09-29  Paolo Carlini  <pcarlini@unitus.it>
1916
1917         * testsuite/22_locale/locale/cons/12352.cc:
1918         Use __attribute__((unused)) for test.
1919
1920 2003-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
1921
1922         * testsuite/22_locale/time_put/put/char/2.cc (test_02): Allow either 
1923         "Son" or "So" as abbreviated name for Sunday in de_DE locale.
1924         * testsuite/22_locale/time_put/put/wchar_t/2.cc (test_02): Likewise.
1925
1926 2003-09-26  Brad Spencer  <spencer@infointeractive.com>
1927
1928         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc:
1929         Explicitly qualify exceptions.
1930         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Same.
1931         * testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.
1932         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
1933         * testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.
1934         
1935 2003-09-25  Paolo Carlini  <pcarlini@unitus.it>
1936
1937         PR libstdc++/12352
1938         * src/localename.cc (locale::_Impl::_Impl(const _Impl&,
1939         size_t)): Don't leak if memory allocations for _M_facets,
1940         _M_caches, and _M_names fail.
1941         (locale::_Impl::_Impl(const char*, size_t)): Ditto.
1942         (locale::_Impl::_M_replace_categories(const _Impl*,
1943         category)): Ditto.
1944         (locale::_Impl::_M_install_facet(const locale::id*,
1945         const facet*)): Ditto.
1946         * include/bits/locale_classes.h (locale::locale(const locale&,
1947         _Facet*)): Don't leak memory.
1948         * testsuite/22_locale/locale/cons/12352.cc: New, from the PR.
1949
1950         * src/localename.cc (locale::_Impl::_Impl(facet**, size_t,
1951         bool)): Qualify with std:: strcpy, tweak.
1952         * include/bits/locale_classes.h
1953         (locale::_Impl::_M_check_same_name): Qualify strcmp.
1954
1955 2003-09-25  Brad Spencer  <spencer@infointeractive.com>
1956
1957         PR libstdc++/6072
1958         * acinclude.m4: Split out checks for vfwscanf, vswscanf, vwscanf,
1959         wcstof, iswblank.       
1960         * aclocal.m4: Regenerate.
1961         * config.h.in: Regenerate.
1962         * configure: Regenerate.
1963         * crossconfig.m4: Add in wchar_t bits for solaris crosses.
1964         * config/io/basic_file_stdio.cc: Guard unistd.h.
1965         * include/c_compatibility/wchar.h: Guard extra wchar_t functionality.
1966         * include/c_std/std_cwchar.h: Same.
1967         * include/c_std/std_cwctype.h: Same.
1968         
1969 2003-09-25  Benjamin Kosnik  <bkoz@redhat.com>
1970
1971         PR libstdc++/11065
1972         * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is): Fix.
1973         * config/locale/generic/ctype_members.cc: Same.
1974         * testsuite/22_locale/ctype/is/char/1.cc: Initialize mask.
1975         * testsuite/22_locale/ctype/is/wchar_t/1.cc: Same.
1976
1977         * config/os/generic/ctype_inline.h: Update.
1978         
1979 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
1980
1981         * src/Makefile.am (version_dep): New variable.
1982         (libstdc___la_DEPENDENCIES): Use it to add dependency on
1983         libstdc++-symbol.ver only when using symbol versioning.
1984         * src/Makefile.in: Regenerate.
1985
1986 2003-09-23  Benjamin Kosnik  <bkoz@redhat.com>
1987
1988         * include/bits/locale_facets.tcc: Tweak to avoid warnings.
1989         * testsuite/testsuite_hooks.h: Same.
1990         * testsuite/*/*.cc: Same.
1991
1992 2003-09-22  Petur Runolfsson  <peturr02@ru.is>
1993
1994         * include/bits/istream.tcc (basic_istream::read,
1995         basic_istream::readsome, basic_istream::putback,
1996         basic_istream::unget, operator>>(basic_istream, CharT)):
1997         Avoid redundant setstate(failbit) calls when sentry::operator bool()
1998         returns false.
1999
2000 2003-09-22  Carlo Wood  <carlo@alinoe.com>
2001
2002         PR libstdc++/12365
2003         * include/bits/demangle.h (qualifier(int, cv_qualifier_nt,
2004         char const*, int, int)):  Remove unused identifier
2005         cv_qualifier for overloaded constructor.
2006
2007 2003-09-18  Benjamin Kosnik  <bkoz@redhat.com>
2008
2009         PR libstdc++/11504
2010         * acinclude.m4 (GLIBCXX_EXPORT_FLAGS): Add -Wcast-qual to
2011         WARN_FLAGS, remove -Wno-format.
2012         * aclocal.m4: Regenerate.
2013         * configure: Regenerate.
2014
2015 2003-09-18  Petur Runolfsson  <peturr02@ru.is>
2016
2017         * config/io/basic_file_stdio.cc (sys_getc, sys_ungetc): Delete.
2018         * config/io/basic_file_stdio.h: Same.
2019         * include/std/std_fstream.h (__ctype_type): Delete.
2020         * include/std/std_streambuf.h (__ctype_type, __state_type): Delete.
2021         
2022 2003-09-17  Benjamin Kosnik  <bkoz@redhat.com>
2023
2024         PR libstdc++/12239
2025         * configure.host (abi_baseline_pair): Error out on solaris2
2026         configurations without a minor version number.
2027
2028 2003-09-13  Phil Edwards  <phil@codesourcery.com>
2029
2030         * docs/doxygen/run_doxygen:  Clear GENERATE_TAGFILE entirely
2031         if man pages are on.
2032         * docs/doxygen/user.cfg.in:  And here.
2033
2034 2003-09-10  Daniel Jacobowitz  <drow@mvista.com>
2035             Andreas Jaeger <aj@suse.de>
2036
2037         PR libstdc++/12189
2038         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Don't build
2039         abi_check if cross compiling.
2040         * aclocal.m4: Regenerated.
2041         * configure: Regenerated.
2042
2043 2003-09-10  Jeffrey D. Oldham  <oldham@codesourcery.com>
2044
2045         * libsupc++/vec.cc (__cxa_vec_new2): If the allocator returns
2046         NULL, return NULL.  This reflects a C++ ABI change 2003 Sep 05.
2047         (__cxa_vec_new3): Likewise.
2048
2049 2003-09-10  Petur Runolfsson  <peturr02@ru.is>
2050
2051         * include/bits/fstream.tcc (basic_filebuf::seekoff):
2052         Use codecvt::length to handle variable-width stateless encodings
2053         correctly.
2054         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: New test.
2055         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: New test.
2056
2057 2003-09-10  Alan Modra  <amodra@bigpond.net.au>
2058
2059         * config/io/basic_file_stdio.cc (_M_open_mode): Assign __p_mode
2060         rather than or'ing.
2061
2062 2003-09-09  Alan Modra  <amodra@bigpond.net.au>
2063
2064         * configure: Regenerate.
2065
2066 2003-09-09  David Edelsohn  <edelsohn@gnu.org>
2067
2068         * src/ios.cc (ios_base::Init::Init): Remove unnecessary
2069         qualifier from _S_synced_with_stdio.
2070
2071 2003-09-09  Bernardo Innocenti  <bernie@develer.com>
2072
2073         * include/c_std/std_cstdlib.h: Avoid using missing C library symbols.
2074
2075 2003-09-04  Petur Runolfsson  <peturr02@ru.is>
2076
2077         PR libstdc++/9028
2078         * include/bits/fstream.tcc
2079         (basic_filebuf::_M_destroy_internal_buffer): Destroy _M_ext_buf.
2080         (basic_filebuf::basic_filebuf): Initialize _M_ext_buf,
2081         _M_ext_buf_size, _M_ext_next and _M_ext_end.
2082         (basic_filebuf::underflow): Handle variable-width stateless
2083         encodings (codecvt::encoding() == 0), including UTF-8.
2084         * include/std/std_fstream.h (basic_filebuf):
2085         Declare _M_ext_buf, _M_ext_buf_size, _M_ext_next, _M_ext_end.
2086         * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: New test.
2087         * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: New test.
2088         * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: New test.
2089         * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: New test.
2090         * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: New test.
2091         * testsuite/27_io/objects/wchar_t/12.cc: New test.
2092         * testsuite/27_io/objects/wchar_t/13.cc: New test.
2093
2094 2003-09-04  Jonathan Wakely  <redi@gcc.gnu.org>
2095
2096         * docs/html/faq/index.html: Note that a namespace alias can't be
2097         used when specialising templates in extension namespace.
2098         * docs/html/faq/index.txt: Regenerate.
2099
2100 2003-09-03  Petur Runolfsson  <peturr02@ru.is>
2101
2102         PR libstdc++/12048
2103         * include/ext/stdio_sync_filebuf.h
2104         (stdio_sync_filebuf::_M_unget_buf): Declare it.
2105         (stdio_sync_filebuf::stdio_sync_filebuf): Initialize _M_unget_buf.
2106         (stdio_sync_filebuf::uflow): Store the returned character in
2107         _M_unget_buf.
2108         (stdio_sync_filebuf::pbackfail): If argument is eof(), pass
2109         _M_unget_buf to syncungetc(). Set _M_unget_buf to eof().
2110         (stdio_sync_filebuf<char>::xsgetn): Store last read character in
2111         _M_unget_buf, if any, else eof().
2112         (stdio_sync_filebuf<wchar_t>::xsgetn: Store last read character in
2113         _M_unget_buf, if any, else eof().
2114         * testsuite/27_io/objects/char/12048.cc: Rename to...
2115         * testsuite/27_io/objects/char/12048-1.cc: ...this.
2116         * testsuite/27_io/objects/char/12048-2.cc: New test.
2117         * testsuite/27_io/objects/char/12048-3.cc: New test.
2118         * testsuite/27_io/objects/char/12048-4.cc: New test.
2119         * testsuite/27_io/objects/char/12048-5.cc: New test. XFAIL.
2120         * testsuite/27_io/objects/wchar_t/12048-1.cc: New test.
2121         * testsuite/27_io/objects/wchar_t/12048-2.cc: New test.
2122         * testsuite/27_io/objects/wchar_t/12048-3.cc: New test.
2123         * testsuite/27_io/objects/wchar_t/12048-4.cc: New test.
2124         * testsuite/27_io/objects/wchar_t/12048-5.cc: New test. XFAIL.
2125         * testsuite/ext/stdio_sync_filebuf_char.cc
2126         (test02, test03, test04, test05): New tests.
2127         * testsuite/ext/stdio_sync_filebuf_wchar_t.cc
2128         (test02, test03, test04, test05): New tests.
2129
2130 2003-09-03  Petur Runolfsson  <peturr02@ru.is>
2131
2132         * docs/html/27_io/howto.html: setbuf(0, 0) has no effect on
2133         stringbuf or strstreambuf. Fix typos.
2134
2135 2003-09-02  Phil Edwards  <phil@codesourcery.com>
2136
2137         * acinclude.m4 (GLIBCXX_ENABLE_HOSTED):  #define _GLIBCXX_HOSTED
2138         appropriately.
2139         * config.h.in:  Add _GLIBCXX_HOSTED.
2140         * libsupc++/eh_term_handler.cc:  Test it here; initialize
2141         __terminate_handler to std::abort if freestanding.
2142         * aclocal.m4, configure:  Regenerated.
2143         * docs/html/configopts.html:  Document --disable-hosted-libstdcxx.
2144
2145 2003-08-29  Nathan Myers  <ncm@cantrip.org>
2146         
2147         PR libstdc++/11990      
2148         * include/bits/locale_facets.tcc (__pad): delete dead code.
2149
2150 2003-08-28  Alan Modra  <amodra@bigpond.net.au>
2151
2152         * configure.ac: Test $with_cross_host against $build_alias, not $build.
2153         * configure: Regenerate.
2154
2155 2003-08-27  Petur Runolfsson  <peturr02@ru.is>
2156
2157         * testsuite/27_io/objects/wchar_t/10.cc: Move wcout stuff...
2158         * testsuite/27_io/objects/wchar_t/11.cc: ...here. New file.
2159
2160 2003-08-27  Phil Edwards  <pme@gcc.gnu.org>
2161
2162         * Makefile.am:  Remove trailing whitespace.  Remove needless
2163         "foo = @foo@" assignments.  Replace direct uses of @foo@ with $(foo).
2164         * include/Makefile.am:  Likewise.
2165         * libmath/Makefile.am:  Likewise.
2166         * libsupc++/Makefile.am:  Likewise.
2167         * po/Makefile.am:  Likewise.
2168         * src/Makefile.am:  Likewise.
2169         * testsuite/Makefile.am:  Likewise.
2170
2171         * Makefile.in, include/Makefile.in, libmath/Makefile.in,
2172         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
2173         testsuite/Makefile.in:  Regenerated.
2174
2175 2003-08-27  Phil Edwards  <pme@gcc.gnu.org>
2176
2177         * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES):  Change quoting of
2178         includedir.
2179         * aclocal.m4, configure:  Regenerate.
2180
2181 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
2182
2183         * acinclude.m4: Include no-executables.m4.
2184         * configure.ac: Uncomment GCC_NO_EXECUTABLES.
2185         * aclocal.m4: Regenerated.
2186         * configure: Regenerated.
2187
2188 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
2189
2190         * acinclude.m4: Don't call AC_ISC_POSIX.
2191         * aclocal.m4: Regenerated.
2192         * configure: Regenerated.
2193
2194 2003-08-27  Phil Edwards  <pme@gcc.gnu.org>
2195
2196         * acinclude.m4 (GLIBCXX_CONDITIONAL):  New macro.  Wrap
2197         AM_CONDITIONAL.  Replace all calls to AM_CONDITIONAL with this one.
2198         (GLIBCXX_ENABLE_HOSTED):  New macro, sets new variable is_hosted,
2199         used elsewhere in this file.
2200         (GLIBCXX_EVALUATE_CONDITIONALS):  New macro...
2201         * configure.ac:  ...called here to expand all conditionals.
2202         * Makefile.am:  Conditionalize SUBDIRS on GLIBCXX_HOSTED.
2203         * include/Makefile.am:  Remove redundant gxx_include_dir assignment.
2204         (install-freestanding-headers):  New target, a subset of
2205         install-headers.  Conditionalize install-data-local on GLIBCXX_HOSTED.
2206
2207         * aclocal.m4, configure, Makefile.in, include/Makefile.in,
2208         libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
2209         src/Makefile.in, testsuite/Makefile.in:  Regenerated.
2210
2211 2003-08-26  Phil Edwards  <pme@gcc.gnu.org>
2212
2213         * docs/doxygen/run_doxygen:  Shell fixes.  Remove hardcoded local
2214         pathnames from generated tag file.
2215
2216 2003-08-26  Phil Edwards  <pme@gcc.gnu.org>
2217
2218         * Makefile.am:  Add comment.
2219         * acinclude.m4 (GLIBCXX_CONFIGURE):  Set new glibcxx_SUBDIRS and
2220         SUBDIRS variables.
2221         * configure.ac:  Use them both here, instead of hardcoded lists.
2222
2223         * fragment.am:  Add STAMP varaible.
2224         * include/Makefile.am:  Cosmetic whitespace cleanup.  Use $(LN_S)
2225         instead of @LN_S@.
2226         (stamp-*):  Move file creation rule outside of 'if' branches to
2227         ensure the stamp-* files are actually updated.  Use $(STAMP).
2228         * src/Makefile.am:  Remove now-nonexistant variable.
2229         * libsupc++/Makefile.am:  Likewise.  Snap the assignment chain
2230         for -prefer-pic.
2231         * po/Makefile.am:  Include same fragment as all the others.
2232
2233         * aclocal.m4, configure, Makefile.in, include/Makefile.in,
2234         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in:  Regenerated.
2235
2236 2003-08-26  Loren J. Rittle  <ljrittle@acm.org>
2237
2238         * testsuite/data/cin_unget-1.txt: New.
2239         * testsuite/27_io/objects/char/12048.cc: New.
2240
2241 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
2242
2243         * config/os/hpux/os_defines.h: Unconditionally define
2244         _GLIBCXX_GTHREAD_USE_WEAK to 0.
2245
2246 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
2247
2248         * crossconfig.m4 (*-darwin*): Add a large and boring stanza for
2249         crosses to Darwin targets.
2250         * configure: Regenerate.
2251
2252 2003-08-19  Petur Runolfsson  <peturr02@ru.is>
2253
2254         * include/ext/ropeimpl.h: #include <ostream> instead of <iostream>
2255
2256 2003-08-17  Phil Edwards  <pme@gcc.gnu.org>
2257
2258         * configure.ac:  GCC_NO_EXECUTABLES was supposed to be commented
2259         in the patch from 3 minutes ago.  Boy, is my face red.
2260         * configure:  At least I remembered to regenerate this.
2261
2262 2003-08-17  Phil Edwards  <pme@gcc.gnu.org>
2263
2264         * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES):  Remove LIBMATH_INCLUDES
2265         and LIBSUPCXX_INCLUDES.  Re-purpose TOPLEVEL_INCLUDES to refer to
2266         things from the top level.
2267         * configure.ac (GLIBCXX_IS_NATIVE):  Determine earlier and re-order.
2268         Comment out the conditionals for CANADIAN and GLIBCXX_BUILD_LIBMATH
2269         (currently unused).  Strip the fake-VPATH shell fragment from
2270         automake-generated rules, if present.
2271         * linkage.m4:  Add comment.
2272
2273         * fragment.am:  New file, containing factored-out common settings.
2274         (AM_CPPFLAGS):  Absorb the deprecated INCLUDES variable contents.
2275         * Makefile.am:  Include fragment.am.  Remove common variables.
2276         * include/Makefile.am:  Likewise.
2277         * libmath/Makefile.am:  Likewise.
2278         * libsupc++/Makefile.am:  Likewise.
2279         * po/Makefile.am:  Likewise.  Print rules during check.
2280         * src/Makefile.am:  Likewise.
2281         * testsuite/Makefile.am:  Likewise.
2282
2283         * aclocal.m4, configure, Makefile.in, include/Makefile.in,
2284         libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
2285         src/Makefile.in, testsuite/Makefile.in:  Regenerate.
2286
2287 2003-08-11  John Levon  <levon@movementarian.org>
2288
2289         * docs/html/ext/howto/guide.html (GLIBCXX_FORCE_NEW): Update
2290         remaining places for the name change from GLIBCPP_FORCE_NEW
2291         to GLIBCXX_FORCE_NEW
2292
2293 2003-08-11  Benjamin Kosnik  <bkoz@redhat.com>
2294
2295         * include/bits/basic_ios.h: Remove *_iter typedefs, change num*
2296         typedefs to num_*.
2297         * include/bits/basic_ios.tcc: Same.
2298         * include/bits/istream.tcc: Same.
2299         * include/bits/locale_facets.h: Same.
2300         * include/bits/ostream.tcc: Same.
2301         * include/std/std_istream.h: Same.
2302         * include/std/std_ostream.h: Same.
2303         * testsuite/26_numerics/complex_inserters_extractors.cc: Fix.
2304
2305         * include/ext/rope: Remove build warning.
2306
2307 2003-08-11  Andreas Jaeger  <aj@suse.de>
2308
2309         * include/Makefile.am (stamp-c_base): Add dependency on stamp-bits
2310         to make SMP-safe.
2311         * include/Makefile.in: Regenerated.
2312
2313 2003-08-11  Phil Edwards  <pme@gcc.gnu.org>
2314
2315         * acinclude.m4 (GLIBCXX_CONFIGURE):  Unprecious CC and CFLAGS
2316         when calling AC_PROG_CC.
2317         * aclocal.m4, configure:  Regenerate.
2318
2319 2003-08-11  Phil Edwards  <pme@gcc.gnu.org>
2320
2321         * acinclude.m4:  Properly quote variable which will be expanded
2322         inside makefiles.  Use CXX instead of CC to extract compiler info.
2323         * configure.ac (AC_INIT):  Use the new 4-arg form to finally get the
2324         correct form in PACKAGE.
2325         * aclocal.m4, configure:  Regenerate.
2326
2327 2003-08-08  Benjamin Kosnik  <bkoz@redhat.com>
2328
2329         * testsuite/Makefile.am (check-abi): Change libstdc++-v3 to libstdc++.
2330         (check-abi-verbose): Same.
2331         * testsuite/testsuite_performance.h (report_performance): Same.
2332
2333 2003-08-08  Loren J. Rittle  <ljrittle@acm.org>
2334
2335         * testsuite/testsuite_performance.h (__FreeBSD__): Add fake mallinfo.
2336
2337 2003-08-07  Doug Gregor  <dgregor@apple.com>
2338
2339         * include/bits/char_traits.h (char_traits::not_eof): Match operand
2340         types in ? :.
2341
2342 2003-08-07  Bernardo Innocenti  <bernie@develer.com>
2343
2344         PR libstdc++/11784
2345         * libstdc++-v3/config/cpu/m68k/atomicity.h (__exchange_and_add):
2346         Replace variants with new BSET-based version.
2347
2348 2003-08-07  Carlo Wood  <carlo@alinoe.com>
2349
2350         * include/bits/demangle.h: Do not use cctype functions that depend
2351         on locale.
2352
2353 2003-08-05  Phil Edwards  <pme@gcc.gnu.org>
2354
2355         * configure.in:  Rename...
2356         * configure.ac:  ...to this.
2357         * docs/html/17_intro/porting.texi:  Update name.
2358
2359         * docs/html/17_intro/porting.html:  Regenerate.
2360         * config.h.in, Makefile.in, include/Makefile.in, libmath/Makefile.in,
2361         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
2362         testsuite/Makefile.in:  Regenerate (picks up new dependancy).
2363
2364 2003-08-05  Phil Edwards  <pme@gcc.gnu.org>
2365
2366         * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS):  Put down the crack
2367         pipe, open the window to let out the fumes, redo the option-handling
2368         logic to properly execute the detection test.
2369         * aclocal.m4, configure:  Regenerate.
2370
2371 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
2372
2373         Convert to new autotools.
2374         * acconfig.h:  Update with correct names.
2375         * configure.host (ATOMICITYH):  Rename to atomicity_include_dir.
2376         (qnx6.[12]*):  'q' comes before 's', not after 'w'.
2377         * configure.in:  Update.  Split hardcoded cross-configury settings
2378         out to...
2379         * crossconfig.m4:  ...here.  New file.  Contents untouched.
2380         * acinclude.m4:  Reorganize and rewrite as needed.  Split large
2381         chunks out to...
2382         * linkage.m4:  ...here.  New file.  Math and stdlib linkage tests.
2383         Contents untouched.
2384         * scripts/testsuite_flags.in:  Update.
2385
2386         * Makefile.am:  Remove unneeded AUTOMAKE_OPTIONS settings and other
2387         variables (already generated by automake).
2388         * include/Makefile.am:  Ditto.
2389         * libmath/Makefile.am:  Ditto.
2390         * libsupc++/Makefile.am:  Ditto.
2391         * po/Makefile.am:  Ditto.
2392         * src/Makefile.am:  Ditto.
2393
2394         * aclocal.m4:  Regenerate using new versions.
2395         * config.h.in:  Ditto.
2396         * configure:  Ditto.
2397         * Makefile.in:  Ditto.
2398         * include/Makefile.in:  Ditto.
2399         * libmath/Makefile.in:  Ditto.
2400         * libsupc++/Makefile.in:  Ditto.
2401         * po/Makefile.in:  Ditto.
2402         * src/Makefile.in:  Ditto.
2403         * testsuite/Makefile.in:  Ditto.
2404
2405 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
2406
2407         * po/libstdc++.pot:  Re-extract/regenerate.
2408
2409 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
2410
2411         * testsuite/Makefile.am (DEJATOOL,EXPECT,RUNTEST,RUNTESTFLAGS):
2412         Remove unneeded variable assignments.  Leave them for automake.
2413         * testsuite/lib/libstdc++-v3.exp:  Rename...
2414         * testsuite/lib/libstdc++.exp:  ...to this.  Adjust function names
2415         accordingly.
2416         * testsuite/libstdc++-v3.dg/dg.exp:  Rename...
2417         * testsuite/libstdc++-dg/normal.exp:  ...to this.  Adjust function
2418         names accordingly.
2419
2420 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
2421
2422         * docs/doxygen/guide.html:  run_doxygen uses bash.
2423         * docs/doxygen/mainpage.html:  We'll be shipping tag files.
2424         * docs/doxygen/run_doxygen:  Tweaks and improvements.
2425         * docs/doxygen/user.cfg.in:  Set GENERATE_TAGFILE.
2426         * docs/html/install.html:  Update autoconf/automake requirements.
2427         * docs/html/test.html:  Add section describing DejaGNU support.
2428         * docs/html/17_intro/confdeps.dot:  New file, generates...
2429         * docs/html/17_intro/confdeps.png:  ...this new file.
2430         * docs/html/Makefile:  Generated here.
2431         * docs/html/17_intro/configury.html:  New file.
2432
2433 2003-07-31  Phil Edwards  <pme@gcc.gnu.org>
2434
2435         * testsuite/lib/libstdc++-v3-dg.exp:  Rename...
2436         * testsuite/lib/libstdc++-v3.exp:  ...to this.
2437         * testsuite/libstdc++-v3.dg/dg.exp:  No special case needed now.
2438
2439 2003-07-31  Doug Gregor  <dgregor@apple.com>
2440
2441         Add user specialization tests.
2442         * testsuite/23_containers/deque/1.cc: New.
2443         * testsuite/23_containers/list/1.cc: New.
2444         * testsuite/23_containers/map/1.cc: New.
2445         * testsuite/23_containers/multimap/1.cc: New.
2446         * testsuite/23_containers/multiset/1.cc: New.
2447         * testsuite/23_containers/set/1.cc: New.
2448         * testsuite/23_containers/vector/1.cc: New.
2449
2450 2003-07-31  Benjamin Kosnik  <bkoz@redhat.com>
2451
2452         Reshuffle 23_containers testsuite.
2453         * 23_containers/adaptors.cc, bitset_ctor.cc,bitset_members.cc,
2454         bitset_shift.cc, deque_ctor.cc, deque_operators.cc,
2455         list_capacity.cc, list_ctor.cc, list_modifiers.cc, list_operators.cc,
2456         map_insert.cc, map_operators.cc, map_operators_neg.cc, multiset.cc,
2457         set_operators_neg.cc, vector_bool.cc, vector_capacity.cc,
2458         vector_ctor.cc, vector_element_access.cc, vector_modifiers.cc,
2459         vector_resize.cc: Split into...
2460         * 23_containers/bitset/cons/1.cc: New.
2461         * 23_containers/bitset/cons/6282.cc: New.
2462         * 23_containers/bitset/count/6124.cc: New.
2463         * 23_containers/bitset/operations/1.cc: New.
2464         * 23_containers/bitset/operations/2.cc: New.
2465         * 23_containers/bitset/test/1.cc: New.
2466         * 23_containers/bitset/to_ulong/1.cc: New.
2467         * 23_containers/deque/cons/1.cc: New.
2468         * 23_containers/deque/cons/2.cc: New.
2469         * 23_containers/deque/operators/1.cc: New.
2470         * 23_containers/list/capacity/1.cc: New.
2471         * 23_containers/list/cons/1.cc: New.
2472         * 23_containers/list/cons/2.cc: New.
2473         * 23_containers/list/cons/3.cc: New.
2474         * 23_containers/list/cons/4.cc: New.
2475         * 23_containers/list/cons/5.cc: New.
2476         * 23_containers/list/cons/6.cc: New.
2477         * 23_containers/list/cons/7.cc: New.
2478         * 23_containers/list/cons/8.cc: New.
2479         * 23_containers/list/cons/9.cc: New.
2480         * 23_containers/list/modifiers/1.cc: New.
2481         * 23_containers/list/modifiers/2.cc: New.
2482         * 23_containers/list/modifiers/3.cc: New.
2483         * 23_containers/list/operators/1.cc: New.
2484         * 23_containers/list/operators/2.cc: New.
2485         * 23_containers/list/operators/3.cc: New.
2486         * 23_containers/list/operators/4.cc: New.
2487         * 23_containers/map/insert/1.cc: New.
2488         * 23_containers/map/operators/1.cc: New.
2489         * 23_containers/map/operators/1_neg.cc: New.
2490         * 23_containers/multiset/insert/1.cc: New.
2491         * 23_containers/priority_queue/members/7161.cc: New.
2492         * 23_containers/queue/members/7157.cc: New.
2493         * 23_containers/set/operators/1_neg.cc: New.
2494         * 23_containers/stack/members/7158.cc: New.
2495         * 23_containers/vector/bool/1.cc: New.
2496         * 23_containers/vector/bool/6886.cc: New.
2497         * 23_containers/vector/capacity/1.cc: New.
2498         * 23_containers/vector/capacity/2.cc: New.
2499         * 23_containers/vector/capacity/8230.cc: New.
2500         * 23_containers/vector/cons/1.cc: New.
2501         * 23_containers/vector/cons/2.cc: New.
2502         * 23_containers/vector/cons/3.cc: New.
2503         * 23_containers/vector/cons/4.cc: New.
2504         * 23_containers/vector/cons/6513.cc: New.
2505         * 23_containers/vector/element_access/1.cc: New.
2506         * 23_containers/vector/modifiers/1.cc: New.
2507         * 23_containers/vector/modifiers/2.cc: New.
2508         * 23_containers/vector/resize/1.cc: New.
2509
2510 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2511
2512         * testsuite/thread/pthread1.cc: Add alpha*-*-osf* to dg-do run,
2513         dg-options.
2514         * testsuite/thread/pthread2.cc: Likewise.
2515         * testsuite/thread/pthread3.cc: Likewise.
2516         * testsuite/thread/pthread4.cc: Likewise.
2517         * testsuite/thread/pthread5.cc: Likewise.
2518         * testsuite/thread/pthread6.cc: Likewise.
2519         * testsuite/thread/pthread7-rope.cc: Likewise.
2520
2521 2003-07-30  Phil Edwards  <pme@gcc.gnu.org>
2522
2523         * include/bits/c++config:  Partial reversion (comment placement) of
2524         previous patch.
2525
2526 2003-07-30  Benjamin Kosnik  <bkoz@redhat.com>
2527
2528         * include/bits/c++config (_GLIBCXX_FULLY_COMPLIANT_HEADERS): Remove.
2529         (_GLIBCXX_NO_TEMPLATE_EXPORT): To _GLIBCXX_EXPORT_TEMPLATE.
2530         (_GLIBCXX_AT_AT): Remove.
2531         (__USE_MALLOC): Remove.
2532         * include/std/std_fstream.h: Modify.
2533         * include/bits/basic_ios.h: Same.
2534         * include/bits/valarray_array.h: Same.
2535         * include/c_std/std_cmath.h: Same.
2536         * include/c_std/cmath.tcc: Same.
2537         * include/std/std_vector.h: Same.
2538         * include/std/std_string.h: Same.
2539         * include/std/std_stack.h: Same.
2540         * include/std/std_queue.h: Same.
2541         * include/std/std_list.h: Same.
2542         * include/std/std_deque.h: Same.
2543         * include/std/std_streambuf.h: Same.
2544         * include/std/std_sstream.h: Same.
2545         * include/std/std_ostream.h: Same.
2546         * include/std/std_istream.h: Same.
2547         * include/bits/valarray_array.tcc: Same, format.
2548
2549         * include/c/std_cctype.h: Fix include guards.
2550         * include/c/std_cerrno.h: Same.
2551         * include/c/std_cfloat.h: Same.
2552         * include/c/std_climits.h: Same.
2553         * include/c/std_clocale.h: Same.
2554         * include/c/std_cmath.h: Same.
2555         * include/c/std_csetjmp.h: Same.
2556         * include/c/std_csignal.h: Same.
2557         * include/c/std_cstdarg.h: Same.
2558         * include/c/std_cstddef.h: Same.
2559         * include/c/std_cstdio.h: Same.
2560         * include/c/std_cstdlib.h: Same.
2561         * include/c/std_cstring.h: Same.
2562         * include/c/std_ctime.h: Same.
2563         * include/c/std_cwchar.h: Same.
2564         * include/c/std_cwctype.h: Same.
2565         * include/c_std/cmath.tcc: Same.
2566         * include/c_std/std_cmath.h: Same.
2567
2568 2003-07-30  Gawain Bolton  <gp.bolton@computer.org>
2569
2570         PR libstdc++/11504.
2571         * include/bits/stl_tree.h: Replace C-style casts with C++-style
2572         casts.  Changes to avoid casting away constness.  Eliminate
2573         _Rb_tree_base_iterator class.  Change _Rb_tree_iterator to use
2574         initialization lists.  Move out implementation of __black_count()
2575         to...
2576         * src/stl_tree.cc: ...here and rename _Rb_tree_black_count().
2577         Rename_Rb_tree_base_iterator::_M_increment() to
2578         _Rb_tree_increment and _Rb_tree_base_iterator::_M_decrement() to
2579         _Rb_tree_decrement.
2580         * config/linker-map.gnu: Add and change symbols here.
2581
2582 2003-07-30  Jonathan Wakely  <redi@gcc.gnu.org>
2583
2584         * docs/html/22_locale/howto.html: Use locale::classic() instead
2585         of locale("C").
2586
2587 2003-07-28  Benjamin Kosnik  <bkoz@redhat.com>
2588
2589         * testsuite/testsuite_hooks.h: Remove list include.
2590         (func_callback): Define as unique type, not std::list.
2591         Change DEBUG_ASSERT to _GLIBCXX_ASSERT.
2592         * testsuite/libstdc++-v3.dg/dg.exp: Same.
2593         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Same.
2594         * testsuite/23_containers/bitset_ctor.cc:
2595         * testsuite/17_intro/header_ciso646.cc: Remove DEBUG_ASSERT.
2596         * testsuite/18_support/numeric_limits.cc: Same.
2597         * testsuite/21_strings/basic_string/append/char/1.cc: Same.
2598         * testsuite/21_strings/basic_string/append/wchar_t/1.cc: Same.
2599         * testsuite/21_strings/basic_string/compare/char/1.cc: Same.
2600         * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Same.
2601         * testsuite/21_strings/basic_string/element_access/char/1.cc: Same.
2602         * testsuite/21_strings/basic_string/element_access/char/2.cc: Same.
2603         * testsuite/21_strings/basic_string/element_access/char/3.cc: Same.
2604         * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc: Same.
2605         * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc: Same.
2606         * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc: Same.
2607         * testsuite/21_strings/basic_string/find/char/1.cc: Same.
2608         * testsuite/21_strings/basic_string/find/char/2.cc: Same.
2609         * testsuite/21_strings/basic_string/find/char/3.cc: Same.
2610         * testsuite/21_strings/basic_string/find/wchar_t/1.cc: Same.
2611         * testsuite/21_strings/basic_string/find/wchar_t/2.cc: Same.
2612         * testsuite/21_strings/basic_string/find/wchar_t/3.cc: Same.
2613         * testsuite/21_strings/basic_string/insert/char/1.cc: Same.
2614         * testsuite/21_strings/basic_string/insert/char/2.cc: Same.
2615         * testsuite/21_strings/basic_string/insert/wchar_t/1.cc: Same.
2616         * testsuite/21_strings/basic_string/insert/wchar_t/2.cc: Same.
2617         * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
2618         * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
2619         * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
2620         * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
2621         * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
2622         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
2623         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
2624         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
2625         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
2626         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
2627         * testsuite/21_strings/basic_string/operators/char/1.cc: Same.
2628         * testsuite/21_strings/basic_string/operators/char/2.cc: Same.
2629         * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Same.
2630         * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Same.
2631         * testsuite/21_strings/basic_string/replace/char/1.cc: Same.
2632         * testsuite/21_strings/basic_string/replace/wchar_t/1.cc: Same.
2633         * testsuite/21_strings/basic_string/rfind/char/1.cc: Same.
2634         * testsuite/21_strings/basic_string/rfind/char/2.cc: Same.
2635         * testsuite/21_strings/basic_string/rfind/char/3.cc: Same.
2636         * testsuite/21_strings/basic_string/rfind/wchar_t/1.cc: Same.
2637         * testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: Same.
2638         * testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: Same.
2639         * testsuite/21_strings/basic_string/substr/char/1.cc: Same.
2640         * testsuite/21_strings/basic_string/substr/wchar_t/1.cc: Same.
2641         * testsuite/23_containers/bitset_ctor.cc: Same.
2642         * testsuite/23_containers/bitset_shift.cc: Same.
2643         * testsuite/23_containers/vector_ctor.cc: Same.
2644         * testsuite/23_containers/vector_element_access.cc: Same.
2645         * testsuite/24_iterators/istreambuf_iterator.cc: Same.
2646         * testsuite/24_iterators/iterator.cc: Same.
2647         * testsuite/24_iterators/ostreambuf_iterator.cc: Same.
2648         * testsuite/25_algorithms/lower_bound.cc: Same.
2649         * testsuite/26_numerics/complex_inserters_extractors.cc: Same.
2650         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: Same.
2651         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc: Same.
2652         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc: Same.
2653         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc: Same.
2654         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc: Same.
2655         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc: Same.
2656         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: Same.
2657         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: Same.
2658         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc: Same.
2659         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
2660         Same.
2661
2662 2003-07-28  Phil Edwards  <pme@gcc.gnu.org>
2663
2664         * docs/doxygen/user.cfg.in, docs/html/abi.txt, docs/html/debug.html,
2665         docs/html/test.html, docs/html/17_intro/headers_cc.txt,
2666         docs/html/17_intro/howto.html, docs/html/ext/howto.html:  Change
2667         GLIBCPP to GLIBCXX (and explain as needed).
2668
2669 2003-07-28  Phil Edwards  <pme@gcc.gnu.org>
2670
2671         * README:  Update.
2672
2673 2003-07-28  Phil Edwards  <pme@gcc.gnu.org>
2674
2675         * testsuite/22_locale/messages/members/char/1.cc,
2676         testsuite/22_locale/messages/members/char/2.cc,
2677         testsuite/22_locale/messages/members/char/3.cc,
2678         testsuite/22_locale/messages_byname/1.cc:  Update comment regarding
2679         the origin of LOCALEDIR.
2680         * testsuite/lib/libstdc++-v3.exp:  New file.
2681
2682 2003-07-25  Benjamin Kosnik  <bkoz@redhat.com>
2683
2684         * include/bits/char_traits.h: Update copyright, tweak.
2685         * testsuite/ext/pod_char_traits.cc: Explicitly qualify namespace
2686         std types.
2687
2688 2003-07-24  Matt Austern  <austern@apple.com>
2689
2690         * /include/bits/char_traits.h (class char_traits): Put all the
2691         real work into the new class template __gnu_cxx::char_traits.
2692         Gave generic definitions for member functions.  Types are taken
2693         from the new class template __gnu_cxx::_Char_types.
2694         * testsuite/21_strings/char_traits/requirements/short/1.cc: New
2695         file.  Test of std::char_traits<short>, which serves as a test of
2696         the char_traits primary template.
2697
2698 2003-07-24  Benjamin Kosnik  <bkoz@redhat.com>
2699
2700         * testsuite/*: Change __gnu_cxx_test to __gnu_test.
2701
2702 2003-07-24  Nathan Myers  <ncm-nospam@cantrip.org>
2703
2704         * testsuite/23_containers/map_operators.cc: Conform to
2705         container requirement as value must be Assignable.
2706
2707 2003-07-23  Alexandre Oliva  <aoliva@redhat.com>
2708
2709         * acinclude.m4 (GLIBCXX_ENABLE_PCH): Rework test such that it
2710         tests not only generation of pch files, but also their use.
2711         * aclocal.m4, configure: Rebuilt.
2712
2713 2003-07-23  Steve Ellcey  <sje@cup.hp.com>
2714
2715         * config/cpu/hppa/atomicity.h: Change
2716         _GLIBCXX_INST_GLIBCXX_ATOMICITY_LOCK to _GLIBCXX_INST_ATOMICITY_LOCK
2717         to match misc-inst.cc
2718
2719 2003-07-23  Steve Ellcey  <sje@cup.hp.com>
2720
2721         * include/c_std/cmath.tcc: Use _GLIBCXX_ prefix on file guard.
2722         * include/c_std/std_cctype.h: Ditto.
2723         * include/c_std/std_cerrno.h: Ditto.
2724         * include/c_std/std_cfloat.h: Ditto.
2725         * include/c_std/std_climits.h: Ditto.
2726         * include/c_std/std_clocale.h: Ditto.
2727         * include/c_std/std_cmath.h: Ditto.
2728         * include/c_std/std_csetjmp.h: Ditto.
2729         * include/c_std/std_csignal.h: Ditto.
2730         * include/c_std/std_cstdarg.h: Ditto.
2731         * include/c_std/std_cstddef.h: Ditto.
2732         * include/c_std/std_cstdio.h: Ditto.
2733         * include/c_std/std_cstdlib.h: Ditto.
2734         * include/c_std/std_cstring.h: Ditto.
2735         * include/c_std/std_ctime.h: Ditto.
2736         * include/c_std/std_cwchar.h: Ditto.
2737         * include/c_std/std_cwctype.h: Ditto.
2738         * include/std/std_algorithm.h: Ditto.
2739         * include/std/std_bitset.h: Ditto.
2740         * include/std/std_complex.h: Ditto.
2741         * include/std/std_deque.h: Ditto.
2742         * include/std/std_fstream.h: Ditto.
2743         * include/std/std_functional.h: Ditto.
2744         * include/std/std_iomanip.h: Ditto.
2745         * include/std/std_ios.h: Ditto.
2746         * include/std/std_iosfwd.h: Ditto.
2747         * include/std/std_iostream.h: Ditto.
2748         * include/std/std_istream.h: Ditto.
2749         * include/std/std_iterator.h: Ditto.
2750         * include/std/std_limits.h: Ditto.
2751         * include/std/std_list.h: Ditto.
2752         * include/std/std_locale.h: Ditto.
2753         * include/std/std_map.h: Ditto.
2754         * include/std/std_memory.h: Ditto.
2755         * include/std/std_numeric.h: Ditto.
2756         * include/std/std_ostream.h: Ditto.
2757         * include/std/std_queue.h: Ditto.
2758         * include/std/std_set.h: Ditto.
2759         * include/std/std_sstream.h: Ditto.
2760         * include/std/std_stack.h: Ditto.
2761         * include/std/std_stdexcept.h: Ditto.
2762         * include/std/std_streambuf.h: Ditto.
2763         * include/std/std_string.h: Ditto.
2764         * include/std/std_utility.h: Ditto.
2765         * include/std/std_valarray.h: Ditto.
2766         * include/std/std_vector.h: Ditto.
2767
2768 2003-07-22  Doug Gregor  <dgregor@apple.com>
2769
2770         * include/bits/basic_string.h (basic_string::insert): Deprecate
2771         GNU extension.
2772
2773 2003-07-21  Benjamin Kosnik  <bkoz@redhat.com>
2774
2775         * scripts/testsuite_flags.in (--build-includes): Remove extraneous
2776         paths for libio.
2777         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc
2778         (test03): Include typeinfo for bad_cast.
2779         * testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.
2780         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
2781         * testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.
2782
2783 2003-07-21  Doug Gregor  <dgregor@apple.com>
2784
2785         * include/bits/boost_concept_check.h:
2786         (_EqualityComparableConcept::__constraints): Remove != from the
2787         list of constraints; it is not listed in Table 28 of the C++98
2788         standard.
2789
2790 2003-07-18  Andreas Jaeger  <aj@suse.de>
2791
2792         * config/abi/sparc-linux-gnu/baseline_symbols.txt: New file.
2793         * config/abi/mips-linux-gnu/baseline_symbols.txt: New file.
2794         * config/abi/hppa-linux-gnu/baseline_symbols.txt: New file.
2795         * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
2796
2797 2003-07-17  Benjamin Kosnik  <bkoz@redhat.com>
2798
2799         * config/linker-map.gnu: Add __moneypunct_cache, __timepunct_cache.
2800         * config/locale/generic/messages_members.h: Tweaks.
2801         * config/locale/generic/monetary_members.cc
2802         (moneypunct::_M_initialize_moneypunct): Use cache.
2803         (moneypunct::~moneypunct): Delete cache.
2804         * config/locale/generic/time_members.cc:
2805         (__timepunct::_M_initialize_timepunct): Use cache.
2806         * config/locale/generic/time_members.h:
2807         (__timepunct::~__timepunct): Delete cache.
2808         (__timepunct::__timepunct): Set cache.
2809         * config/locale/gnu/messages_members.h: Tweaks.
2810         * config/locale/gnu/monetary_members.cc:
2811         (moneypunct::_M_initialize_moneypunct): Use cache.
2812         (moneypunct::~moneypunct): Delete cache.
2813         * config/locale/gnu/time_members.cc:
2814         (__timepunct::_M_initialize_timepunct): Use cache.
2815         * config/locale/gnu/time_members.h:
2816         (__timepunct::~__timepunct): Delete cache.
2817         (__timepunct::__timepunct): Set cache.
2818         * include/bits/locale_facets.h (__timepunct_cache): New.
2819         (__moneypunct_cache): New.
2820         * include/bits/locale_facets.tcc: Tweak.
2821         * src/locale.cc (__timepunct::_S_timezones): Adjust for cache.
2822         * src/locale-inst.cc: Instantiate caches.
2823         * src/globals.cc: Add "C" caches.
2824         * src/localename.cc: Use external "C" caches.
2825
2826 2003-07-17  Phil Edwards  <pme@gcc.gnu.org>
2827
2828         * docs/doxygen/guide.html:  Fix typo.
2829
2830 2003-07-16  Benjamin Kosnik  <bkoz@redhat.com>
2831
2832         * include/ext/pod_char_traits.h: Add state template argument.
2833
2834 2003-07-16  Benjamin Kosnik  <bkoz@redhat.com>
2835
2836         * include/bits/locale_facets.h (__num_base::_S_atoms_in): Add -+xX.
2837         (num_get::_M_convert_int): To _M_insert_int.
2838         (num_get::_M_convert_float): To _M_insert_float.
2839         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
2840         Use caches for ctype, num_get.
2841         (num_get::_M_extract_int): Same.
2842         (num_get::get(bool)): Same.
2843         (__verify_grouping): Use size_t.
2844         * src/locale-inst.cc: Update.
2845         * src/locale.cc: Adjust _S_atoms_in.
2846
2847 2003-07-16  Phil Edwards  <pme@gcc.gnu.org>
2848
2849         * docs/doxygen/mainpage.html:  Move building/writing instructions...
2850         * docs/doxygen/guide.html:  ...to here.  New file.
2851
2852 2003-07-16  Jonathan Wakely  <redi@gcc.gnu.org>
2853
2854         * docs/html/ext/howto.html: Update URL for SGI STL docs.
2855         * docs/html/faq/index.html: Same.
2856         * docs/html/faq/index.txt: Regenerate.
2857
2858 2003-07-16  Paolo Carlini  <pcarlini@unitus.it>
2859
2860         PR libstdc++/11528
2861         * include/bits/locale_facets.tcc (money_get::do_get):
2862         Strip only _leading_ zeros.
2863         * testsuite/22_locale/money_get/get/char/11528.cc: Add.
2864         * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Add.
2865
2866 2003-07-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2867
2868         * include/ext/hash_map (class hash_multimap): Remove extra
2869         semicolons from __glibcxx_class_requires3 entries.
2870         * include/ext/hash_set (class hash_set): Ditto.
2871         (class hash_multiset): Ditto.
2872
2873 2003-07-15  Petur Runolfsson  <peturr02@ru.is>
2874
2875         * include/bits/char_traits.h (char_traits<wchar_t>::move):
2876         Change last parameter from int_type to size_t.
2877
2878 2003-07-15  Jerry Quinn  <jlquinn@optonline.net>
2879
2880         * include/bits/stl_algo.h (includes, set_union, set_intersection,
2881         set_difference, set_symmetric_difference, max_element, min_element,
2882         next_permutation, prev_permutation, find_first_of, find_end):
2883         Document.
2884         * include/bits/stl_algobase.h (copy,copy_backward):  Clarify overlap
2885         restrictions in docs.
2886         * include/bits/stl_heap.h (push_heap, pop_heap, make_heap, sort_heap):
2887         Document.
2888         * docs/doxygen/doxygroups.cc (setoperations):  New group.
2889
2890 2003-07-15  Jerry Quinn  <jlquinn@optonline.net>
2891
2892         * include/bits/basic_string.h:  Document public functions.
2893         * docs/doxygen/TODO:  Update c21 todo.
2894
2895 2003-07-15  Jerry Quinn  <jlquinn@optonline.net>
2896
2897         * include/bits/stl_list.h:  Document more functions.
2898         * docs/doxygen/TODO:  Update c23 todo.
2899
2900 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
2901
2902         * config/locale/gnu/c_locale.h (__convert_from_v): One more
2903         qualification.
2904
2905 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
2906
2907         * include/bits/stl_tempbuf.h: Qualify free with std::.
2908         * src/locale.cc: Include <cstdlib>, qualify getenv.
2909
2910 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
2911
2912         * config/locale/gnu/c_locale.h (__convert_from_v): Include
2913         <cstdio>. Qualify names.
2914         * config/locale/generic/c_locale.h (__convert_from_v): Ditto.
2915
2916 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
2917             Nathan C. Myers  <ncm-nospam@cantrip.org>
2918
2919         PR libstdc++/11378
2920         * include/std/std_fstream.h (xsputn): Declare only.
2921         * include/bits/fstream.tcc (xsputn): Define, optimize for the
2922         always_noconv() case: when __n is sufficiently large flush
2923         the buffer and issue a direct write, if possible combining the
2924         two with writev in __basic_file<>::xsputn_2.
2925         * config/io/basic_file_stdio.h (__basic_file<>::xsputn_2):
2926         New, declare.
2927         * config/io/basic_file_stdio.cc (__basic_file<>::xsputn_2):
2928         Define.
2929         * acinclude.m4 (GLIBCXX_CHECK_WRITE): New macro, checking for
2930         the availability of writev in <sys/uio.h>.
2931         * configure.in: Call here.
2932         * acconfig.h: Add undef for the corresponding symbol.
2933         * aclocal.m4: Regenerate.
2934         * configure: Regenerate.
2935         * config.h.in: Regenerate.
2936         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Tweak.
2937
2938         * include/std/std_fstream.h (sync): Constify a variable.
2939
2940 2003-07-14  Benjamin Kosnik  <bkoz@redhat.com>
2941
2942         * testsuite/27_io/ios_base/cons/assign_neg.cc: Fix line numbers.
2943         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
2944
2945 2003-07-14  Gabriel Dos Reis  <gcc@integrable-solutions.net>
2946
2947         * config/locale/gnu/c_locale.h (__convert_from_v): Include
2948         <cstring> and <cstdlib>. Qualify names.
2949
2950 2003-07-13  Mark Mitchell  <mark@codesourcery.com>
2951
2952         * config/locale/generic/c_locale.h: Include <cstdlib> and
2953         <cstring>.
2954         * include/bits/boost_concept_check.h: Add this-> to unqualified
2955         method calls.
2956         * include/bits/deque.tcc: Likewise.
2957         * include/bits/locale_facets.h : Likewise.
2958         * include/bits/ostream.tcc: Likewise.
2959         * include/bits/stl_algo.h: Likewise.
2960         * include/bits/stl_bvector.h: Likewise.
2961         * include/bits/stl_deque.h: Likewise.
2962         * include/bits/stl_list.h: Likewise.
2963         * include/bits/stl_tree.h: Likewise.
2964         * include/bits/stl_vector.h: Likewise.
2965         * include/bits/vector.tcc: Likewise.
2966         * include/ext/rope: Likewise.
2967         * include/ext/ropeimpl.h: Likewise.
2968         * include/ext/stdio_filebuf.h: Likewise.
2969
2970 2003-07-11  Jerry Quinn  <jlquinn@optonline.net>
2971
2972         * include/bits/basic_ios.h (copyfmt): Document.
2973         * include/bits/ios_base.h (event, event_callback, register_callback,
2974         xalloc, iword, pword):  Document.
2975         (imbue, ~ios_base): Update docs on callbacks.
2976
2977 2003-07-11  Phil Edwards  <pme@gcc.gnu.org>
2978
2979         * acinclude.m4 (GLIBCC_ENABLE_SYMVERS):  Tweak comments.  Add
2980         warning messages if the environment cannot support symbol versioning.
2981         (port_specific_symbol_file):  It's plural, add an 's' on the end.
2982         * configure.host:  Likewise.
2983         * src/Makefile.am:  Likewise.
2984         * config/linker-map.gnu:  Remove one semicolon, heh.
2985         * scripts/extract_symvers:  Don't assume useful 'export' syntax.
2986         Set LANG as well as LC_ALL for possibly-broken sort(1)s.
2987         * aclocal.m4, configure, src/Makefile.in:  Regenerated.
2988
2989 2003-07-09  Benjamin Kosnik  <bkoz@redhat.com>
2990
2991         * include/bits/locale_facets.tcc: Use function object for
2992         __use_cache instead of template function. Partially specialize for
2993         __numpunct<_CharT>.
2994         * include/bits/locale_classes.h: Update friend declaration for
2995         __use_cache.
2996         (_M_install_cache): No throw exception specs.
2997         * src/locale.cc: Remove __use_cache specializations.
2998         * include/ext/pod_char_traits.h (length): Tweak.
2999         * include/bits/locale_facets.h (__numpunct_cache): Remove
3000         char_type typedef.
3001         * testsuite/testsuite_hooks.h (pod_unsigned_int): Remove.
3002         (pod_long): Remove.
3003         * testsuite/22_locale/numpunct/members/char/cache_1.cc: New.
3004         * testsuite/22_locale/numpunct/members/char/cache_2.cc: New.
3005         * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: New.
3006         * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: New.
3007         * testsuite/22_locale/numpunct/members/pod/1.cc: New.
3008         * testsuite/22_locale/numpunct/members/pod/2.cc: New.
3009
3010 2003-07-09  Jerry Quinn  <jlquinn@optonline.net>
3011
3012         * src/ios.cc (_M_grow_words):  Fix spelling.
3013
3014 2003-07-09  Gawain Bolton  <gp.bolton@computer.org>
3015
3016         * include/bits/stl_tree.h: Move larger member functions in
3017         _Rb_tree_base_iterator and _Rb_tree_node to...
3018         * src/stl_tree.cc: Here.
3019         * src/Makefile.in: Add stl_tree.cc.
3020         * src/Makefile.in: Regenerated.
3021         * config/linker-map.gnu: Add symbols here.
3022
3023 2003-07-08  Benjamin Kosnik  <bkoz@redhat.com>
3024
3025         * testsuite/ext/pod_char_traits.cc: New.
3026         * include/ext/pod_char_traits.h: New.
3027         * include/Makefile.am (ext_headers): Add pod_char_traits.h.
3028         * include/Makefile.in: Regenerate.
3029         * docs/html/21_strings/howto.html: Update.
3030
3031 2003-07-08  Gawain Bolton  <gp.bolton@computer.org>
3032
3033         * testsuite/performance/list_create_fill_sort.cc: New.
3034
3035 2003-07-08  Benjamin Kosnik  <bkoz@redhat.com>
3036
3037         * config/locale/generic/numeric_members.cc: Correct type info.
3038         * config/locale/gnu/numeric_members.cc: Same.
3039         * include/bits/locale_facets.h: Same.
3040
3041         * include/bits/char_traits.h: Correct spacing.
3042
3043         * src/locale.cc: Wrap to 80 col.
3044
3045 2003-07-07  Paolo Carlini  <pcarlini@unitus.it>
3046
3047         * include/std/std_complex.h: Partially revert last
3048         changes: cmath functions must not be qualified.
3049
3050 2003-07-06  Phil Edwards  <pme@gcc.gnu.org>
3051
3052         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS):  Do not test for binutils
3053         2.11 with globbing backport fix.
3054         * aclocal.m4, configure:  Regenerated.
3055
3056 2003-07-06  Paolo Carlini  <pcarlini@unitus.it>
3057
3058         * include/std/std_fstream.h (xsputn): Don't call _M_destroy_pback:
3059         if output is at all possible (!_M_reading), cannot be active.
3060
3061         * include/std/std_fstream.h: Tweak comments to doxygen style.
3062
3063 2003-07-06  Paolo Carlini  <pcarlini@unitus.it>
3064
3065         * include/bits/locale_classes.h: Fully qualify standard
3066         functions with std::, thus avoiding Koenig lookup.
3067         * include/bits/locale_facets.tcc: Likewise.
3068         * src/locale.cc: Likewise.
3069         * src/localename.cc: Likewise.
3070
3071 2003-07-06  Phil Edwards  <pme@gcc.gnu.org>
3072
3073         * include/bits/allocator_traits.h:  Fix doxygen markup.
3074         * include/ext/mt_allocator.h:  Likewise.
3075
3076 2003-07-06  Phil Edwards  <pme@gcc.gnu.org>
3077
3078         * testsuite/testsuite_hooks.h:  Guard against a missing unlink().
3079
3080 2003-07-05  Phil Edwards  <pme@gcc.gnu.org>
3081
3082         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS):  Bump minimal version
3083         requirement.  Add port_specific_symbol_file variable.
3084         * configure.host:  Add docs for port_specific_symbol_file.
3085         Clean up try_cpu block for x86.
3086         * config/linker-map.gnu:  No more "last symbol can't have a
3087         semicolon" kaka.  Add hook for port-specific symbols.
3088         * src/Makefile.am:  Remove trailing whitespace.
3089         (libstdc++-symbol.ver):  Detect the presence of port-specific
3090         symbols, and add them accordingly.
3091
3092         * docs/html/17_intro/porting.texi:  Bring up to date.
3093
3094         * src/Makefile.in, aclocal.m4, configure,
3095         docs/html/17_intro/porting.html:  Regenerated.
3096
3097 2003-07-05  Phil Edwards  <pme@gcc.gnu.org>
3098
3099         * scripts/create_testsuite_files:  New file.
3100         * testsuite/Makefile.am (all-local, check-performance):  Use it.
3101         * testsuite/lib/libstdc++-v3-dg.exp (v3-computer-tests):  Remove.
3102         * testsuite/Makefile.in:  Regenerated.
3103
3104         * testsuite/performance/filebuf_sputc.cc:  Remove the temporary
3105         files at the end.
3106         * testsuite/performance/fstream_seek_write.cc:  Likewise.
3107         * testsuite/performance/ofstream_insert_float.cc:  Likewise.
3108         * testsuite/performance/ofstream_insert_int.cc:  Likewise.
3109         * testsuite/abi_check.cc (main):  Nicer spacing in usage output.
3110
3111 2003-07-05  Gawain Bolton  <gp.bolton@computer.org>
3112
3113         * include/bits/stl_list.h: Performance and memory usage
3114         improvements. In particular, the behaviour of the constructor and
3115         destructor as the list header node is no longer dynamically
3116         allocated/de-allocated.
3117         * include/bits/list.tcc: Likewise.
3118
3119 2003-07-05  Paolo Carlini  <pcarlini@unitus.it>
3120
3121         * include/std/std_complex.h: Fully qualify standard
3122         functions with std::, thus avoiding Koenig lookup.
3123         * include/std/std_memory.h: Likewise.
3124         * include/std/std_valarray.h: Likewise.
3125
3126 2003-07-05  Gawain Bolton  <gp.bolton@computer.org>
3127
3128         * include/bits/stl_tree.h: _Rb_tree_rebalance():  Add local
3129           variable for grandparent and use const
3130
3131 2003-07-05  David Billinghurst <David.Billinghurst@riotinto.com>
3132
3133         * testsuite/27_io/basic_filebuf/close/char/4879.cc: xfail on cygwin
3134         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Ditto
3135         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Ditto
3136         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Ditto
3137         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Ditto
3138         * testsuite/27_io/objects/char/7.cc: Ditto
3139         * testsuite/27_io/objects/char/9661-1.cc: Ditto
3140
3141 2003-07-05  Paolo Carlini  <pcarlini@unitus.it>
3142
3143         * include/std/std_bitset.h: Fully qualify standard
3144         functions with std::, thus avoiding Koenig lookup.
3145
3146         * include/std/std_fstream.h: Change comment to doxygen style.
3147
3148 2003-07-05  Phil Edwards  <pme@gcc.gnu.org>
3149
3150         * include/std/std_limits.h:  More CPP->CXX changes.
3151         * scripts/check_survey.in:  Likewise.
3152
3153 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3154
3155         Move from CPP to CXX.
3156         * include/bits/c++config: Move to GLIBCXX from GLIBCPP.
3157         * testsuite/Makefile.am: Same.
3158         * testsuite/Makefile.in: Regenerate.
3159         * po/Makefile.am: Same.
3160         * po/Makefile.in: Regenerate.
3161         * libsupc++/Makefile.am: Same.
3162         * libsupc++/Makefile.in: Regenerate.
3163         * libmath/Makefile.am: Same.
3164         * libmath/Makefile.in: Regenerate.
3165         * include/Makefile.am: Same.
3166         * include/Makefile.in: Regenerate.
3167         * src/Makefile.am: Same.
3168         * src/Makefile.in: Regenerate.
3169         * acconfig.h: Same.
3170         * configure.host: Same.
3171         * configure.in: Same.
3172         * configure: Regenerate.
3173         * acinclude.m4: Same.
3174         * aclocal.m4: Same.
3175         * src: Change all files in this directory.
3176         * testsuite: Same.
3177         * include: Same, standardize include guards.
3178         * config: Same.
3179         * libsupc++: Same.
3180
3181 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
3182
3183         * testsuite/22_locale/collate/compare/wchar_t/2.cc
3184         * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc
3185         * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc
3186         * testsuite/22_locale/collate/hash/wchar_t/2.cc
3187         * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc
3188         * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc
3189         * testsuite/22_locale/collate/transform/wchar_t/2.cc
3190         * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc
3191         * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
3192         XFAIL on all targets.
3193
3194 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3195
3196         * acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix missed variable.
3197         * aclocal.m4: Regenerate.
3198         * configure: Regenerate.
3199
3200 2003-07-04  Jerry Quinn  <jlquinn@optonline.net>
3201
3202         * include/bits/locale_facets.tcc (__int_to_char): Move common case
3203         to the top.
3204
3205 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3206             Petur Runolfsson  <peturr02@ru.is>
3207
3208         * config/io/basic_file_stdio.cc: Revert.
3209
3210 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3211
3212         * include/bits/deque.tcc: Fully qualify standard
3213         functions with std::, thus avoiding Koenig lookup.
3214         * include/bits/gslice_array.h: Likewise.
3215         * include/bits/indirect_array.h: Likewise.
3216         * include/bits/list.tcc: Likewise.
3217         * include/bits/mask_array.h: Likewise.
3218         * include/bits/slice_array.h: Likewise.
3219
3220 2003-07-04  Gawain Bolton  <gbolton@free.fr>
3221
3222         * include/bits/stl_tree.h: Performance and memory usage
3223         improvements.
3224
3225 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
3226
3227         * Makefile.am: Replace PWD with PWD_COMMAND.
3228         * Makefile.in: Regenerated.
3229         * docs/html/Makefile: Likewise.
3230
3231 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3232
3233         * include/bits/valarray_array.h: Fully qualify standard
3234         functions with std::, thus avoiding Koenig lookup.
3235         * include/bits/vector.tcc: Likewise.
3236
3237 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3238
3239         * include/Makefile.am: Update target_ to host_.
3240         * include/Makefile.in: Regenerate.
3241         * src/Makefile.am: Same.
3242         * src/Makefile.in: Regenerate.
3243
3244         * config/os/gnu-linux/os_defines.h: Remove glibc-2.0 support.
3245
3246 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3247
3248         * acinclude.m4 (GLIBCPP_ENABLE_DEBUG_FLAGS): To
3249         --enable-libstdcxx-debug-flags.
3250         (GLIBCPP_ENABLE_DEBUG_FLAGS): To --enable-libstdcxx-debug.
3251         (GLIBCPP_ENABLE_PCH): To --enable-libstdcxx-pch.
3252         * aclocal.m4: Regenerate.
3253         * configure: Same.
3254         * docs/html/configopts.html: Update.
3255
3256 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3257
3258         Revert the fix for libstdc++/11378.
3259
3260 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3261
3262         PR libstdc++/11378
3263         * include/std/std_fstream.h (xsputn): In the unbuffered case,
3264         provided always_noconv(), issue directly _M_file.xsputn.
3265         * testsuite/performance/filebuf_unbuf_sputn.cc: New.
3266
3267 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3268
3269         * include/bits/stl_list.h: Fully qualify standard
3270         functions with std::, thus avoiding Koenig lookup.
3271         * include/bits/stl_queue.h: Likewise.
3272         * include/bits/stl_raw_storage_iter.h: Likewise.
3273         * include/bits/stl_tempbuf.h: Likewise.
3274         * include/bits/stl_tree.h: Likewise.
3275         * include/bits/stl_uninitialized.h: Likewise.
3276         * include/bits/stl_vector.h: Likewise.
3277         * include/ext/rope: Change includes order.
3278
3279 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3280
3281         * configure.host (fpos_include_dir): Fix.
3282
3283 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3284
3285         * include/bits/stl_heap.h: Fully qualify standard
3286         functions with std::, thus avoiding Koenig lookup.
3287         * include/bits/stl_iterator_base_funcs.h: Likewise.
3288
3289         * include/bits/stl_algo.h: Qualify __iterator_category too.
3290         * include/bits/stl_algobase.h: Likewise.
3291         * include/bits/stl_bvector.h: Likewise.
3292
3293         * include/bits/stl_algo.h: Don't qualify the pair type.
3294
3295 2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>
3296
3297         * include/Makefile.am (target_headers): Add fpos.h
3298         (bits_headers): Remove.
3299         * include/Makefile.in: Regenerate.
3300         * configure.in: Add FPOS_INC_SRCDIR, substitute it.
3301         * configure: Regenerate.
3302         * configure.host: Add fpos_i