OSDN Git Service

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