OSDN Git Service

2005-01-28 Paolo Carlini <pcarlini@suse.de>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2005-01-28  Paolo Carlini  <pcarlini@suse.de>
2
3         * include/tr1/type_traits (is_function): Minor consistency tweaks.
4
5 2005-01-28  Geoffrey Keating  <geoffk@apple.com>
6
7         * testsuite/lib/libstdc++.exp (libstdc++_init): Search the path
8         for the compiler.  Don't set cxxflags.
9         (v3_target_compile): Search for libv3test.a relative to $objdir.
10         (lsearch_all_inline): New.
11         (lsearch_all_inline_not): New.
12         (v3-list-tests): Rewrite to not need generated files.
13         * testsuite/Makefile.am (IGNORE_WCHAR_T): New.
14         (IGNORE_THREAD): New.
15         (TESTS_TO_IGNORE): New.
16         (site.exp): Set tests_to_ignore, cxxflags.
17         * aclocal.m4: Regenerate.
18         * Makefile.in: Regenerate.
19         * libmath/Makefile.in: Likewise.
20         * libsupc++/Makefile.in: Likewise.
21         * po/Makefile.in: Likewise.
22         * src/Makefile.in: Likewise.
23         * testsuite/Makefile.in: Likewise.
24
25 2005-01-28  Paolo Carlini  <pcarlini@suse.de>
26
27         * include/tr1/type_traits: Implement is_empty.
28         * testsuite/tr1/4_metaprogramming/type_properties/is_empty/
29         is_empty.cc: New.
30         * testsuite/tr1/4_metaprogramming/type_properties/is_empty/
31         typedefs.cc: Likewise.
32
33         * include/tr1/type_traits (__is_abstract_helper): Simplify a bit.
34
35 2005-01-28  Paolo Carlini  <pcarlini@suse.de>
36
37         * include/tr1/type_traits: Implement is_abstract, by exploiting the
38         resolution of DR core/337.
39         * testsuite/testsuite_tr1.h: Add AbstractClass.
40         * testsuite/tr1/4_metaprogramming/type_properties/is_abstract/
41         is_abstract.cc: New.
42         * testsuite/tr1/4_metaprogramming/type_properties/is_abstract/
43         typedefs.cc: Likewise.
44         
45         * include/tr1/type_traits (is_function): Rewrite, use the conversion
46         F& -> F* instead, thus avoiding problems with abstract classes.
47         * testsuite/tr1/4_metaprogramming/primary_type_categories/
48         is_function/is_function.cc: Add a test for tricky AbstractClass.
49
50 2005-01-26  Paolo Carlini  <pcarlini@suse.de>
51
52         * include/ext/mt_allocator.h
53         (struct __per_type_pool_policy<,, false>::_S_get_pool,
54         struct __per_type_pool_policy<,, true>::_S_get_pool): Scale
55         _M_chunk_size too with sizeof(_Tp), otherwise the allocator
56         breaks down as soon as sizeof(_Tp) >~ _S_chunk_size / 128;
57         reduce to 64 the multiplier for _M_max_bytes (safer wrt
58         _Binmap_type being a short); trivial reformattings.
59         * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: New.
60
61 2005-01-26  Paolo Carlini  <pcarlini@suse.de>
62
63         * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Add ac_c99_complex
64         to the final test for enable_c99, thus robustifying it; remove
65         duplicate final test on ac_99_math.
66         * configure: Regenerate.
67
68         * include/std/std_complex.h: Remove usages of the dead
69         _GLIBCXX_BUGGY_COMPLEX macro.
70
71         * testsuite/26_numerics/cmath/19322.cc: Protect with
72         _GLIBCXX_USE_C99_MATH instead of the stronger _GLIBCXX_USE_C99,
73         since only C99 math facilities are involved.
74         * testsuite/26_numerics/cmath/c99_classification_macros_c++.cc:
75         Likewise.
76
77 2005-01-25  Loren J. Rittle  <ljrittle@acm.org>
78
79         * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Map FreeBSD to darwin
80         instead of generic.  Change autoconf report to "darwin or freebsd".
81         * configure: Regenerate.
82         * config/os/bsd/freebsd/ctype_inline.h (ctype<wchar_t>::do_is): Add.
83         (ctype<wchar_t>::do_scan_is): Likewise.
84         (ctype<wchar_t>::do_scan_not): Likewise.
85
86 2005-01-25  Benjamin Kosnik  <bkoz@redhat.com>
87
88         * acinclude.m4 (GLIBCXX_ENABLE_C99): Test for complex math
89         functions, and enable _GLIBCXX_USE_C99_COMPLEX_MATH if they exist.
90         * acconfig.h: Add _GLIBCXX_USE_C99_COMPLEX_MATH.
91         * config.h.in: Regenerate.
92         * configure: Regenerate.
93         * include/std/std_complex.h: Protect complex builtins with
94         _GLIBCXX_USE_C99_COMPLEX_MATH.
95
96 2005-01-24  Paolo Carlini  <pcarlini@suse.de>
97
98         * include/tr1/type_traits: Implement is_signed and is_unsigned.
99         * testsuite/tr1/4_metaprogramming/type_properties/
100         is_signed/is_signed.cc: New.
101         * testsuite/tr1/4_metaprogramming/type_properties/
102         is_signed/typedefs.cc: Likewise.
103         * testsuite/tr1/4_metaprogramming/type_properties/
104         is_unsigned/is_unsigned.cc: Likewise.
105         * testsuite/tr1/4_metaprogramming/type_properties/
106         is_unsigned/typedefs.cc: Likewise.
107
108 2005-01-23  Paolo Carlini  <pcarlini@suse.de>
109
110         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 34.
111
112 2005-01-23  Paolo Carlini  <pcarlini@suse.de>
113
114         * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: New.
115         * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
116         * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
117         * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
118         * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
119         * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
120         * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
121         * testsuite/27_io/basic_ostream/flush/wchar_t/
122         exceptions_badbit_throw.cc: Likewise.
123         * testsuite/27_io/basic_ostream/inserters_arithmetic/
124         wchar_t/2.cc: Likewise.
125         * testsuite/27_io/basic_ostream/inserters_arithmetic/
126         wchar_t/3.cc: Likewise.
127         * testsuite/27_io/basic_ostream/inserters_arithmetic/
128         wchar_t/4.cc: Likewise.
129         * testsuite/27_io/basic_ostream/inserters_arithmetic/
130         wchar_t/4402.cc: Likewise.
131         * testsuite/27_io/basic_ostream/inserters_arithmetic/
132         wchar_t/5.cc: Likewise.
133         * testsuite/27_io/basic_ostream/inserters_arithmetic/
134         wchar_t/6.cc: Likewise.
135         * testsuite/27_io/basic_ostream/inserters_arithmetic/
136         wchar_t/9555-oa.cc: Likewise.
137         * testsuite/27_io/basic_ostream/inserters_arithmetic/
138         wchar_t/exceptions_badbit_throw.cc: Likewise.
139         * testsuite/27_io/basic_ostream/inserters_arithmetic/
140         wchar_t/exceptions_failbit_throw.cc: Likewise.
141         * testsuite/27_io/basic_ostream/inserters_character/
142         wchar_t/1.cc: Likewise.
143         * testsuite/27_io/basic_ostream/inserters_character/
144         wchar_t/2.cc: Likewise.
145         * testsuite/27_io/basic_ostream/inserters_character/
146         wchar_t/3.cc: Likewise.
147         * testsuite/27_io/basic_ostream/inserters_character/
148         wchar_t/4.cc: Likewise.
149         * testsuite/27_io/basic_ostream/inserters_character/
150         wchar_t/5.cc: Likewise.
151         * testsuite/27_io/basic_ostream/inserters_character/
152         wchar_t/6.cc: Likewise.
153         * testsuite/27_io/basic_ostream/inserters_character/
154         wchar_t/9555-oc.cc: Likewise.
155         * testsuite/27_io/basic_ostream/inserters_other/
156         wchar_t/1.cc: Likewise.
157         * testsuite/27_io/basic_ostream/inserters_other/
158         wchar_t/2.cc: Likewise.
159         * testsuite/27_io/basic_ostream/inserters_other/
160         wchar_t/3.cc: Likewise.
161         * testsuite/27_io/basic_ostream/inserters_other/
162         wchar_t/4.cc: Likewise.
163         * testsuite/27_io/basic_ostream/inserters_other/
164         wchar_t/5.cc: Likewise.
165         * testsuite/27_io/basic_ostream/inserters_other/
166         wchar_t/9318-out.cc: Likewise.
167         * testsuite/27_io/basic_ostream/inserters_other/
168         wchar_t/9424-out.cc: Likewise.
169         * testsuite/27_io/basic_ostream/inserters_other/
170         wchar_t/9555-oo.cc: Likewise.
171         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
172         error_failbit.cc: Likewise.
173         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
174         exceptions_badbit_throw.cc: Likewise.
175         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
176         exceptions_failbit_throw.cc: Likewise.
177         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
178         exceptions_null.cc: Likewise.
179         * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
180         * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
181         * testsuite/27_io/basic_ostream/seekp/char/
182         exceptions_badbit_throw.cc: Likewise.
183         * testsuite/27_io/basic_ostream/seekp/wchar_t/
184         2346-fstream.cc: Likewise.
185         * testsuite/27_io/basic_ostream/seekp/wchar_t/
186         2346-sstream.cc: Likewise.
187         * testsuite/27_io/basic_ostream/seekp/wchar_t/
188         exceptions_badbit_throw.cc: Likewise.
189         * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
190         * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
191         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
192         * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
193         * testsuite/27_io/basic_ostream/tellp/wchar_t/
194         exceptions_badbit_throw.cc: Likewise.
195         * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.
196
197         * testsuite/data/wostream_inserter_char-1.tst: Likewise.
198         * testsuite/data/wostream_inserter_char-1.txt: Likewise.
199         * testsuite/data/wostream_inserter_other-1.tst: Likewise.
200         * testsuite/data/wostream_inserter_other-2.tst: Likewise.
201         * testsuite/data/wostream_seeks-1.tst: Likewise.
202
203         * testsuite/27_io/basic_ostream/endl/char/1.cc: Minor tweaks.
204         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
205         * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise. 
206         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
207         * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
208         * testsuite/27_io/basic_ostream/flush/char/
209         exceptions_badbit_throw.cc: Likewise.
210         * testsuite/27_io/basic_ostream/inserters_arithmetic/
211         char/2.cc: Likewise.
212         * testsuite/27_io/basic_ostream/inserters_arithmetic/
213         char/3.cc: Likewise.
214         * testsuite/27_io/basic_ostream/inserters_arithmetic/
215         char/4.cc: Likewise.
216         * testsuite/27_io/basic_ostream/inserters_arithmetic/
217         char/4402.cc: Likewise.
218         * testsuite/27_io/basic_ostream/inserters_arithmetic/
219         char/5.cc: Likewise.
220         * testsuite/27_io/basic_ostream/inserters_arithmetic/
221         char/6.cc: Likewise.
222         * testsuite/27_io/basic_ostream/inserters_character/
223         char/4.cc: Likewise.
224         * testsuite/27_io/basic_ostream/inserters_other/char/
225         2.cc: Likewise.
226         * testsuite/27_io/basic_ostream/inserters_other/char/
227         5.cc: Likewise.
228         * testsuite/27_io/basic_ostream/inserters_other/char/
229         error_failbit.cc: Likewise.
230         * testsuite/27_io/basic_ostream/inserters_other/char/
231         exceptions_badbit_throw.cc: Likewise.
232         * testsuite/27_io/basic_ostream/inserters_other/char/
233         exceptions_failbit_throw.cc: Likewise.
234         * testsuite/27_io/basic_ostream/inserters_other/char/
235         exceptions_null.cc: Likewise.
236         * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
237         * testsuite/27_io/basic_ostream/seekp/char/
238         exceptions_badbit_throw.cc: Likewise.
239         * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
240         * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.
241
242 2005-01-23  Paolo Carlini  <pcarlini@suse.de>
243
244         * include/tr1/type_traits (aligned_storage): Use __aligned__ instead
245         of aligned.
246
247 2005-01-23  Paolo Carlini  <pcarlini@suse.de>
248             Andreas Jaeger  <aj@suse.de>
249
250         PR libstdc++/19343
251         * include/bits/functexcept.h: Mark the helpers as 'noreturn'.
252
253 2005-01-21  Loren J. Rittle  <ljrittle@acm.org>
254
255         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Allow
256         lseek on fifo to succeed.  Thus, check for consistent report.
257
258 2005-01-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
259
260         PR libstdc++/19510
261         * include/bits/stl_list.h (_List_iterator): Initialize _M_node
262         in constructor.
263         (_List_const_iterator): Likewise.
264         * include/bits/stl_tree.h (_Rb_tree_iterator): Likewise.
265         (_Rb_tree_const_iterator): Likewise.
266
267         * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
268         * testsuite/23_containers/set/operators/1_neg.cc: Likewise.
269
270 2005-01-20  Benjamin Kosnik  <bkoz@redhat.com>
271
272         * testsuite/Makefile.am (check-compile): New.
273         * testsuite/Makefile.in: Regenerate.    
274         * scripts/check_compile_time: New.
275         * scripts/check_performance: Tweaks.
276
277 2005-01-19  Paolo Carlini  <pcarlini@suse.de>
278
279         PR libstdc++/19535
280         * include/tr1/utility (struct __pair_get<1>::__get, __const_get):
281         Fix typo in the return type.
282         * testsuite/tr1/6_containers/utility/19535.cc: New.
283
284 2005-01-19  Loren J. Rittle  <ljrittle@acm.org>
285
286         * include/ext/array_allocator.h (array_allocator<>::allocate):
287         Avoid __used.  Use __array_used instead.
288         * docs/html/17_intro/BADNAMES: Add list for FreeBSD.
289
290 2005-01-18  David Edelsohn  <edelsohn@gnu.org>
291
292         * config/os/aix/os_defines.h (_XOPEN_SOURCE): Delete.
293         (_XOPEN_SOURCE_EXTENDED): Delete.
294
295 2005-01-18  Benjamin Kosnik  <bkoz@redhat.com>
296
297         * testsuite/testsuite_performance.h (time_counter::start):
298         Clear. Tweaks.
299         (clear_counters): Inline.
300         (start_counters): Inline.
301         (stop_counters): Inline.
302         * testsuite/performance/20_util/allocator/map_thread.cc: Return.
303         * testsuite/performance/20_util/allocator/insert.cc: Remove bogus
304         return, add return.
305         * testsuite/performance/20_util/allocator/map_thread.cc: Same.
306         
307 2005-01-17  Paolo Carlini  <pcarlini@suse.de>
308
309         PR libstdc++/19433
310         * include/bits/stl_tree.h (_Rb_tree<>::insert_unique(iterator,
311         const _Val&), _Rb_tree<>::insert_equal(iterator, const _Val&)):
312         Obtain amortized constant complexity if t is inserted right after
313         p - not before p - as per Table 69.
314         * testsuite/performance/23_containers/set_insert_from_sorted.cc: New.
315         
316         * testsuite/23_containers/multiset/insert/2.cc: New.
317         * testsuite/23_containers/set/insert/1.cc: Likewise.
318         
319         * testsuite/performance/23_containers/set_create_from_sorted.cc:
320         Simplify.
321
322         * include/bits/stl_tree.h: Add a few missing std:: qualifications.
323
324 2005-01-16  Jonathan Wakely  <redi@gcc.gnu.org>
325
326         * include/ext/rope: Qualify calls to std::copy() by sequence_buffer.
327         * testsuite/ext/rope/4.cc: Add.
328
329 2005-01-16  Lorenz Minder  <lminder@gmx.net>
330             Paolo Carlini  <pcarlini@suse.de>
331
332         PR libstdc++/19322
333         * include/c_std/std_cmath.h: Define the C99 classification facilities
334         directly inside namespace std:.
335         * testsuite/26_numerics/cmath/19322.cc: New.
336
337 2005-01-15  David Edelsohn  <edelsohn@gnu.org>
338
339         * config/os/aix/os_defines.h (_G_USING_THUNKS): Delete.
340
341 2005-01-14  Paolo Carlini  <pcarlini@suse.de>
342
343         PR libstdc++/19422
344         * include/bits/stl_tree.h (_Rb_tree<>::insert_equal(_II, _II),
345         _Rb_tree<>::insert_unique(_II, _II)): Use insert_equal (insert_unique,
346         respectively) with hint (end()).
347         * testsuite/performance/23_containers/set_create_from_sorted.cc: New.
348
349 2005-01-13  Geoffrey Keating  <geoffk@apple.com>
350
351         * configure.host (darwin): On darwin8 or later, no need to build
352         libstdc++ with -flat_namespace.
353
354 2005-01-13  Jonathan Wakely  <redi@gcc.gnu.org>
355
356         * docs/doxygen/user.cfg.in: Set HAVE_DOT back to YES.
357
358 2005-01-13  Paolo Carlini  <pcarlini@suse.de>
359
360         * testsuite/26_numerics/cmath/c99_classification_macros_c++.cc:
361         Re-enable commented-out test for double type.
362
363 2005-01-11  Paolo Carlini  <pcarlini@suse.de>
364             Benjamin Kosnik  <bkoz@redhat.com>
365
366         * src/istream.cc (basic_istream<char>::ignore(streamsize),
367         basic_istream<char>::ignore(streamsize, int_type),
368         basic_istream<wchar_t>::ignore(streamsize),
369         basic_istream<wchar_t>::ignore(streamsize, int_type)): In case
370         more than numeric_limits<streamsize>::max() chars are skipped,
371         set _M_gcount = max().
372         * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
373         int_type)): Likewise; keep simple, don't forward.
374
375 2005-01-11  Paolo Carlini  <pcarlini@suse.de>
376
377         * src/istream.cc (basic_istream<char>::ignore(streamsize),
378         basic_istream<char>::ignore(streamsize, int_type),
379         basic_istream<wchar_t>::ignore(streamsize),
380         basic_istream<wchar_t>::ignore(streamsize, int_type)): Revert
381         2005-01-05 change: actually, the previous behavior is conforming
382         and consistent with that of get(char_type*, streamsize, char_type),
383         albeit slightly different from that of 3.3/3.4 in a corner case
384         due to the use of snextc.
385         * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
386         int_type)): Likewise.
387         * testsuite/27_io/basic_istream/ignore/char/4.cc: Remove.
388         * testsuite/27_io/basic_istream/ignore/wchar_t/4.cc: Likewise.
389
390 2005-01-11  Paolo Carlini  <pcarlini@suse.de>
391
392         * include/tr1/type_traits: Implement alignment_of and aligned_storage.
393         * testsuite/tr1/4_metaprogramming/other_transformations/
394         aligned_storage/aligned_storage.cc: New.
395         * testsuite/tr1/4_metaprogramming/other_transformations/
396         aligned_storage/typedefs.cc: Likewise.
397         * testsuite/tr1/4_metaprogramming/type_properties/
398         alignment_of/alignment_of.cc: Likewise.
399         * testsuite/tr1/4_metaprogramming/type_properties/
400         alignment_of/typedefs.cc: Likewise.
401
402 2005-01-10  Paolo Carlini  <pcarlini@suse.de>
403
404         * Makefile.in: Regenerate.
405         * libmath/Makefile.in: Likewise.
406         * libsupc++/Makefile.in: Likewise.
407         * po/Makefile.in: Likewise.
408         * src/Makefile.in: Likewise.
409         * testsuite/Makefile.in: Likewise.
410
411 2005-01-10  Paolo Carlini  <pcarlini@suse.de>
412
413         * include/bits/stl_algobase.h (lexicographical_compare):
414         Fix concept check.
415
416 2005-01-07  Benjamin Kosnik  <bkoz@redhat.com>
417
418         * acinclude.m4: Remove CCODECVT_H.
419         * configure: Regenerate.
420         * include/Makefile.am (host_headers_extra): Move to...
421         (ext_headers): ...here.
422         * include/Makefile.in: Regenerate.
423         * include/ext/enc_filebuf: Remove enc_filebuf, consolidate
424         enc_traits to...
425         * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Move...
426         * include/ext/codecvt_specializations.h: ...here. Remove
427         _GLIBCXX_USE___ENC_TRAITS. 
428         (__enc_traits): To __encoding_state, put in __gnu_cxx namespace.
429         (enc_char_traits): To __encoding_char_traits, put in __gnu_cxx
430         namespace.
431         * config/locale/generic/codecvt_specializations.h: Remove.
432         * include/bits/codecvt.h: Remove codecvt_specializations.h include.
433         * src/codecvt.cc: Remove __enc_traits::_S_max_size.
434
435 2005-01-06  Benjamin Kosnik  <bkoz@redhat.com>
436
437         * include/bits/fstream.tcc: Remove unnecessary qualifications for
438         uglified data members of basic_filebuf, including _M_buf,
439         _M_buf_size, _M_mode, _M_pback_init.
440         * include/std/std_fstream.h: Same.
441         
442 2005-01-05  Benjamin Kosnik  <bkoz@redhat.com>
443
444         * testsuite/testsuite_hooks.h: 
445         (copy_constructor::mark_call):  Use __throw_runtime_error.
446         (assignment_operator::mark_call): Same.
447         * testsuite/testsuite_hooks.cc (verify_demangle): Same.
448         (locale_data): Remove, just use runtime_error directly.
449         (environment_variable): Same.
450         (not_found): Same.
451         (run_tests_wrapped_locale): Use __throw_runtime_error.
452         (run_tests_wrapped_env): Same.
453         (semaphore::semaphore): Same.
454         (semaphore::signal): Same.
455         (semaphore::wait): Same.
456         * testsuite/testsuite_abi.h (symbol_error): Remove, use logic_error.
457         * testsuite/testsuite_abi.cc (get_symbol): Use __throw_logic_error.
458         (create_symbols): Use __throw_runtime_error.
459         * src/bitmap_allocator.cc: Use __throw_bad_alloc.
460
461 2005-01-05  Mark Mitchell  <mark@codesourcery.com>
462
463         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Remove child
464         process.
465         
466 2005-01-05  Paolo Carlini  <pcarlini@suse.de>
467
468         * src/istream.cc (basic_istream<char>::ignore(streamsize),
469         basic_istream<char>::ignore(streamsize, int_type),
470         basic_istream<wchar_t>::ignore(streamsize),
471         basic_istream<wchar_t>::ignore(streamsize, int_type)): At the end,
472         first check _M_gcount vs __n.   
473         * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
474         int_type)): Likewise.
475         * testsuite/27_io/basic_istream/ignore/char/4.cc: New.
476         * testsuite/27_io/basic_istream/ignore/wchar_t/4.cc: Likewise.
477
478 2005-01-03  Mark Mitchell  <mark@codesourcery.com>
479
480         * testsuite/testsuite_hooks.cc: Use __throw_exception_again
481         instead of just throw.
482
483         * testsuite/testsuite_hooks.cc: Update coypright and follow style
484         guidelines.
485         * testsuite/testsuite_hooks.h: Likewise.
486         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use
487         semaphores, not sleep.
488         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
489         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
490         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
491         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc:
492         Likewise.
493         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
494         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
495         * testsuite/27_io/objects/char/7.cc: Likewise.
496         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
497         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
498         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
499
500         * configure.ac: Check for sys/ipc.h and sys/sem.h. 
501         * config.h.in: Regenerated.
502         * configure: Likewise.
503         * testsuite/testsuite_hooks.cc (_GLIBCXX_SYSV_SEM): Conditionally
504         define.
505         (sys/types.h): Include.
506         (sys/ipc.h): Likewise.
507         (sys/sem.h): Likewise.
508         (__gnu_test::semun): New type.
509         (__gnu_test::semaphore::sempaphore): New function.
510         (__gnu_test::semaphore::~semaphore): Likewise.
511         (__gnu_test::semaphore::wait): Likewise.
512         (__gnu_test::semaphore::signal): Likewise.
513         * testsuite/testsuite_hooks.h (__gnu_test::semaphore): New class.
514         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use
515         semaphores, not sleep.
516         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
517         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
518         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
519         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc:
520         Likewise.
521         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
522         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
523         * testsuite/27_io/objects/char/7.cc: Likewise.
524         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
525         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
526         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
527
528 2005-01-03  Paolo Carlini  <pcarlini@suse.de>
529
530         * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
531         int_type)): Reset _M_gcount to numeric_limits<streamsize>::min().
532         * src/istream.cc (basic_istream<char>::ignore(streamsize, int_type),
533         basic_istream<wchar_t>::ignore(streamsize, int_type)): Likewise.
534         * src/istream.cc (basic_istream<char>::ignore(streamsize),
535         basic_istream<wchar_t>::ignore(streamsize)): Likewise; fix a typo.
536
537 2005-01-02  Paolo Carlini  <pcarlini@suse.de>
538
539         * src/istream.cc (basic_istream<char>::ignore(streamsize),
540         basic_istream<char>::ignore(streamsize, int_type),
541         basic_istream<wchar_t>::ignore(streamsize),
542         basic_istream<wchar_t>::ignore(streamsize, int_type)): Avoid
543         _M_gcount overflows.    
544         * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
545         int_type)): Likewise; use snextc in the main loop, consistently
546         with the specializations above.
547
548 2005-01-02  Chris Jefferson  <chris@bubblescope.net>
549
550         * include/bits/stl_algobase.h (mismatch): Correct concept check.
551
552 2005-01-01  Paolo Carlini  <pcarlini@suse.de>
553
554         * testsuite/ext/enc_filebuf/char/13189.cc: Fix, first include
555         testsuite_hooks.h, to know whether including ext/enc_filebuf.h.
556         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
557
558 2005-01-01  Paolo Carlini  <pcarlini@suse.de>
559
560         * testsuite/27_io/basic_istream/extractors_character/char/1.cc: Fix,
561         null-terminate array1 at the outset.
562         * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
563         Likewise.