OSDN Git Service

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