1 2004-01-14 Paolo Carlini <pcarlini@suse.de>
3 * include/bits/locale_facets.h (struct __numpunct_cache):
4 Add member _M_grouping_size, caching the length of _M_grouping.
5 (__numpunct_cache<>::_M_cache): Assign the latter.
6 (__verify_grouping): Move declaration...
7 * include/bits/locale_facets.tcc (__verify_grouping):
8 ... here, change signature to take a const char* and a size_t
9 for the grouping; not a template anymore.
10 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
11 Likewise change signature and tweak consistently.
12 (num_get::_M_extract_float, num_get::_M_extract_int,
13 num_put::_M_insert_int, num_put::_M_insert_float,
14 money_get::do_get(string_type&), money_get::do_put(string_type)):
16 * config/locale/generic/numeric_members.cc
17 (numpunct<>::_M_initialize_numpunct): Assign the new member.
18 * config/locale/gnu/numeric_members.cc
19 (numpunct<>::_M_initialize_numpunct): Likewise.
20 * src/locale-inst.cc (__add_grouping): Tweak signature.
21 (__verify_grouping): Don't instantiate, not a template anymore.
23 * include/bits/locale_facets.h: Rename _M_truename_len ->
24 _M_truename_size, _M_falsename_len -> _M_falsename_size.
25 * include/bits/locale_facets.tcc: Likewise.
26 * config/locale/generic/numeric_members.cc: Likewise.
27 * config/locale/gnu/numeric_members.cc: Likewise.
29 2004-01-14 Stefan Olsson <stefan@snon.net>
31 * include/ext/mt_allocator.h: Fixups.
32 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
33 * testsuite/performance/allocator_thread.cc: Same.
35 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
37 * testsuite/performance/ifstream_extract_float.cc: Add higher
39 * testsuite/performance/ofstream_insert_float.cc: Same.
41 2004-01-13 Paolo Carlini <pcarlini@suse.de>
43 * src/locale-misc-inst.cc (__convert_from_v(long),
44 __convert_from_v(unsigned long), __convert_from_v(long long),
45 __convert_from_v(unsigned long long)): Remove, unused.
47 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
49 * testsuite/performance/ifstream_extract_float.cc: New.
50 * testsuite/performance/ofstream_insert_float.cc: Float generation
53 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
54 * 20_util/auto_ptr/1.cc: ...this.
55 * 20_util/auto_ptr/2.cc: Same.
56 * 20_util/auto_ptr/3.cc: Same.
57 * 20_util/auto_ptr/3946.cc: Same.
58 * 20_util/auto_ptr/4.cc: Same.
59 * 20_util/auto_ptr/5.cc: Same.
60 * 20_util/auto_ptr/6.cc: Same.
61 * 20_util/auto_ptr/7.cc: Same.
62 * 20_util/auto_ptr/assign_neg.cc
63 * 20_util/pairs.cc: Break into...
64 * 20_util/pair/1.cc: ...this.
65 * 20_util/pair/2.cc: Same.
66 * 20_util/pair/3.cc: Same.
67 * 20_util/pair/4.cc: Same.
69 2004-01-13 Paolo Carlini <pcarlini@suse.de>
71 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
72 Set correctly just basefield, the only group that matters.
74 2004-01-13 Paolo Carlini <pcarlini@suse.de>
76 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
77 (_Rope_rep_base): Inherit directly from the rope allocator;
78 use rebinding instead of _Alloc_traits; pick up data member
79 from _Rope_rep_alloc_base.
80 (_Rope_alloc_base): Eliminate.
81 (_Rope_base): Inherit directly from the rope allocator; use
82 rebinding instead of _Alloc_traits; pick up data member from
84 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
85 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
87 2004-01-13 Paolo Carlini <pcarlini@suse.de>
90 * include/bits/basic_string.tcc (compare(size_type, size_type,
91 const _CharT*, size_type)): Implement correctly the resolution
92 of DR 5: basically, s is a char array, -not- a C string.
93 * include/bits/basic_string.h: Tweak some comments.
94 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
95 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
97 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
99 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
102 2004-01-12 Paolo Carlini <pcarlini@suse.de>
104 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
106 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
109 2004-01-12 Paolo Carlini <pcarlini@suse.de>
111 * include/bits/locale_facets.h (struct __numpunct_cache):
112 Add members _M_truename_len and _M_falsename_len, caching
113 the lengths of _M_truename and _M_falsename.
114 (__numpunct_cache<>::_M_cache): Assign the latter.
115 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
116 num_put::do_put(bool)): Use the new members, thus avoiding
117 computing string lengths again and again.
118 * config/locale/generic/numeric_members.cc
119 (numpunct<>::_M_initialize_numpunct): Assign the new members.
120 * config/locale/gnu/numeric_members.cc
121 (numpunct<>::_M_initialize_numpunct): Likewise.
123 2004-01-12 Mark Mitchell <mark@codesourcery.com>
125 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
126 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
128 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
129 and remove Cygwin XFAIL.
130 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
131 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
132 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
133 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
135 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
136 * testsuite/27_io/objects/char/7.cc: Likewise.
137 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
138 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
139 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
141 2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
143 * include/std/std_complex.h (std::complex<>::real): Return a
144 reference. Add non-const overload.
145 (std::complex<>::real): Likewise.
146 (std::real): Likewise.
147 (std::imag): Likewise.
148 (std::operator+): Tidy.
149 (std::operator-): Likewise.
150 (std::operator*): Likewise.
151 (std::operator/): Likewise.
152 (std::operator>>): Likewise.
154 2004-01-11 Paolo Carlini <pcarlini@suse.de>
157 * include/bits/fstream.tcc (imbue): Exploit the external
158 buffer to imbue 'on the fly' a new locale and convert its
159 remainder with the new codecvt facet.
160 (underflow): Tweak slightly to deal with this special case.
161 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
162 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
163 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
164 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
165 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
167 2004-01-10 Paolo Carlini <pcarlini@suse.de>
169 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
172 2004-01-10 Paolo Carlini <pcarlini@suse.de>
175 * include/bits/locale_classes.h (class locale): Fix category
177 * testsuite/22_locale/locale/13630.cc: Add.
179 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
181 * include/bits/locale_facets.h: Make a name really dependent. This
182 will be needed when Core Issue 224 is implemented.
184 2004-01-09 Paolo Carlini <pcarlini@suse.de>
186 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
187 * testsuite/performance/allocator_thread.cc: Likewise.
189 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
191 * crossconfig.m4: Add LFS, io bits to linux cross config.
192 * acconfig.h: Remove obsolete bits, reorder.
193 * config.h.in: Regenerate.
197 2004-01-07 Gawain Bolton <gp.bolton@computer.org>
199 * include/bits/stl_list.h:
200 * include/bits/list.tc:
202 Performance enhancements for destructor, push_front(),
203 push_back(), pop_front(), pop_back(), sort()
204 Eliminated static_casts where possible.
205 Moved code out of header files into new src/list.cc
206 implementation file for library where possible.
207 Remove inheritance from iterator class and create separate
208 classes for non-constant and constant iterators.
209 * include/bits/stl_tree.h (_Rb_tree class):
211 Only erase contents in destructor.
212 Eliminate unnecessary initialization in assignment operator.
213 Optimize for the nominal case by not checking whether
214 container is empty in clear().
215 Re-order test in _M_insert() to improve performance.
216 Move initialization of new node's left & right pointers to
217 src/tree.cc to where new node's colour is initialized
218 and to reduce the amount of inline code.
219 Use _M_leftmost() and _M_end() to improve readability where
221 Create separate classes for non-constant and constant
222 iterators to clarify code, avoid extra template parameters and
223 casting away constness.
225 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
227 * src/Makefile.am (sources): Add list.cc, tree.cc.
228 * src/stl_tree.cc: Move to...
229 * src/tree.cc: ...here.
231 * config/linker-map.gnu: Tweaks.
232 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
233 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
235 * bits/stl_vector.h: Column wrap comments.
237 2004-01-07 Loren J. Rittle <ljrittle@acm.org>
239 (re-open) PR libstdc++/12658
240 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
241 (locale::global): Likewise.
243 2004-01-07 Paolo Carlini <pcarlini@suse.de>
245 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
246 Remove redundant #include.
247 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
248 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
249 re-enable normal testing.
250 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
252 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
253 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
255 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
257 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
259 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
261 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
263 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
265 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
267 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
268 More properly, #include <locale>.
269 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
270 Remove redundant #include.
271 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
272 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
273 redundant DejaGnu directive.
274 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
277 2004-01-06 Benjamin Kosnik <bkoz@redhat.com>
278 Stefan Olsson <stefan@snon.net>
280 * scripts/check_performance: Use -pthread.
281 * testsuite/performance/allocator.cc: Tweaks, add list.
282 * testsuite/performance/allocator_thread.cc: New.
284 2004-01-06 Jerry Quinn <jlquinn@optonline.net>
286 * include/bits/locale_facets.h: Document public classes and
288 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
291 2004-01-06 Paolo Carlini <pcarlini@suse.de>
293 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
294 Remove redundant #includes.
295 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
297 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
299 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
300 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
301 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
302 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
303 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
304 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
305 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
306 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
307 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
308 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
309 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
310 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
311 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
312 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
313 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
315 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
317 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
319 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
321 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
323 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
324 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
325 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
327 2004-01-04 Paolo Carlini <pcarlini@suse.de>
329 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
330 Remove redundant #includes.
331 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
333 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
335 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
337 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
339 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
341 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
343 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
345 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
347 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
349 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
351 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
353 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
356 2004-01-04 Mark Mitchell <mark@codesourcery.com>
359 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
361 * testsuite/27_io/basic_fstream/4.cc: Likewise.
362 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
363 * testsuite/27_io/basic_ios/4.cc: Likewise.
364 * testsuite/27_io/basic_iostream/4.cc: Likewise.
365 * testsuite/27_io/basic_istream/4.cc: Likewise.
366 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
367 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
368 * testsuite/27_io/basic_ostream/4.cc: Likewise.
369 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
370 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
371 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
373 2004-01-04 Paolo Carlini <pcarlini@suse.de>
375 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
376 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
377 always use double underscored names.
378 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
380 * include/bits/locale_facets.h (struct __numpunct_cache):
381 Dimension _M_atoms_out and _M_atoms_in one position smaller.
382 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
385 2003-12-31 Paolo Carlini <pcarlini@suse.de>
387 * include/bits/locale_facets.tcc (num_get::_M_extract_int,
388 num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
389 _first_ look for thousands_sep, then for decimal_point and
391 (num_get::_M_extract_float): After the decimal_point or
392 'e'/'E', decimal_point and thousands_sep just break out the
394 * testsuite/22_locale/num_get/get/char/11.cc: Add tests.
395 * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
397 2003-12-30 Paolo Carlini <pcarlini@suse.de>
400 * include/bits/locale_facets.tcc (__verify_grouping):
401 Fix to deal properly with __grouping_tmp.size() >
403 * testsuite/22_locale/num_get/get/char/13.cc: New.
404 * testsuite/22_locale/num_get/get/wchar_t/13.cc: Ditto.
406 2003-12-29 Jerry Quinn <jlquinn@optonline.net>
408 * include/bits/locale_facets.h (ctype.narrow,widen): Add cast.
410 2003-12-29 Paolo Carlini <pcarlini@suse.de>
412 * acinclude.m4 (GLIBCXX_CHECK_LFS): Add -fno-exceptions
414 * aclocal.m4: Regenerate.
415 * configure: Likewise.
417 2003-12-29 Mark Mitchell <mark@codesourcery.com>
419 * acconfig.h: Add _GLIBCXX_USE_C99_MATH.
420 * acinclude.m4 (GLIBCXX_ENABLE_C99): Define GLIBCXX_USE_C99_MATH.
421 * configure.ac: Define HAVE_S_ISREG and HAVE_S_IFREG when
423 * aclocal.m4: Regenerated.
424 * config.h.in: Likewise.
425 * configure: Likewise.
426 * Makefile.in: Likewise.
427 * include/Makefile.in: Likewise.
428 * libmath/Makefile.in: Likewise.
429 * libsupc++/Makefile.in: Likewise.
430 * testsuite/Makefile.in: Likewise.
431 * src/Makefile.in: Likewise.
432 * po/Makefile.in: Likewise.
433 * include/c_std/std_cmath.h (_GLIBCXX_USE_C99): Replace with ...
434 (_GLIBCXX_USE_C99_MATH): ... this.
436 * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL for
438 * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
439 * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
440 * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
441 * testsuite/27_io/basic_istream/readsome/char/6476-2.cc: Likewise.
442 * testsuite/27_io/objects/char/9.cc: Likewise.
443 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
445 2003-12-28 Paolo Carlini <pcarlini@suse.de>
447 * include/ext/pool_allocator.h (class __pool_alloc): Use
448 operator new and operator delete.
450 2003-12-24 Andrew Pinski <pinskia@physics.uc.edu>
452 * config/cpu/i386/atomicity.h (__exchange_and_add): Fix output
456 * config/cpu/i386/atomicity.h: Split up read-write memory operand.
458 2003-12-23 Benjamin Kosnik <bkoz@redhat.com>
460 * include/ext/new_allocator.h (new_allocator): Proper allocator class.
461 (__new_alloc): Delete.
462 * include/ext/malloc_allocator.h (malloc_allocator): Same.
463 (__malloc_alloc): Delete.
464 * include/ext/mt_allocator.h: Same, but weakly.
465 * include/ext/debug_allocator.h: Convert to the new style.
466 * include/ext/pool_allocator.h: Use global new and delete directly.
467 * include/backward/alloc.h: Don't inject malloc_allocator, or
469 * testsuite/ext/allocators.cc: Minimal fixups for usage of new
470 classes. Comment out tests with __pool_alloc for now.
471 * testsuite/performance/allocator.cc: Same.
473 2003-12-22 Matt Austern <austern@apple.com>
475 * include/bits/stl_bvector.h (_Bvector_alloc_base): Eliminate.
476 (_Bvector_base): Inherit directly from word allocator.
477 * include/bits/stl_tree.h (_Rb_tree_alloc_base): Eliminate.
478 (_Rb_tree_base): Eliminate.
479 (_Rb_tree): Inherit directly from node allocator.
480 * include/ext/slist (_Alist_alloc_base): Eliminate.
481 (_Slist_base): Inherit direcly from node allocator.
483 2003-12-22 Benjamin Kosnik <bkoz@redhat.com>
485 * testsuite/18_support/numeric_limits.cc: Add _GLIBCXX_ASSERT to
486 dg-options in testcases that use VERIFY.
487 * testsuite/23_containers/vector/invalidation/1.cc: Same.
488 * testsuite/23_containers/vector/invalidation/2.cc: Same.
489 * testsuite/23_containers/vector/invalidation/3.cc: Same.
490 * testsuite/23_containers/vector/invalidation/4.cc: Same.
491 * testsuite/23_containers/vector/resize/1.cc: Same.
492 * testsuite/26_numerics/complex_value.cc: Same.
493 * testsuite/27_io/ios_base/storage/1.cc: Same.
494 * testsuite/27_io/ios_base/storage/2.cc: Same.
495 * testsuite/27_io/ios_base/storage/3.cc: Same.
496 * testsuite/27_io/manipulators/standard/char/2.cc: Same.
497 * testsuite/backward/11460.cc: Same.
498 * testsuite/backward/strstream_members.cc: Same.
500 * include/ext/hash_set (class hash_multiset): Fix typo.
502 2003-12-22 Benjamin Kosnik <bkoz@redhat.com>
504 * testsuite/27_io/objects/char/5.cc: Don't use stdc++.h.gch.
505 * testsuite/27_io/objects/wchar_t/5.cc: Same.
506 * docs/html/test.html: Add docs for constructing test files that
507 don't use stdc++.h.gch.
508 * scripts/testsuite_flags.in (PCHFLAGS): Move to --cxxpchflags.
509 * testsuite/libstdc++-dg/normal.exp: Compute DEFAULT_CXXFLAGS
512 * include/bits/ios_base.h (ios_base::Init::_S_initialized): Remove.
513 * src/ios_init.cc: Same.
514 * config/linker-map.gnu: Same.
515 * testsuite/27_io/ios_base/cons/copy_neg.cc: Adjust line numbers.
516 * testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
518 2003-12-22 Andrew Pinski <pinskia@physics.uc.edu>
521 * include/bits/stl_multiset.h (__gnu_norm::multiset): Define pointer
522 as allocator's pointer, likewise for reference, const_pointer, and
524 * include/bits/stl_set.h (__gnu_norm::set): Likewise.
525 * include/ext/hash_set (__gnu_ext::hash_set): Likewise.
526 (__gnu_ext::hash_multiset): Likewise.
528 2003-12-22 Paolo Carlini <pcarlini@suse.de>
530 * include/bits/locale_facets.tcc (num_get::_M_extract_int,
531 num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
532 first look for decimal_point and thousands_sep, when parsing
533 sign, leading zeros (and 0, Ox, 0X for integer types) too.
534 * testsuite/22_locale/num_get/get/char/12.cc: New.
535 * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
537 * testsuite/22_locale/num_get/get/char/11.cc: Add a comment.
538 * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
540 2003-12-20 Jason Merrill <jason@redhat.com>
542 * config/cpu/powerpc/atomicity.h: Fix oversight in previous
545 2003-12-20 Jerry Quinn <jlquinn@optonline.net>
547 * docs/doxygen/TODO: Update.
548 * include/bits/locale_classes.h (locale, facet, id): Document.
549 * include/bits/locale_facets.tcc (has_facet, use_facet): Document.
551 2003-12-19 Jason Merrill <jason@redhat.com>
553 * config/cpu/cris/atomicity.h: Remove memory clobbers.
554 * config/cpu/mips/atomicity.h: Likewise.
555 * config/cpu/i486/atomicity.h: Remove memory clobbers.
556 Split up read-write memory operand.
557 * config/cpu/m68k/atomicity.h: Likewise.
558 * config/cpu/powerpc/atomicity.h: Make memory I/O explicit.
559 * config/cpu/s390/atomicity.h: Likewise.
560 * config/cpu/sparc/atomicity.h: Likewise.
562 2003-12-20 Carlo Wood <carlo@alinoe.com>
565 namespace __gnu_cxx::demangler
566 (session<Allocator>::decode_encoding): Put the postfix
567 of the return type of (member) functions after the function
568 instead of after the return type.
570 2003-12-19 Jerry Quinn <jlquinn@optonline.net>
572 * include/bits/locale_facet.h
573 (__ctype_abstract_base,ctype<charT>,ctype<char>,ctype<wchar_t>):
576 2003-12-19 Paolo Carlini <pcarlini@suse.de>
578 * include/bits/locale_facets.tcc (num_get::_M_extract_int,
579 num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
580 first look for decimal_point and thousands_sep.
581 * testsuite/22_locale/num_get/get/char/11.cc: New.
582 * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
584 2003-12-19 Paolo Carlini <pcarlini@suse.de>
586 * include/bits/locale_facets.tcc (num_get::_M_extract_float):
587 When __found_sci becomes true stop eating thousands separators
588 and the decimal radix separator.
589 * testsuite/22_locale/num_get/get/char/9.cc: New.
590 * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
592 * config/locale/generic/c_locale.cc (__convert_to_v): Don't
593 check that *__sanity == '\0': parsing may stop earlier, still
595 * config/locale/gnu/c_locale.cc: Likewise.
596 * testsuite/22_locale/num_get/get/char/10.cc: New.
597 * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
598 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
599 Tweak in one place accordingly.
601 * testsuite/22_locale/money_get/get/char/1.cc: Fix typo.
602 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
604 2003-12-18 Benjamin Kosnik <bkoz@redhat.com>
606 * include/bits/stl_list.h: Formatting tweaks.
607 * include/bits/list.tcc: Same.
609 2003-12-18 Matt Austern <austern@apple.com>
611 * include/bits/demangle.h: Fix allocator type correctness,
612 i.e. make sure that when we instantiate a container with a value
613 type and an allocator, the allocator's value type matches the
615 * include/bits/stl_deque.h (_Deque_alloc_base): Eliminate.
616 (_Deque_base): inherit directly from the deque's allocator. Use
617 rebinding instead of _Alloc_traits. Pick up data members from
619 * include/bits/stl_list.h (_List_alloc_base): Eliminate.
620 (_List_base): Inherit directly from the list's allocator. Use
621 rebinding instead of _Alloc_traits. Pick up data members from
623 * include/bits/stl_vector.h (_Vector_alloc_base): Eliminate
624 (_Vector_base): Inherit directly from the vector's allocator. Use
625 rebinding instead of _Alloc_traits. Pick up data members from
627 * include/ext/hashtable.h: Fix allocator type correctness (the
628 vector of buckets must be passed an allocator for objects of
629 type _Node*). Use rebinding instead of _Alloc_traits.
631 2003-12-17 Paolo Carlini <pcarlini@suse.de>
633 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
634 Use narrow to get from __format[__i] a char __c representing a
635 formatting code, don't use it to compare *__beg to __format[__i].
636 * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: New.
638 2003-12-17 Paolo Carlini <pcarlini@suse.de>
640 * testsuite/performance/container_benchmark.cc: Tweak outputs.
642 * testsuite/performance/list_create_fill_sort.cc: Shrink a
645 * testsuite/testsuite_performance.h: Widen a few output fields.
647 * testsuite/performance/ifstream_extract_int.cc: New.
649 2003-12-16 Phil Edwards <phil@codesourcery.com>
651 * configure.ac (AM_INIT_AUTOMAKE): Don't warn about GNU Make.
652 * configure: Regenerated.
653 * Makefile.am (check-%): New catch-all forwarding target.
654 * Makefile.in: Regenerated.
656 2003-12-16 Paolo Carlini <pcarlini@suse.de>
658 * testsuite/performance/container_benchmark.cc: New, a
659 benchmark developed by Bjarne Stroustrup and Alexander
660 Stepanov and made available with no restrictions.
662 * testsuite/testsuite_performance.h (report_header): New,
663 useful to produce header lines in the reports.
665 2003-12-16 Jonathan Wakely <redi@gcc.gnu.org>
667 * docs/html/21_strings/howto.html: Document shrink-to-fit reserve().
668 * docs/html/faq/index.html: Reducing vector's capacity() to size().
669 * docs/html/documentation.html, docs/html/faq/index.txt: Regenerate.
671 2003-12-16 Paolo Carlini <pcarlini@suse.de>
673 * testsuite/performance/narrow_widen_char.cc: Tweak the
674 number of iterations for each test.
675 * testsuite/performance/narrow_widen_wchar_t.cc: Add a
676 missing clear_counters.
678 2003-12-16 Paolo Carlini <pcarlini@suse.de>
681 * include/bits/locale_facets.h: Add _M_bit and _M_wmask,
682 used to speed up the computation of ctype::do_is.
683 * config/locale/generic/ctype_members.cc
684 (_M_initialize_ctype): Fill _M_bit and _M_wmask.
685 (ctype::do_is): Use _M_bit and _M_wmask.
686 * config/locale/gnu/ctype_members.cc: Likewise.
687 * testsuite/performance/is_wchar_t.cc: New.
689 * testsuite/performance/narrow_widen_wchar_t.cc: Tweak
690 string literal (incorrect citation ;)
692 * include/bits/locale_facets.h: Minor tweaks, const
693 correctness, unsigned -> size_t.
695 2003-12-16 Jerry Quinn <jlquinn@optonline.net>
697 * include/bits/locale_facets.h (widen, narrow): Uncomment the
700 2003-12-15 Jerry Quinn <jlquinn@optonline.net>
702 * config/os/aix/ctype_noninline.h,
703 config/os/bsd/freebsd/ctype_noninline.h,
704 config/os/bsd/netbsd/ctype_noninline.h,
705 config/os/djgpp/ctype_noninline.h,
706 config/os/generic/ctype_noninline.h,
707 config/os/gnu-linux/ctype_noninline.h,
708 config/os/hpux/ctype_noninline.h,
709 config/os/irix/irix5.2/ctype_noninline.h,
710 config/os/irix/irix6.5/ctype_noninline.h,
711 config/os/mingw32/ctype_noninline.h,
712 config/os/newlib/ctype_noninline.h,
713 config/os/qnx/qnx6.1/ctype_noninline.h,
714 config/os/solaris/solaris2.5/ctype_noninline.h,
715 config/os/solaris/solaris2.6/ctype_noninline.h,
716 config/os/solaris/solaris2.7/ctype_noninline.h,
717 config/os/vxworks/ctype_noninline.h,
718 config/os/windiss/ctype_noninline.h (ctype): Initialize
720 * include/bits/locale_facets.h (_M_widen, _M_widen_ok,
721 _M_narrow, _M_narrow_ok): New.
722 (widen, narrow): Use tables to bypass virtual functions.
723 (_M_widen_init, _M_narrow_init): New.
725 2003-12-15 Carlo Wood <carlo@alinoe.com>
727 * include/bits/ios_base.h (Init::_S_initialized): Change into
729 * src/ios_init.cc (Init::_S_initialized): Add definition.
731 2003-12-15 Benjamin Kosnik <bkoz@redhat.com>
734 * include/Makefile.am (bits_headers): Add concurrence.h.
735 * include/Makefile.in: Regenerated.
736 * include/bits/concurrence.h: New.
737 * src/locale_init.cc: Use it.
738 (locale::locale): Lock critical regions.
739 (locale::global): Same.
741 2003-12-15 Benjamin Kosnik <bkoz@redhat.com>
743 * include/bits/basic_string.h: Change _*_references to _*_refcount.
744 * include/bits/locale_classes.h: Same.
745 * src/locale.cc: Same.
746 * src/locale_name.cc: Same.
747 * src/locale_init.cc: Same.
749 2003-12-15 Benjamin Kosnik <bkoz@redhat.com>
752 * include/bits/ios_base.h (Init::_S_ios_base_init): Change to
753 _S_refcount, make atomic.
754 * src/ios.cc: Adjust definition.
755 * src/ios_init.cc (ios_base::Init::Init): Use __exchange_and_add,
757 (ios_base::Init::~Init): Same.
758 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
759 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
761 2003-12-15 Paolo Carlini <pcarlini@suse.de>
763 * include/bits/locale_facets.tcc (num_get::do_get(bool&)):
764 Fail as soon as the begins of both truename and falsename
765 stop to match; always leave __beg one position beyond the
766 last char successfully matched.
767 * testsuite/22_locale/num_get/get/char/8.cc: New.
768 * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
770 2003-12-15 Paolo Carlini <pcarlini@suse.de>
772 * include/bits/locale_facets.h (_M_widen): Reserve space
773 for all the possible widened chars.
774 * config/locale/generic/ctype_members.cc (_M_initialize_ctype):
775 Compute at construction time all the possible widened chars.
776 (do_widen): Tweak, simplify.
777 * config/locale/gnu/ctype_members.cc: Likewise.
778 * testsuite/performance/narrow_widen_wchar_t.cc: Add tests
779 for the array versions.
781 2003-12-12 Paolo Carlini <pcarlini@suse.de>
782 Benjamin Kosnik <bkoz@redhat.com>
785 * include/bits/locale_facets.h (ctype<wchar_t>): Declare
786 _M_initialize_ctype() and _M_narrow_ok, _M_narrow and _M_widen.
787 * src/ctype.cc (ctype<wchar_t>::ctype(size_t),
788 ctype<wchar_t>::ctype(__c_locale, size_t)): Use
789 _M_initialize_ctype to fill _M_narrow and _M_widen.
790 (ctype_byname<wchar_t>::ctype_byname(const char*, size_t)):
792 * config/locale/generic/ctype_members.cc (do_narrow, do_widen)
793 Use _M_narrow and _M_widen when possible, instead of calling
794 wctob and btowc, respectively.
795 (_M_initialize_ctype): Define, it fills at construction time
796 _M_narrow and _M_widen.
797 * config/locale/gnu/ctype_members.cc: Likewise.
798 * testsuite/performance/narrow_widen_wchar_t.cc: New.
800 2003-12-12 Jonathan Wakely <redi@gcc.gnu.org>
802 * docs/html/faq/index.txt: Regenerate after adding <link> tags.
804 2003-12-11 Neil Ferguson <nferguso@eso.org>
805 Paolo Carlini <pcarlini@suse.de>
807 * include/bits/basic_string.tcc (reserve): Allow shrink-to-fit.
808 * testsuite/21_strings/basic_string/capacity/1.cc: Tweak.
809 * testsuite/21_strings/basic_string/capacity/char/1.cc: Ditto.
810 * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Ditto.
812 2003-12-10 Benjamin Kosnik <bkoz@redhat.com>
815 * testsuite/lib/libstdc++.exp (v3-init): Add
816 original_ld_library_path, calculate ld_library path, set
817 LD_LIBRARY_PATH to both. Based on libjava.exp.
819 2003-12-10 Benjamin Kosnik <bkoz@redhat.com>
820 Alexandre Oliva <aoliva@redhat.com>
823 * testsuite/Makefile.am (GLIBCXX_DIR): New.
825 (CXXLINK): Use both with -R so libtool links the correct libs.
827 2003-12-10 Paolo Carlini <pcarlini@suse.de>
830 * include/bits/fstream.tcc (underflow): Deal gracefully with
831 read errors: throw ios_base::failure.
833 2003-12-10 Benjamin Kosnik <bkoz@redhat.com>
836 * config/io/basic_file_stdio.cc (__basic_file::sys_open): Sync.
837 * testsuite/ext/stdio_filebuf/char/10063-1.cc: New.
838 * testsuite/ext/stdio_filebuf/char/10063-2.cc: New.
840 2003-12-10 Paolo Carlini <pcarlini@suse.de>
842 * include/bits/locale_facets.tcc (num_put::do_put(void*)):
843 Remove the try/catch, not necessary.
845 2003-12-10 Paolo Carlini <pcarlini@suse.de>
847 * testsuite/22_locale/locale/cons/12438.cc: Tweak memory
848 limit and iterations to avoid spurious failures on some
851 2003-12-09 Benjamin Kosnik <bkoz@redhat.com>
853 * config/linker-map.gnu: Remove private ios_base members from
856 * config/cpu/alpha/atomicity.h: Consistently format.
857 * config/cpu/cris/atomicity.h: Same.
858 * config/cpu/generic/atomicity.h: Same.
859 * config/cpu/hppa/atomicity.h: Same.
860 * config/cpu/i386/atomicity.h: Same.
861 * config/cpu/i486/atomicity.h: Same.
862 * config/cpu/ia64/atomicity.h: Same.
863 * config/cpu/m68k/atomicity.h: Same.
864 * config/cpu/mips/atomicity.h: Same.
865 * config/cpu/powerpc/atomicity.h: Same.
866 * config/cpu/s390/atomicity.h: Same.
867 * config/cpu/sparc/atomicity.h: Same.
869 2003-12-09 Benjamin Kosnik <bkoz@redhat.com>
872 * acinclude.m4 (GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS): Remove.
873 * aclocal.m4: Regenerate.
874 * configure.ac: Remove call to GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS.
875 * conigure: Regenerate.
876 * src/Makefile.am (libstdc___la_LDFLAGS): Remove LIBUNWIND_FLAGS.
877 * src/Makefile.in: Regenerate.
878 * docs/html/17_intro/configury.html: Modify.
880 2003-12-09 Paolo Carlini <pcaelini@suse.de>
882 * include/bits/demangle.h (struct implementation_details):
883 Keep in comments the names of the unused parameters.
885 2003-12-09 Paolo Carlini <pcaelini@suse.de>
887 * include/bits/demangle.h (struct implementation_details):
888 Fix unused parameters warning.
890 2003-12-09 Paolo Carlini <pcarlini@suse.de>
892 * include/bits/locale_facets.tcc (num_get::_M_extract_int):
893 Slightly streamline the code dealing with overflows and the
896 2003-12-09 Bernardo Innocenti <bernie@develer.com>
898 * include/ext/algorithm, include/ext/debug_allocator.h,
899 include/ext/enc_filebuf.h, include/ext/functional,
900 include/ext/hash_fun.h, include/ext/hash_map, include/ext/hash_set,
901 include/ext/hashtable.h, include/ext/iterator,
902 include/ext/malloc_allocator.h, include/ext/memory,
903 include/ext/mt_allocator.h, include/ext/numeric,
904 include/ext/pod_char_traits.h, include/ext/pool_allocator.h,
905 include/ext/rb_tree, include/ext/rope, include/ext/ropeimpl.h,
906 include/ext/slist, include/ext/stdio_filebuf.h,
907 include/ext/stdio_sync_filebuf.h: Remove trailing whitespace.
909 2003-12-09 Bernardo Innocenti <bernie@develer.com>
911 * include/debug/bitset, include/debug/debug.h, include/debug/deque,
912 include/debug/formatter.h, include/debug/hash_map.h,
913 include/debug/hash_multimap.h, include/debug/hash_multiset.h,
914 include/debug/hash_set, include/debug/hash_set.h, include/debug/list,
915 include/debug/map.h, include/debug/multimap.h,
916 include/debug/multiset.h, include/debug/safe_base.h,
917 include/debug/safe_iterator.h, include/debug/safe_iterator.tcc,
918 include/debug/safe_sequence.h, include/debug/set.h,
919 include/debug/string, include/debug/vector: Remove trailing whitespace.
921 2003-12-09 Bernardo Innocenti <bernie@develer.com>
923 * include/c_compatibility/iso646.h, include/c_compatibility/limits.h,
924 include/c_compatibility/locale.h, include/c_compatibility/stdio.h,
925 include/c_compatibility/string.h, include/c_compatibility/time.h,
926 include/c_compatibility/wchar.h, include/c_compatibility/wctype.h:
927 Remove trailing whitespace.
929 2003-12-09 Bernardo Innocenti <bernie@develer.com>
931 * include/c_std/cmath.tcc, include/c_std/std_cassert.h,
932 include/c_std/std_cctype.h, include/c_std/std_cmath.h,
933 include/c_std/std_cstddef.h, include/c_std/std_cstdio.h,
934 include/c_std/std_cstdlib.h, include/c_std/std_cstring.h,
935 include/c_std/std_cwchar.h, include/c_std/std_cwctype.h:
936 Remove trailing whitespace.
938 2003-12-09 Bernardo Innocenti <bernie@develer.com>
940 * include/c/std_cctype.h, include/c/std_cmath.h,
941 include/c/std_cstdlib.h include/c/std_cwchar.h,
942 include/c/std_cwctype.h: Remove trailing whitespace.
944 2003-12-09 Bernardo Innocenti <bernie@develer.com>
946 * include/backward/algo.h, include/backward/algobase.h,
947 include/backward/alloc.h, include/backward/complex.h,
948 include/backward/defalloc.h, include/backward/function.h,
949 include/backward/iterator.h, include/backward/new.h,
950 include/backward/ostream.h, include/backward/queue.h,
951 include/backward/rope.h, include/backward/stream.h,
952 include/backward/streambuf.h, include/backward/strstream,
953 include/backward/tempbuf.h, include/backward/tree.h,
954 include/backward/vector.h: Remove trailing whitespace.
956 2003-12-08 Paolo Carlini <pcarlini@suse.de>
958 * config/locale/generic/c_locale.cc (__convert_to_v(long&),
959 __convert_to_v(unsigned long&), __convert_to_v(long long&),
960 __convert_to_v(unsigned long long&): Remove.
961 (__convert_to_v(float&), __convert_to_v(double&),
962 __convert_to_v(long double&)): Remove last unused parameter.
963 * config/locale/gnu/c_locale.cc: Likewise.
964 * include/bits/locale_facets.h: Likewise.
965 (num_get::_M_extract_int): Update declaration.
966 (class __num_base): Tweak _S_ie and _S_iE according to the
968 * include/bits/locale_facets.tcc (num_get::_M_extract_int):
969 Provide directly the final _ValueT, not a string: accumulate
970 the result checking for overflow at each digit.
971 (num_get::do_get(bool&), num_get::do_get(long&),
972 num_get::do_get(unsigned short&), num_get::do_get(unsigned int&),
973 num_get::do_get(unsigned long&), num_get::do_get(long long&),
974 num_get::do_get(unsigned long long&), num_get::do_get(void*&)):
975 Use the new _M_extract_int, simplify.
976 * src/locale-inst.cc (num_get::_M_extract_int(long&),
977 num_get::_M_extract_int(unsigned short&),
978 num_get::_M_extract_int(unsigned int&),
979 num_get::_M_extract_int(unsigned long&),
980 num_get::_M_extract_int(long long&),
981 num_get::_M_extract_int(unsigned long long&): Instantiate.
982 * src/locale_facets.cc (__num_base::_S_atoms_in): Reorder
983 the chars in the natural order: abcdefABCDEF.
985 2003-12-08 David S. Miller <davem@redhat.com>
988 * config/cpu/sparc/atomicity.h (__exchange_and_add, __atomic_add):
989 Extend increment to _Atomic_word before giving to assembler.
991 2003-12-06 Benjamin Kosnik <bkoz@redhat.com>
993 * testsuite/ext/enc_filebuf/char/13189.cc: Guard for __enc_traits.
994 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
996 2003-12-06 Benjamin Kosnik <bkoz@redhat.com>
999 * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf):
1000 Remove __del argument to file descriptor constructor.
1001 * config/io/basic_file_stdio.h (__basic_file::sys_open): Remove
1003 * config/io/basic_file_stdio.cc: Same.
1005 2003-12-05 Benjamin Kosnik <bkoz@redhat.com>
1008 * include/ext/enc_filebuf.h: Fix.
1009 * include/bits/fstream.tcc: Tweak formatting.
1010 * include/bits/postypes.h: Same.
1011 * include/bits/sstream.tcc: Same.
1012 * include/bits/streambuf.tcc: Same.
1013 * testsuite/ext/stdio_filebuf.cc: Split.
1014 * testsuite/ext/stdio_filebuf_2.cc: Split.
1015 * testsuite/ext/stdio_sync_filebuf_char.cc: Split.
1016 * testsuite/ext/stdio_sync_filebuf_wchar_t.cc: Split.
1017 * testsuite/ext/enc_filebuf/char/13189.cc: New.
1018 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: New.
1019 * testsuite/ext/stdio_filebuf/char/1.cc: New.
1020 * testsuite/ext/stdio_filebuf/char/2.cc: New.
1021 * testsuite/ext/stdio_sync_filebuf/char/1.cc: New.
1022 * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: New.
1023 * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: New.
1024 * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: New.
1025 * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: New.
1026 * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: New.
1027 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: New.
1028 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: New.
1029 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: New.
1030 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: New.
1032 2003-12-05 Carlo Wood <carlo@alinoe.com>
1036 namespace __gnu_cxx::demangler
1037 (enum substitution_nt): Removed trailing comma.
1038 (implementation_details): Added.
1039 (session<Allocator>::M_implementation_details): Added.
1040 (session<Allocator>::session): Pass implementation_details.
1041 (session<Allocator>::decode_encoding): Same.
1042 (session<Allocator>::decode_real): Added.
1043 (_GLIBCXX_DEMANGLER_STYLE_VOID _GLIBCXX_DEMANGLER_STYLE_LITERAL
1044 _GLIBCXX_DEMANGLER_STYLE_LITERAL_INT
1045 _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
1046 _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Replaced with
1047 implementation_details equivalent.
1048 (session<Allocator>::decode_expression):
1049 Use M_implementation_details instead of macros. Add extra parentheses
1050 around 'larger than' operator in expressions in template arguments.
1051 (session<Allocator>::decode_bare_function_type): Idem.
1052 (session<Allocator>::decode_literal):
1053 Idem, and call decode_real for floating literals.
1054 (session<Allocator>::decode_type_with_postfix): Put the postfix
1055 of the return type of (member) functions after the function
1056 instead of after the return type. Also, put a space after the
1057 prefix of qualified function pointers: "int (* const<space>".
1058 * src/demangle.cc: include most dependent header file first.
1059 * testsuite/demangle/regression/cw-16.cc: Updated two
1060 and added three tests.
1062 2003-12-04 Benjamin Kosnik <bkoz@redhat.com>
1065 * include/bits/stl_algo.h (__random_number): Remove.
1066 (random_shuffle): Use rand, as permitted by DR 395.
1067 * include/ext/algorithm: Same.
1068 * linkage.m4 (GLIBCXX_CHECK_STDLIB_SUPPORT): Remove lrand48.
1070 * crossconfig.m4: Remove HAVE_DRAND48, HAVE_LRAND48.
1071 * config.h.in: Regenerated.
1075 2003-12-04 Paolo Carlini <pcarlini@suse.de>
1078 * include/std/std_bitset.h (operator>>): Implement resolution
1079 of DR 303 [WP]: use widen('0') and widen('1').
1080 * docs/html/ext/howto.html: Add an entry for DR 303.
1082 * include/std/std_bitset.h (operator>>): Implement the common
1083 requirements of formatted input functions (27.6.1.2.1).
1085 * include/std/std_bitset.h (operator>>): Set the failbit when
1086 nothing was extracted and _Nb != 0.
1087 * testsuite/23_containers/bitset/input/1.cc: New.
1089 2003-12-03 Paolo Carlini <pcarlini@suse.de>
1092 * include/bits/locale_facets.tcc (time_get::_M_extract_num):
1093 Rewrite, stop the parsing as soon as a digit cannot possibly
1094 lead to a final number within the bounds; otherwise, simplify,
1095 avoiding __ctype.is() and atoi().
1096 * testsuite/22_locale/time_get/get_date/char/12791.cc: New.
1097 * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: New.
1099 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1100 Minor tweak: a 4-digit integer cannot be bigger than 9999.
1102 * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Use
1103 type-correct wchar_t string literals.
1104 * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
1105 * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
1106 * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
1107 * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
1109 2003-12-02 Paolo Carlini <pcarlini@suse.de>
1111 * include/bits/locale_facets.tcc (time_get::do_get_year):
1112 Avoid using a basic_string and calling a full blown strtol
1113 (via __convert_to_v) for simple 2 or 4 digits, base 10,
1114 positive integers; simplify.
1116 2003-12-02 Paolo Carlini <pcarlini@suse.de>
1118 * config/locale/gnu/monetary_members.cc
1119 (money_base::_S_construct_pattern): For case 3: and 4:
1120 exchanging 'if (__precedes)' and 'if (__space)' allows
1121 to factor out a few more assignments.
1123 2003-12-01 Benjamin Kosnik <bkoz@redhat.com>
1125 * include/bits/basic_ios.h (basic_ios::setstate): Revert.
1126 * include/bits/istream.tcc: Only call setstate if __err != goodbit.
1127 * include/bits/ostream.tcc: Same.
1128 * testsuite/27_io/basic_ios/exceptions/char/2.cc: New.
1130 * testsuite/testsuite_io.h (__gnu_test::fail_streambuf): Make
1131 internal buffer non-static.
1133 2003-12-01 Benjamin Kosnik <bkoz@redhat.com>
1135 * docs/html/17_intro/C++STYLE: Add exception bits.
1136 * include/bits/fstream.tcc: Add location info to exception strings.
1138 * include/bits/stl_construct.h: Formatting tweaks.
1140 2003-12-01 Paolo Carlini <pcarlini@suse.de>
1143 * include/bits/allocator.h (allocator::construct): Implement
1144 resolution of DR 402 [Ready] (in Revision 28).
1145 * include/bits/allocator_traits.h (__allocator::construct):
1147 * include/bits/stl_construct.h (_Construct): Likewise.
1148 * testsuite/20_util/allocator_members.cc: Move to...
1149 * testsuite/20_util/allocator/1.cc: ... here.
1150 * testsuite/20_util/allocator/10378.cc: New.
1151 * docs/html/ext/howto.html: Add an entry for DR 402.
1153 2003-11-30 Paolo Carlini <pcarlini@suse.de>
1155 * config/locale/gnu/codecvt_members.cc (codecvt::do_in,
1156 codecvt::do_length): More minor tweaks.
1158 2003-11-30 Paolo Carlini <pcarlini@suse.de>
1160 * config/locale/gnu/codecvt_members.cc (codecvt::do_in):
1161 Minor stylistic tweak.
1163 2003-11-30 Paolo Carlini <pcarlini@suse.de>
1165 * include/bits/locale_facets.tcc (num_put::do_put(..., bool)):
1166 Minor tweaks, consistent with the style used in other facets.
1168 2003-11-29 Paolo Carlini <pcarlini@suse.de>
1170 * include/bits/fstream.tcc (underflow): Minor tweaks in
1171 preparation for libstdc++/13217.
1173 2003-11-29 Paolo Carlini <pcarlini@suse.de>
1175 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc:
1176 Tweak for a few small problems (fix timings, use VERIFY..)
1178 2003-11-28 Paolo Carlini <pcarlini@suse.de>
1180 * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: Remove.
1181 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: New,
1182 the original third testcase for libstdc++/13171 belong here.
1184 2003-11-28 Paolo Carlini <pcarlini@suse.de>
1186 * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc:
1187 Remove extraneous wchar_t lines.
1189 2003-11-27 Paolo Carlini <pcarlini@suse.de>
1193 * include/bits/fstream.tcc (underflow): Throw ios_base::failure
1194 upon incomplete or invalid byte sequences in the file.
1195 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: New.
1196 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: New.
1197 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: New.
1199 2003-11-27 Paolo Carlini <pcarlini@suse.de>
1201 * include/std/std_streambuf.h (__copy_streambufs): Remove
1202 the first, unused, basic_ios<> parameter.
1203 * src/streambuf-inst.cc: Likewise.
1204 * include/bits/streambuf.tcc: Likewise.
1205 * include/bits/istream.tcc (operator>>(__streambuf_type*)):
1206 Tweak accordingly the call.
1207 * include/bits/ostream.tcc (operator<<(__streambuf_type*)):
1210 * include/bits/streambuf.tcc (__copy_streambufs): Remove
1211 redundant try/catch.
1213 2003-11-26 Benjamin Kosnik <bkoz@redhat.com>
1219 * include/bits/basic_ios.h (basic_ios::setstate): Elide if goodbit.
1220 (basic_ios::_M_setstate): Consolidate common error handling code.
1221 * include/bits/basic_ios.tcc: Tweak.
1222 * include/bits/fstream.tcc: Tweak.
1223 * include/bits/istream.tcc: Use _M_setstate for common exception
1224 handling. Move setstate calls after catch.
1225 (basic_istream::tellg): Check for exceptions thrown by streambuf
1227 (basic_istream::seekg): Same.
1228 * include/bits/ostream.tcc: Same, but for ostream.
1229 (basic_ostream::flush): Check for exceptions thrown by streambuf
1231 (basic_istream::tellp): Same.
1232 (basic_istream::seekp): Same.
1233 * include/bits/locale_facets.tcc: Tweak.
1234 * include/bits/streambuf.tcc: Tweak.
1235 (__copy_streambufs): Propagate exceptions.
1236 * testsuite/testsuite_io.h (fail_streambuf): New.
1237 (fail_num_get): New.
1238 (fail_num_put): New.
1240 (underflow_error): New.
1241 (overflow_error): New.
1242 (positioning_error): New.
1243 * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Tweak.
1244 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1245 exceptions_badbit_throw.cc, exceptions_failbit.cc,
1246 exceptions_failbit_throw.cc: New.
1247 * testsuite/27_io/basic_istream/extractors_other/char/
1248 error_failbit.cc, exceptions_badbit_throw.cc,
1249 exceptions_failbit_throw.cc, exceptions_null.cc: New.
1250 * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
1252 * testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc:
1254 * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
1256 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1257 exceptions_badbit_throw.cc, exceptions_failbit_throw.cc: New.
1258 * testsuite/27_io/basic_ostream/inserters_other/char/
1259 error_failbit.cc, exceptions_badbit_throw.cc,
1260 exceptions_failbit_throw.cc, exceptions_null.cc: New.
1261 * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
1263 * testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc:
1266 2003-11-26 Benjamin Kosnik <bkoz@redhat.com>
1269 * include/bits/istream.tcc
1270 (basic_istream::sentry::sentry): Set failbit and eofbit when eof.
1271 * testsuite/27_io/basic_istream/sentry/char/12297.cc: New.
1273 2003-11-26 Paolo Carlini <pcarlini@suse.de>
1274 Petur Runolfsson <peturr02@ru.is>
1277 * include/bits/fstream.tcc (imbue): Relax the conditions under
1278 which the function succeeds: allow for two consecutive calls with
1279 the same name; state dependent encodings are ok even after open
1280 if at the beginning of the file; don't check seekoff return value
1281 (pipes, cin, cout, etc...)
1282 * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: New.
1283 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: New.
1284 * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: New.
1285 * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: New.
1286 * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak comment.
1287 * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
1288 * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Tweak comment.
1289 * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
1291 * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: More
1292 correctly use the UTF-8 locale appearing in the PR.
1294 2003-11-26 Paolo Carlini <pcarlini@suse.de>
1296 * include/bits/locale_facets.h
1297 (__numpunct_cache<>::_M_cache): Avoid zeroing _M_grouping,
1298 _M_truename and _M_falsename: the constructor always does
1299 it immediately before the _M_cache call.
1301 2003-11-25 Paolo Carlini <pcarlini@suse.de>
1303 * config/locale/gnu/codecvt_members.cc (codecvt::do_length):
1304 Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
1305 former is very fast, but stops if encounters a NUL.
1306 (codecvt::do_out): Tweaks.
1307 (codecvt::do_in): Tweaks, improve the code dealing with errors.
1308 * testsuite/performance/wchar_t_length.cc: New.
1310 2003-11-24 Paolo Carlini <pcarlini@suse.de>
1312 * config/locale/gnu/codecvt_members.cc (codecvt::do_in):
1313 Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
1314 former is very fast, but stops if encounters a NUL.
1315 (codecvt::do_out): Tweak.
1316 * testsuite/performance/wchar_t_in.cc: New.
1318 2003-11-24 Paolo Carlini <pcarlini@suse.de>
1320 * include/bits/locale_facets.h
1321 (__numpunct_cache<>::_M_cache): Set _M_allocated at the beginning
1322 in order to avoid memory leaks; simplify a bit.
1324 2003-11-24 Benjamin Kosnik <bkoz@redhat.com>
1326 * include/bits/streambuf_iterator.h (ostreambuf_iterator): Remove
1327 non-standard throw specs.
1328 * testsuite/24_iterators/istreambuf_iterator.cc: Split into...
1329 * testsuite/24_iterators/istreambuf_iterator/1.cc
1330 * testsuite/24_iterators/istreambuf_iterator/2.cc
1331 * testsuite/24_iterators/istreambuf_iterator/2627.cc
1332 * testsuite/24_iterators/ostreambuf_iterator.cc: Split into...
1333 * testsuite/24_iterators/ostreambuf_iterator/1.cc
1334 * testsuite/24_iterators/ostreambuf_iterator/2.cc
1336 * testsuite/24_iterators/reverse_iterator/1.cc: Just compile,
1339 * include/bits/allocator.h: Formatting tweak.
1341 2003-11-24 Paolo Carlini <pcarlini@suse.de>
1343 * src/locale_init.cc: Cosmetic reformatting.
1345 2003-11-23 Paolo Carlini <pcarlini@suse.de>
1347 * include/bits/locale_facets.tcc (__add_grouping):
1348 Cosmetic reformatting.
1350 2003-11-23 Paolo Carlini <pcarlini@suse.de>
1352 * include/bits/locale_facets.tcc (_M_extract_float,
1353 _M_extract_int): Remove a wrong comment and simplify
1354 the corresponding code using char_traits::find().
1356 2003-11-22 Paolo Carlini <pcarlini@suse.de>
1358 * config/locale/gnu/monetary_members.cc
1359 (money_base::_S_construct_pattern): Factor out two assignments.
1361 2003-11-22 Paolo Carlini <pcarlini@suse.de>
1363 * include/bits/istream.tcc (getline(basic_string<>&)):
1364 Fix error in comment of the previous commit.
1366 2003-11-22 Paolo Carlini <pcarlini@suse.de>
1369 * include/bits/istream.tcc (operator>>(basic_string<>&),
1370 getline(basic_string<>&)): Implement resolution of DR 91 [WP];
1371 fix some minor issues with the exit conditions.
1372 * docs/html/ext/howto.html: Add an entry for DR 91.
1374 2003-11-21 Paolo Carlini <pcarlini@suse.de>
1376 * config/locale/gnu/monetary_members.cc
1377 (money_base::_S_construct_pattern): Factor out an assignment.
1379 2003-11-21 Paolo Carlini <pcarlini@suse.de>
1381 PR libstdc++/12882 (partial)
1382 * acinclude.m4 (GLIBCXX_CHECK_LFS): Check fseeko64
1384 * include/ext/stdio_sync_filebuf.h (seekoff): Use fseeko64
1385 and ftello64 if available.
1386 * aclocal.m4: Regenerate.
1389 2003-11-20 Benjamin Kosnik <bkoz@redhat.com>
1391 * include/debug/formatter.h: Use _Tp as template argument.
1392 * src/debug.cc: Same, instantiate std::size_t.
1394 2003-11-20 Benjamin Kosnik <bkoz@redhat.com>
1397 * include/debug/formatter.h (_Error_formatter::_M_format_word): New.
1398 * src/debug.cc (__gnu_debug): Format.
1399 (_Error_formatter::_M_format_word): Define, use, instantiate.
1401 2003-11-20 Paolo Carlini <pcarlini@suse.de>
1404 * config/locale/gnu/codecvt_members.cc (codecvt::do_out):
1405 Rewrite, using both wcsnrtombs and wcrtomb in a loop: the
1406 former is very fast, but stops if encounters a NUL.
1407 * testsuite/performance/wchar_t_out.cc: New, from the PR.
1409 2003-11-19 Paolo Carlini <pcarlini@suse.de>
1411 * config/locale/gnu/codecvt_members.cc (do_out): If
1412 we can upper bound the total number of external chars
1413 to something smaller than __to_end - __to, avoid the
1414 temporary buffer, the memcopy and simplify the loop.
1415 * config/locale/generic/codecvt_members.cc (do_out):
1418 2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
1420 * testsuite/lib/libstdc++.exp: Add DYLD_LIBRARY_PATH for darwin.
1421 * testsuite/libstdc++-dg/normal.exp: Add -multiply_defined suppress
1424 2003-11-18 Jonathan Wakely <redi@gcc.gnu.org>
1426 * docs/html/configopts.html, docs/html/debug.html,
1427 docs/html/documentation.html, docs/html/explanations.html,
1428 docs/html/install.html, docs/html/17_intro/contribute.html,
1429 docs/html/17_intro/howto.html, docs/html/17_intro/license.html,
1430 docs/html/18_support/howto.html, docs/html/19_diagnostics/howto.html,
1431 docs/html/20_util/howto.html, docs/html/21_strings/howto.html,
1432 docs/html/22_locale/codecvt.html, docs/html/22_locale/ctype.html,
1433 docs/html/22_locale/howto.html, docs/html/22_locale/locale.html,
1434 docs/html/22_locale/messages.html, docs/html/23_containers/howto.html,
1435 docs/html/24_iterators/howto.html, docs/html/25_algorithms/howto.html,
1436 docs/html/26_numerics/howto.html, docs/html/27_io/howto.html,
1437 docs/html/ext/howto.html, docs/html/ext/sgiexts.html: Add <link> tags.
1439 2003-11-18 Paolo Carlini <pcarlini@suse.de>
1442 * include/bits/fstream.tcc (imbue): For encodings != -1 it's
1443 always ok to imbue a new locale, provided seekoff(0, cur, ...)
1444 doesn't fail, of course.
1445 (underflow): In order for the above to work, deal gracefully
1446 with _M_codecvt->in returning codecvt_base::error while
1447 (__ilen = __iend - this->eback()) > 0: it just means __ilen
1448 correctly converted internal characters before an error.
1449 * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: New.
1451 2003-11-17 Paolo Carlini <pcarlini@suse.de>
1453 * include/bits/locale_facets.tcc: Fix typo in comment.
1455 2003-11-17 Paolo Carlini <pcarlini@suse.de>
1457 * testsuite/22_locale/num_put/put/char/8.cc: New test,
1458 summarizing the discussion ensuing libstdc++/12988.
1459 * testsuite/22_locale/num_put/put/wchar_t/8.cc: Ditto.
1461 2003-11-15 Paolo Carlini <pcarlini@suse.de>
1463 * include/std/std_fstream.h: Tweak a comment.
1465 2003-11-15 Roger Sayle <roger@eyesopen.com>
1467 * include/c_std/std_cmath.h: Don't import C99's float transcendentals
1468 into the __gnu_cxx::__c99_binding namespace.
1469 (acos, asin, atan, atan2, ceil, cosh, exp, floor, fmod, frexp,
1470 ldexp, log, log10, modf, pow, sinh, tan, tanh): Implement using
1471 GCC's math builtins, i.e. __builtin_foo.
1472 * libmath/stubs.c (acosf, acosl, asinf, asinl, atanf, atanl,
1473 ceilf, ceill, floorf, floorl, fmodf, fmodl, frexpf, frexpl,
1474 ldexpf, ldexpl, modff, modfl): Provide stub implementations.
1476 2003-11-14 Paolo Carlini <pcarlini@suse.de>
1478 * testsuite/22_locale/locale/cons/12352.cc: Use
1479 __gnu_test::try_named_locale.
1481 2003-11-14 Paolo Carlini <pcarlini@suse.de>
1483 * docs/html/ext/howto.html: Add entries for DR 63, 75
1484 and 305; tweak entries for DR 60 and 328.
1486 2003-11-13 Douglas Gregor <gregod@cs.rpi.edu>
1488 * docs/html/debug.html: Users are allowed to specialize in
1489 namespace __gnu_debug, unlike in the Apple version of the debug
1490 mode. Clear up a confusing double-negative. Note that
1491 std::basic_string does provide extra debugging capabilities, but
1493 * include/bits/basic_string.tcc: Make sure there's never an
1494 ambiguity when calling __is_null_pointer.
1495 * include/debug/deque: (deque::erase) Properly handle invalidation
1496 when erasing at the end of the deque.
1497 * include/debug/vector: (vector::swap): Swap _M_guaranteed_capacity.
1498 (vector::clear): Set the guaranteed capacity to 0.
1499 * testsuite/23_containers/deque/invalidation/4.cc: (test04): Test
1500 iterator invalidation when erasing at the end of the deque.
1502 2003-11-13 Paolo Carlini <pcarlini@suse.de>
1503 Petur Runolfsson <peturr02@ru.is>
1506 * include/bits/fstream.tcc (imbue): Don't touch the stored
1508 * include/std/std_streambuf.h (imbue): According to the
1509 standard, base class version does nothing.
1510 (pubimbue): Store the locale.
1511 * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: New.
1512 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: New.
1513 * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak.
1514 * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
1515 * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: New.
1516 * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: New.
1517 * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: New.
1518 * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: New.
1520 2003-11-13 Petur Runolfsson <peturr02@ru.is>
1523 * include/bits/ostream.tcc
1524 (basic_ostream::operator<<(basic_ostream& (*)(basic_ostream&)),
1525 basic_ostream::operator<<(basic_ios& (*)(basic_ios&)),
1526 basic_ostream::operator<<(ios_base& (*)(ios_base&))):
1527 Implement the resolution of DR 60 (TC): These are not formatted
1528 output functions so don't construct sentry objects and don't
1530 (basic_ostream::put, basic_ostream::write): Implement the
1531 resolution of DR 63 (TC) by catching exceptions and setting
1533 (basic_ostream::flush): Implement the resolution of DR 60 (TC):
1534 This is not an unformatted output function so don't construct
1536 * testsuite/testsuite_io.h (sync_streambuf): Define.
1537 * testsuite/27_io/basic_ostream/flush/char/2.cc: New test.
1538 * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: New test.
1539 * testsuite/27_io/basic_ostream/put/char/1.cc: New test.
1540 * testsuite/27_io/basic_ostream/write/char/1.cc: New test.
1542 2003-11-13 Paolo Carlini <pcarlini@suse.de>
1544 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1:
1545 Fix, closely following the testcase included in the PR.
1546 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: Ditto.
1547 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: Ditto.
1548 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: Ditto.
1550 2003-11-13 Jonathan Wakely <redi@gcc.gnu.org>
1552 * docs/html/17_intro/configury.html: XHTML tweak.
1554 2003-11-13 Jonathan Wakely <redi@gcc.gnu.org>
1556 * docs/html/debug_mode.html: XHTML fixes.
1558 2003-11-12 Benjamin Kosnik <bkoz@redhat.com>
1560 * docs/html/debug_mode.html: Update.
1561 * docs/html/17_intro/TODO: Update.
1563 2003-11-12 Benjamin Kosnik <bkoz@redhat.com>
1565 * include/bits/c++config: Move using directive...
1566 * include/debug/formatter.h: ...here.
1568 2003-11-12 Carlo Wood <carlo@alinoe.com>
1572 (_GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS): Added.
1573 (_GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Added.
1574 (session<Allocator>::next_peek() const): Added.
1575 (decode_non_negative_decimal_integer(string_type&)):
1576 Renamed from decode_decimal_integer(string_type&).
1577 (session<Allocator>::decode_nested_name):
1578 Decode <template_param> as well.
1579 (session<Allocator>::add_substitution):
1580 Handle <template-param> for <nested-name>'s.
1581 (enum xary_nt): Added.
1582 (struct entry_st): Added member `xary_nt type' instead of `bool unary'.
1583 (symbol_name_table_c): Updated for `entry_st::type' and additional
1584 operators (unary `operator+' and `sizeof(type)').
1585 (offset_table_c): Updated for new operators (causing a new hash map).
1586 (decode_operator_name): Match the updated hash map.
1587 (session<Allocator>::decode_expression):
1588 Support for `sizeof ([typename] type)' (st),
1589 dependent names (sr) and casting operator (cv). Handle
1590 `entry_st::type'. Handle _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
1591 and _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME.
1592 (session<Allocator>::decode_type_with_postfix):
1593 Support `extern "C"' function types (FY).
1594 * testsuite/demangle/regression/cw-16.cc: Added tests for the
1595 added functionality.
1596 * testsuite/demangle/regression/3111-2.cc: sizeof now has a space
1599 2003-11-11 Paolo Carlini <pcarlini@suse.de>
1602 * include/bits/fstream.tcc (setbuf): Don't do anything
1603 after open(), in particular don't discard data.
1604 (_M_allocate_internal_buffer): Tweak to not allocate memory
1605 in case the buffer is provided by the user via setbuf.
1606 * include/ext/stdio_filebuf.h: Tweak comment.
1607 * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: New.
1608 * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Likewise.
1609 * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Tweak, now
1610 setbuf does nothing after open().
1611 * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
1613 2003-11-11 Doug Gregor <gregod@cs.rpi.edu>
1615 * docs/html/debug.html: Document libstdc++ debug mode.
1616 * docs/html/debug_mode.html: Document libstdc++ debug mode design.
1617 * docs/html/test.html: Document how to test under debug mode.
1618 * docs/html/17_intro/howto.html: Document debug-mode macros.
1619 * include/Makefile.am: Install debug-mode headers.
1620 * src/Makefile.am: Include debug.cc.
1621 * include/bits/basic_string.tcc:
1622 (basic_string::_S_construct): Fix NULL pointer check.
1623 (__is_null_pointer): New.
1624 Add precondition annotations.
1625 * include/bits/stream_iterator.h (istream_iterator,
1626 ostream_iterator): Added precondition annotations.
1627 * include/bits/streambuf_iterator.h (istreambuf_iterator): Ditto.
1628 * include/bits/stl_queue.h (queue, priority_queue): Ditto.
1629 * include/bits/stl_stack.h (stack): Ditto.
1630 * include/bits/basic_string.h (basic_string): Ditto.
1631 * include/bits/basic_string.tcc (basic_string): Ditto.
1632 * include/std/std_memory.h (auto_ptr): Ditto.
1633 * include/std/std_valarray.h (valarray): Ditto.
1634 * include/bits/stl_algo.h: Added algorithm precondition
1636 * include/bits/stl_algobase.h: Added algorithm precondition
1638 * include/bits/stl_numeric.h: Ditto.
1639 * include/ext/algorithm: Added algorithm precondition
1641 (__is_heap): Moved away from here.
1642 * include/bits/stl_heap.h: Added algorithm precondition
1644 (__is_heap): Moved to the top of this file.
1645 (__is_heap): Added iterator range overloads.
1646 * testsuite/20_util/auto_ptr_neg.cc: Fix line numbers to match up
1647 with changes in std_memory.h.
1648 * testsuite/23_containers/list/operators/4.cc: Don't verify
1649 performance guarantees when in debug mode.
1650 * testsuite/23_containers/bitset/invalidation/1.cc: New.
1651 * testsuite/23_containers/deque/invalidation/1.cc: New.
1652 * testsuite/23_containers/deque/invalidation/2.cc: New.
1653 * testsuite/23_containers/deque/invalidation/3.cc: New.
1654 * testsuite/23_containers/deque/invalidation/4.cc: New.
1655 * testsuite/23_containers/list/invalidation/1.cc: New.
1656 * testsuite/23_containers/list/invalidation/2.cc: New.
1657 * testsuite/23_containers/list/invalidation/3.cc: New.
1658 * testsuite/23_containers/list/invalidation/4.cc: New.
1659 * testsuite/23_containers/map/invalidation/1.cc: New.
1660 * testsuite/23_containers/map/invalidation/2.cc: New.
1661 * testsuite/23_containers/multimap/invalidation/1.cc: New.
1662 * testsuite/23_containers/multimap/invalidation/2.cc: New.
1663 * testsuite/23_containers/multiset/invalidation/1.cc: New.
1664 * testsuite/23_containers/multiset/invalidation/2.cc: New.
1665 * testsuite/23_containers/set/invalidation/1.cc: New.
1666 * testsuite/23_containers/set/invalidation/2.cc: New.
1667 * testsuite/23_containers/vector/invalidation/1.cc: New.
1668 * testsuite/23_containers/vector/invalidation/2.cc: New.
1669 * testsuite/23_containers/vector/invalidation/3.cc: New.
1670 * testsuite/23_containers/vector/invalidation/4.cc: New.
1671 * testsuite/25_algorithms/heap.cc: Don't verify
1672 performance guarantees when in debug mode.
1673 * include/debug/bitset: New.
1674 * include/debug/debug.h: New.
1675 * include/debug/deque: New.
1676 * include/debug/formatter.h: New.
1677 * include/debug/hash_map: New.
1678 * include/debug/hash_map.h: New.
1679 * include/debug/hash_multimap.h: New.
1680 * include/debug/hash_set: New.
1681 * include/debug/hash_set.h: New.
1682 * include/debug/hash_multiset.h: New.
1683 * include/debug/list: New.
1684 * include/debug/map: New.
1685 * include/debug/map.h: New.
1686 * include/debug/multimap.h: New.
1687 * include/debug/multiset.h: New.
1688 * include/debug/safe_base.h: New.
1689 * include/debug/safe_iterator.h: New.
1690 * include/debug/safe_iterator.tcc: New.
1691 * include/debug/safe_sequence.h: New.
1692 * include/debug/set: New.
1693 * include/debug/set.h: New.
1694 * include/debug/string: New.
1695 * include/debug/vector: New.
1696 * src/debug.cc: New.
1697 * config/linker-map.gnu: Add debug mode symbols.
1699 2003-11-11 Benjamin Kosnik <bkoz@redhat.com>
1701 * src/string-inst.cc: Tweak namespaces.
1702 * src/misc-inst.cc: Same.
1703 * docs/html/debug.html: Edits.
1704 * config/link-map.gnu: Remove cruft.
1706 * include/bits/c++config: Add in namespace associations.
1707 * include/std/std_bitset.h: Adjust namespace to __gnu_norm,
1709 * include/bits/deque.tcc: Same.
1710 * include/bits/list.tcc: Same.
1711 * include/bits/stl_bvector.h: Same.
1712 * include/bits/stl_deque.h: Same.
1713 * include/bits/stl_list.h: Same.
1714 * include/bits/stl_map.h: Same.
1715 * include/bits/stl_multimap.h: Same.
1716 * include/bits/stl_multiset.h: Same.
1717 * include/bits/stl_set.h: Same.
1718 * include/bits/stl_vector.h: Same.
1719 * include/bits/vector.tcc: Same.
1721 * include/std/std_algorithm.h: Remove markup comments.
1722 * include/std/std_functional.h: Same.
1723 * include/std/std_iterator.h: Same.
1724 * include/std/std_numeric.h: Same.
1725 * include/std/std_utility.h: Same.
1726 * include/bits/stl_queue.h: Formatting tweaks.
1727 * include/bits/stl_stack.h: Same.
1728 * include/std/std_deque.h: Include debugging version in debug mode.
1729 * include/std/std_list.h: Same.
1730 * include/std/std_map.h: Same.
1731 * include/std/std_set.h: Same.
1732 * include/std/std_vector.h: Same.
1733 * include/std/std_queue.h: Use deque, vector.
1734 * include/std/std_stack.h: Same.
1736 2003-11-09 Paolo Carlini <pcarlini@suse.de>
1738 * include/bits/locale_facets.tcc (_M_insert_int,
1739 _M_insert_float): Move a couple of vars inside an if block.
1741 2003-11-09 Paolo Carlini <pcarlini@suse.de>
1744 * include/bits/locale_facets.tcc
1745 (money_put::do_put(..., long double)): Fix conversion
1746 specification as per DR 328 [WP].
1747 * testsuite/22_locale/money_put/put/char/12971.cc: Add.
1748 * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Ditto.
1749 * docs/html/ext/howto.html: Add entry for DR 328.
1751 2003-11-08 Paolo Carlini <pcarlini@suse.de>
1754 * include/bits/list.tcc (merge): Implement resolution of
1756 * docs/html/ext/howto.html: Add entry for DR 300; tweak entry
1759 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1762 2003-11-07 Jonathan Wakely <redi@gcc.gnu.org>
1764 * libsupc++/vec.cc: Conform to C++STYLE.
1766 2003-11-07 Carlo Wood <carlo@alinoe.com>
1769 * bits/demangle.h (qualifier_list<Allocator>::decode_KVrA): Added.
1770 (qualifier_list<Allocator>::decode_qualifiers): Collect concatenated
1771 K, V, r and A qualifiers before processing them as a group.
1772 * testsuite/demangle/abi_text/01.cc: Reordered CV-qualifiers.
1773 * testsuite/demangle/regression/cw-16.cc: New.
1775 2003-11-07 Robert Millan <robertmh@gnu.org>
1777 * configure.host: Add kfreebsd*-gnu and knetbsd*-gnu.
1778 * crossconfig.m4: Likewise.
1779 * configure: Regenerate.
1781 2003-11-07 Carlo Wood <carlo@alinoe.com>
1783 * include/bits/demangle.h
1784 (qualifier_list<Allocator>::decode_qualifiers(string_type&,
1785 string_type&, bool member_function_pointer_qualifiers):
1786 Always separate the '[' of an array type with a space from
1787 what is left of it, except when that is the closing bracket
1788 of another array dimension.
1790 2003-11-07 Carlo Wood <carlo@alinoe.com>
1792 * include/bits/demangle.h
1793 (qualifier_list<Allocator>::decode_qualifiers(string_type&,
1794 string_type&, bool) const): Made const.
1795 (qualifier_list<Allocator>::M_printing_suppressed): Added mutable.
1796 (_GLIBCXX_DEMANGLER_DOUT_ENTERING3, _GLIBCXX_DEMANGLER_RETURN3,
1797 std::ostream& operator<<(std::ostream&, qualifier const&),
1798 std::ostream& operator<<(std::ostream&, qualifier_list const&),
1799 qualifier_list<Allocator>::decode_qualifiers(string_type&,
1800 string_type&, bool) const,
1801 session<Allocator>::decode_type_with_postfix(string_type&,
1802 string_type&, qualifier_list<Allocator>*))
1803 Added and/or changed debug-only hooks and code.
1805 2003-11-04 Jeffrey D. Oldham <oldham@codesourcery.com>
1807 * libsupc++/vec.cc (__cxa_vec_delete2): If given a NULL pointer,
1808 immediately return. This reflects a C++ ABI change 2003 Nov 03.
1809 (__cxa_vec_delete3): Likewise.
1811 2003-11-03 Petur Runolfsson <peturr02@ru.is>
1814 * include/bits/fstream.tcc: Delete _M_last_overflowed.
1815 (basic_filebuf::basic_filebuf): Initialize _M_state_last.
1816 (basic_filebuf::open, basic_filebuf::close): Assign
1817 _M_state_beg to _M_state_cur and _M_state_last.
1818 (basic_filebuf::close): Call _M_terminate_output to handle
1819 unshift and flushing.
1820 (basic_filebuf::underflow): Assign _M_state_last, throw
1821 exception instead of calling abort when codecvt::max_length()
1823 (basic_filebuf::seekoff): Use _M_state_last when calling
1824 codecvt::length(), pass correct state to _M_seek.
1825 (basic_filebuf::seekpos): Pass __pos.state() to _M_seek.
1826 (basic_filebuf::_M_seek): Add __state_type parameter,
1827 set _M_state_cur correctly, store the resulting state in
1828 the return value and use _M_terminate_output to handle
1829 flushing and unshift.
1830 (basic_filebuf::_M_terminate_output): Flush contents of
1831 output buffer, if any, then call codecvt::unshift as
1832 needed and output the result.
1833 (basic_filebuf::sync): Move here, don't modify _M_writing
1836 * include/std/std_fstream.h
1837 (basic_filebuf::_M_state_last): Declare it.
1838 (basic_filebuf::_M_last_overflowed): Delete.
1839 (basic_filebuf::_M_seek): Add __state_type parameter.
1840 (basic_filebuf::sync): Declare only.
1841 (basic_filebuf::_M_output_unshift): Delete.
1842 (basic_filebuf::_M_terminate_output): Declare it.
1844 * testsuite/testsuite_character.h:
1845 Define character class and state class plus char_traits and
1846 codecvt specializations for same for testing support for
1849 * testsuite/27_io/basic_filebuf/close/12790-1.cc,
1850 * testsuite/27_io/basic_filebuf/close/char/12790-1.cc,
1851 * testsuite/27_io/basic_filebuf/close/char/12790-2.cc,
1852 * testsuite/27_io/basic_filebuf/close/char/12790-3.cc,
1853 * testsuite/27_io/basic_filebuf/close/char/12790-4.cc,
1854 * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc,
1855 * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc,
1856 * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc,
1857 * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc,
1858 * testsuite/27_io/basic_filebuf/open/12790-1.cc,
1859 * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc,
1860 * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc,
1861 * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc,
1862 * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc,
1863 * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc,
1864 * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc,
1865 * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc,
1866 * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc,
1867 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc,
1868 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc,
1869 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc,
1870 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc,
1871 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc,
1872 * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc,
1873 * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc,
1874 * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc,
1875 * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc,
1876 * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc,
1877 * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc,
1878 * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc,
1879 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc,
1880 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc,
1881 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc,
1882 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc,
1883 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc,
1884 * testsuite/27_io/basic_filebuf/sync/char/1.cc,
1885 * testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc:
1888 * testsuite/27_io/basic_filebuf/3.cc,
1889 * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc,
1890 * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc,
1891 * testsuite/27_io/basic_fstream/3.cc,
1892 * testsuite/27_io/basic_ifstream/3.cc,
1893 * testsuite/27_io/basic_ofstream/3.cc:
1894 Use streamoff as off_type and fpos<state_type> as pos_type.
1896 * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc,
1897 * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc:
1898 Check that sync does *not* set _M_writing to false.
1900 2003-11-03 Anthony Green <green@redhat.com>
1902 * libmath/stubs.c (sqrtf, sqrtl): Reorder so they appear before
1905 2003-11-03 Benjamin Kosnik <bkoz@redhat.com>
1907 * include/bits/locale_facets.h (time_get::_M_extract_name): Add
1909 * include/bits/locale_facets.tcc: Same, use it to allow
1912 * include/bits/fstream.tcc: Spacing tweak.
1913 * include/bits/istream.tcc: Same.
1914 * include/bits/ostream.tcc: Same.
1916 2003-10-30 Paolo Carlini <pcarlini@suse.de>
1918 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1919 __mod is only assigned, never used its value, remove it.
1921 2003-10-29 Paolo Carlini <pcarlini@suse.de>
1923 * include/bits/locale_facets.tcc (time_get::do_get_year):
1924 Absolutely avoid dereferencing end iterators.
1925 (time_put::put): Minor clean up.
1927 * include/bits/locale_facets.tcc: Cosmetic reformattings.
1929 2003-10-29 Paolo Carlini <pcarlini@suse.de>
1931 * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1932 Revert the last commit, is not correct, sorry.
1934 2003-10-29 Paolo Carlini <pcarlini@suse.de>
1936 * config/locale/generic/c_locale.cc: Add back <cmath> and
1939 * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1942 2003-10-29 Paolo Carlini <pcarlini@suse.de>
1944 * include/bits/locale_facets.tcc (time_put::put): Absolutely
1945 avoid dereferencing end iterators; clean up.
1947 * include/bits/locale_facets.tcc (num_get::_M_extract_float,
1948 num_get::_M_extract_int): Minor tweak.
1950 2003-10-29 Paolo Carlini <pcarlini@suse.de>
1952 * include/bits/locale_facets.tcc: Remove some unnecessary
1954 * config/locale/generic/c_locale.cc: Include <cerrno> here.
1955 * config/locale/gnu/c_locale.cc: Likewise.
1957 2003-10-28 Paolo Carlini <pcarlini@suse.de>
1959 * include/bits/locale_facets.tcc
1960 (money_get<>::do_get(..., string_type&)): Absolutely avoid
1961 dereferencing end iterators; general clean up.
1963 2003-10-28 Paolo Carlini <pcarlini@suse.de>
1965 * include/bits/locale_facets.tcc (time_get::_M_extract_num):
1966 Absolutely avoid dereferencing end iterators.
1967 (time_get::_M_extract_name): Likewise.
1969 * include/bits/locale_facets.tcc
1970 (time_get::_M_extract_via_format, case 'e'): Don't try to
1971 be smart wrt returning the right __beg in case of parse
1972 error, time_get::_M_extract_num must be fixed instead.
1974 2003-10-27 Paolo Carlini <pcarlini@suse.de>
1977 * acinclude.m4 (GLIBCXX_CHECK_LFS): Use the C++ compiler.
1978 * aclocal.m4: Regenerate.
1979 * configure: Regenerate.
1981 2003-10-27 Benjamin Kosnik <bkoz@redhat.com>
1983 * docs/html/17_intro/TODO: Add links.
1984 * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1987 2003-10-27 Paolo Carlini <pcarlini@suse.de>
1990 * include/bits/locale_facets.tcc
1991 (time_get::_M_extract_via_format): Deal with code 'e'.
1992 * testsuite/22_locale/time_get/get_date/char/12750.cc: New.
1993 * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Ditto.
1995 * include/bits/locale_facets.tcc
1996 (time_get::_M_extract_via_format): Tweak to absolutely avoid
1997 dereferencing end iterators.
1999 * include/bits/locale_facets.h (__verify_grouping):
2000 Const-ify second parameter.
2001 * include/bits/locale_facets.tcc (__verify_grouping): Ditto.
2002 * src/locale-inst.cc (__verify_grouping): Ditto.
2004 2003-10-27 Paolo Carlini <pcarlini@suse.de>
2006 * include/bits/locale_facets.tcc (num_get::_M_extract_float):
2007 Various things: 1- Avoid absolutely end iterator dereferences;
2008 2- Improve performance-wise the code skipping leading zeros;
2009 3- Fix two bugs wrt early bail out in case of parsing errors
2010 (see testcases); 4- General clean up.
2011 (num_get::_M_extract_int): Likewise, except 3-. Additionally,
2012 use __builtin_expect to favor base 10 inputs.
2013 * testsuite/22_locale/num_get/get/char/7.cc: New.
2014 * testsuite/22_locale/num_get/get/wchar_t/7.cc: Ditto.
2016 2003-10-26 Paolo Carlini <pcarlini@suse.de>
2018 * testsuite/22_locale/money_put/put/char/1.cc: Clean up.
2019 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Ditto.
2021 2003-10-25 Paolo Carlini <pcarlini@suse.de>
2023 * include/bits/locale_facets.tcc (num_get::_M_extract_int):
2024 __pos in only incremented, never used its value, remove it.
2026 2003-10-24 Robert Millan <robertmh@gnu.org>
2028 * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add kfreebsd*-gnu
2030 * aclocal.m4: Regenerated.
2031 * configure: Regenerated.
2033 2003-10-24 Paolo Carlini <pcarlini@suse.de>
2035 * include/bits/locale_facets.tcc (money_get::do_get(...,
2036 long double&): Properly size the temporary buffer.
2037 * testsuite/22_locale/money_get/get/char/11.cc: New.
2038 * testsuite/22_locale/money_get/get/wchar_t/11.cc: Ditto.
2040 * include/bits/locale_facets.tcc (num_put::_M_group_int,
2041 num_put::_M_group_float, money_put::do_put(..., const
2042 string_type&), collate::do_compare, collate::do_transform):
2043 Prefer basic_string::data() to c_str() when the '\0'
2044 terminator is not really needed.
2046 2003-10-24 Paolo Carlini <pcarlini@suse.de>
2048 * include/bits/locale_facets.tcc (__verify_grouping):
2049 Prefer '=' to an unnecessary '&='.
2051 2003-10-24 Paolo Carlini <pcarlini@suse.de>
2053 * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
2054 Tweak my fix for libstdc++/12657.
2056 2003-10-24 Paolo Carlini <pcarlini@suse.de>
2058 * include/bits/locale_facets.tcc (money_get::do_get(...,
2059 string_type&): Minor tweak to the previous commit.
2061 2003-10-24 Paolo Carlini <pcarlini@suse.de>
2063 * include/bits/locale_facets.tcc (money_get::do_get(...,
2064 string_type&): Disregard the previous commit: doesn't hurt but
2065 doesn't accomplish anything useful either. This is the right
2066 one, speeding up greatly the function in case of early fail.
2068 2003-10-24 Paolo Carlini <pcarlini@suse.de>
2070 * include/bits/locale_facets.tcc (money_get::do_get(...,
2071 string_type&): Move an if block, thus minimizing the amount
2072 of code processed anyway when __tmp_units.size() == 0.
2074 2003-10-24 Paolo Carlini <pcarlini@suse.de>
2076 * include/bits/locale_facets.tcc
2077 (time_get<>::_M_extract_via_format): Deal with case 'C' too,
2080 2003-10-23 Benjamin Kosnik <bkoz@redhat.com>
2082 * docs/html/documentation.html: Add a pointer to the doxygen style
2084 * docs/html/17_intro/TODO: Update.
2085 * docs/html/test.html: Add instructions for running a subset of
2088 2003-10-23 Paolo Carlini <pcarlini@suse.de>
2090 * include/bits/locale_facets.tcc (money_get<>::do_get(...,
2091 string_type&)): Use find_first_not_of to strip leading
2092 zeros; if __tmp_units == "0" never prefix it with '-';
2093 always fail if __tmp_units is empty.
2094 * testsuite/22_locale/money_get/get/char/10.cc: New.
2095 * testsuite/22_locale/money_get/get/wchar_t/10.cc: Ditto.
2097 2003-10-23 Phil Edwards <phil@codesourcery.com>
2099 * config/os/vxworks/ctype_noninline.h: Adjust ctor to match
2102 2003-10-22 Paolo Carlini <pcarlini@suse.de>
2104 * include/bits/locale_facets.tcc (__int_to_char): Remove
2105 the const int parameter.
2106 (_M_insert_int): Update caller.
2107 * src/locale-inst.cc (__int_to_char): Update instantiations.
2109 2003-10-22 Benjamin Kosnik <bkoz@redhat.com>
2111 * include/bits/locale_facets.h: Correct byname facets for "C"
2113 * config/locale/generic/ctype_members.cc: Same.
2114 * config/locale/generic/messages_members.h: Same.
2115 * config/locale/gnu/ctype_members.cc: Same.
2116 * config/locale/gnu/messages_members.h: Same.
2117 * include/bits/codecvt.h: Same.
2118 * src/ctype.cc: Same.
2119 * testsuite/22_locale/codecvt_byname/1.cc: New.
2120 * testsuite/22_locale/collate/1.cc: Edit.
2121 * testsuite/22_locale/collate_byname/1.cc: Derivation tests, move to...
2122 * testsuite/22_locale/collate_byname/named_equivalence.cc: ...here.
2123 * testsuite/22_locale/ctype/1.cc: Derivation tests.
2124 * testsuite/22_locale/ctype/11844.cc: Move...
2125 * testsuite/22_locale/ctype_base/11844.cc: ...here.
2126 * testsuite/22_locale/ctype_base/1.cc: Move mask bits here.
2127 * testsuite/22_locale/ctype_byname/1.cc: Name.
2128 * testsuite/22_locale/messages_byname/1.cc: New.
2129 * testsuite/22_locale/messages_byname/named_equivalence.cc: New.
2130 * testsuite/22_locale/moneypunct_byname/1.cc: Derivation test.
2131 * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: New.
2132 * testsuite/22_locale/numpunct/1.cc: Edit.
2133 * testsuite/22_locale/numpunct_byname/2.cc: Move...
2134 * testsuite/22_locale/numpunct/members/char/3.cc: ...here.
2135 * testsuite/22_locale/numpunct_byname/1.cc: Derivation tests.
2136 * testsuite/22_locale/numpunct_byname/named_equivalence.cc: New.
2138 2003-10-22 Paolo Carlini <pcarlini@suse.de>
2141 * acinclude.m4 (GLIBCXX_CHECK_INT64_T): New macro,
2142 checking for the availability of int64_t.
2143 (GLIBCXX_CHECK_LFS): New macro, checking for LFS support.
2144 * configure.ac: Call here.
2145 * acconfig.h: Add undef for the corresponding symbols.
2146 * config/io/basic_file_stdio.cc (__basic_file<char>::open):
2147 Depending on _GLIBCXX_USE_LFS, call fopen64 or fopen.
2148 (__basic_file<char>::seekoff): Likewise, call lseek64 when
2149 available, otherwise lseek, checking the __off parameter.
2150 * include/bits/postypes.h: Typedef __streamoff_base_type
2151 to int64_t if available, otherwise long long.
2152 * aclocal.m4: Regenerate.
2153 * config.h.in: Likewise.
2154 * configure: Likewise.
2156 * acinclude.m4 (GLIBCXX_CHECK_POLL, GLIBCXX_CHECK_WRITEV):
2157 Use AC_TRY_LINK instead of AC_TRY_COMPILE.
2159 2003-10-22 Paolo Carlini <pcarlini@suse.de>
2162 * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
2163 Implement resolution of DR 292 (WP).
2164 * docs/html/ext/howto.html: Add entry for DR 292.
2166 2003-10-21 Benjamin Kosnik <bkoz@redhat.com>
2168 * include/ext/mt_allocator.h: Change include to gthr.h.
2169 * include/ext/rope: Same. Add _Refcount_base definitions.
2170 * include/ext/pool_allocator.h: Adjust namespaces.
2171 * include/bits/stl_threads.h (_Refcount_base): Move.
2172 Put remaining into namespace __gnu_cxx.
2174 2003-10-21 Benjamin Kosnik <bkoz@redhat.com>
2177 * include/bits/locale_facets.h (ctype<char>): Remove
2178 __ctype_abstract_base.
2179 (ctype<char>::do_is): Remove.
2180 (ctype<char>::do_scan_is): Remove.
2181 * src/ctype.cc: Same. Inline the rest.
2182 * testsuite/22_locale/ctype/is/char/9858.cc: New.
2183 * config/os/aix/ctype_noninline.h: Adjust ctor.
2184 * config/os/bsd/freebsd/ctype_noninline.h: Same.
2185 * config/os/bsd/netbsd/ctype_noninline.h: Same.
2186 * config/os/djgpp/ctype_noninline.h: Same.
2187 * config/os/generic/ctype_noninline.h: Same.
2188 * config/os/gnu-linux/ctype_noninline.h: Same.
2189 * config/os/hpux/ctype_noninline.h: Same.
2190 * config/os/irix/irix5.2/ctype_noninline.h: Same.
2191 * config/os/irix/irix6.5/ctype_noninline.h: Same.
2192 * config/os/mingw32/ctype_noninline.h: Same.
2193 * config/os/newlib/ctype_noninline.h: Same.
2194 * config/os/qnx/qnx6.1/ctype_noninline.h: Same.
2195 * config/os/solaris/solaris2.5/ctype_noninline.h: Same.
2196 * config/os/solaris/solaris2.6/ctype_noninline.h: Same.
2197 * config/os/solaris/solaris2.7/ctype_noninline.h: Same.
2198 * config/os/windiss/ctype_noninline.h: Same.
2200 2003-10-21 Paolo Carlini <pcarlini@suse.de>
2202 * src/locale.cc: Tweak a comment.
2203 * src/localename.cc: Move a comment.
2205 2003-10-20 Benjamin Kosnik <bkoz@redhat.com>
2208 * testsuite_hooks.h: Add pod_type, ctype and numpunct specializations.
2209 * testsuite_hooks.cc: Same.
2210 * 22_locale/numpunct/members/pod/1.cc: Edit.
2211 * 22_locale/numpunct/members/pod/2.cc: Same.
2212 * 27_io/basic_istream/sentry/char/3983-fstream.cc: Move ...
2213 * 27_io/basic_istream/sentry/char/3983-sstream.cc: Move ...
2214 * 27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc: Here.
2215 * 27_io/basic_istream/extractors_character/pod/3983-2.cc: Here.
2216 * 27_io/basic_istream/extractors_other/pod/3983-3.cc: Here.
2217 * 27_io/basic_ostream/sentry/char/3983-fstream.cc: Remove.
2218 * 27_io/basic_ostream/sentry/char/3983-sstream.cc: Remove.
2219 * 27_io/basic_istream/sentry/pod/1.cc: New.
2220 * 27_io/basic_ostream/sentry/pod/1.cc: New.
2221 * 21_strings/basic_string/inserters_extractors/pod/10081-in.cc: New.
2222 * 21_strings/basic_string/inserters_extractors/pod/10081-out.cc: New.
2224 2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2226 * config/cpu/mips/atomicity.h (__atomic_add): Use _ABIO32 instead
2227 of external _MIPS_SIM_ABI32.
2229 2003-10-20 Phil Edwards <phil@codesourcery.com>
2231 * configure.ac: Fix comment typo.
2232 * configure.host: Add vxworks to host_os switch.
2233 * crossconfig.m4: Remove old commented os_include_dir variables
2234 left over from autotools transition.
2235 (*-vxworks): New stanza.
2236 (*-windiss): Add missing symbols.
2237 * configure: Regenerate.
2238 * config/os/vxworks/ctype_base.h, config/os/vxworks/ctype_inline.h,
2239 config/os/vxworks/ctype_noninline.h, config/os/vxworks/os_defines.h:
2241 * config/os/windiss/os_defines.h: Define __C9X__.
2243 2003-10-19 David Edelsohn <edelsohn@gnu.org>
2246 * configure.host (aix4,aix*): Define os_include_dir to os/generic.
2248 2003-10-18 Andreas Tobler <a.tobler@schweiz.ch>
2250 * src/locale.cc (locale::_S_initialize): Re-apply workaround a
2251 confusion of the use of the gthr API when __gthread_active_p()
2254 2003-10-17 Benjamin Kosnik <bkoz@redhat.com>
2256 * src/Makefile.am: Add new files.
2257 * src/Makefile.in: Regenerate.
2258 * src/globals.cc: Split into..
2259 * src/globals_io.cc: New.
2260 * src/globals_locale.cc: New.
2261 * src/ios.cc: Split into...
2262 * src/ios_init.cc: New.
2263 * src/ios_locale.cc: New.
2264 * src/locale-inst.cc: Split into..
2265 * src/wlocale-inst.cc: New.
2266 * src/locale-misc-inst.cc: New.
2267 * src/locale.cc, src/localename: Split into...
2268 * src/locale_facets.cc: New.
2269 * src/locale_init.cc: New.
2270 * src/wstring-inst.cc: Add copyright info.
2272 2003-10-16 Petur Runolfsson <peturr02@ru.is>
2277 * config/io/basic_file_stdio.cc (__basic_file::seekoff):
2278 Change return value from streampos to streamoff.
2279 (__basic_file::seekpos): Delete.
2280 * config/io/basic_file_stdio.h: Same.
2281 * config/io/c_io_stdio.h: Remove streamoff and wstreamsize typedefs.
2282 * include/Makefile.am (bits_headers): Add bits/postypes.h.
2283 * include/bits/char_traits.h: Include bits/postypes.h instead of
2285 * include/bits/fstream.tcc (basic_filebuf::open,
2286 basic_filebuf::pbackfail): Don't use < or >= to compare pos_type
2287 values, use == and != instead.
2288 (basic_filebuf::_M_seek): Use explicit conversion from streamoff
2290 (basic_filebuf::imbue): Don't use ! on pos_type values, use
2291 == instead. Don't use __check_facet(_M_codecvt) unless is_open().
2292 * include/bits/postypes.h: New file.
2293 Add __streamoff_base_type typedef, streamsize.
2294 (streamoff, streampos, wstreampos): Define typedefs, with
2295 streamoff defined as...
2296 (streamoff): New class. Document implementation defined
2298 (fpos): New implementation. Document implementation defined
2300 * include/bits/sstream.tcc (basic_stringbuf::seekpos): Use
2301 explicit conversion from pos_type to off_type.
2302 * include/std/std_iosfwd.h: Include bits/postypes.h instead
2304 * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: New test.
2305 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: New test.
2306 * testsuite/27_io/fpos/11450.cc: New test.
2307 * testsuite/27_io/fpos/mbstate_t/12065.cc: New test.
2308 * testsuite/27_io/fpos/mbstate_t/4_neg.cc: New test.
2309 * testsuite/27_io/types/3.cc: New test.
2311 2003-10-16 Benjamin Kosnik <bkoz@redhat.com>
2313 * configure.host: Remove fpos_include_dir.
2314 * configure.ac: Remove FPOS_INC_SRCDIR.
2315 * configure: Regenerate.
2316 * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Remove FPOS_H.
2317 * aclocal.m4: Regenerate.
2318 * include/Makefile.am (host_headers): Remove fpos.h.
2319 (bits_headers): Add postypes.h.
2320 * include/Makefile.in: Regenerate.
2321 * config/os/gnu-linux/fposh: Remove.
2322 * config/os/generic/fpos.h: Remove.
2324 * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Fixup.
2325 * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Same.
2326 * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Same.
2327 * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Same.
2328 * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Same.
2329 * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Same.
2330 * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Same.
2331 * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Same.
2332 * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Same.
2333 * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Same.
2334 * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Same.
2335 * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Same.
2336 * testsuite/27_io/basic_istream/seekg/char/2.cc: Same.
2337 * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Same.
2338 * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Same.
2339 * testsuite/27_io/fpos/mbstate_t/3.cc: Same.
2340 * testsuite/27_io/objects/char/10.cc: Same.
2342 2003-10-16 Paolo Carlini <pcarlini@suse.de>
2344 * src/locale.cc (locale::locale(const char*)): ... one
2345 more comparison missed in the previous commit.
2347 2003-10-16 Benjamin Kosnik <bkoz@redhat.com>
2349 * acconfig.h: Add HAVE_DRAND48.
2350 * crossconfig.m4: Remove ISATTY.
2351 * aclocal.m4: Regenerated.
2352 * config.h.in: Regenerated.
2353 * configure: Regenerated.
2355 2003-10-16 Bernardo Innocenti <bernie@develer.com>
2357 * config/cpu/m68k/atomicity.h (__exchange_and_add): Use TAS on
2358 __mcf5400__. Don't rely on __mc68000__ to detect a bare 68000.
2359 Document SMP safeness of asm macros.
2361 2003-10-16 Paolo Carlini <pcarlini@suse.de>
2363 * src/locale.cc (locale::locale(const char*)): Tweak
2364 a couple of comparisons to use basic_string operators.
2366 2003-10-16 Paolo Carlini <pcarlini@suse.de>
2369 * config/locale/gnu/monetary_members.cc
2370 (moneypunct<wchar_t, true/false>::_M_initialize_moneypunct):
2371 Don't leak memory if new throws.
2372 * src/locale.cc (locale::locale(const char*)): In order not
2373 to leak memory in case new throws, use a basic_string type
2374 for __res too and avoid strdup.
2376 2003-10-14 Jeff Bailey <jbailey@nisa.net>
2379 * crossconfig.m4: Share the config between *-linux* and *-gnu*.
2380 * configure: Regenerate.
2382 2003-10-14 Carlo Wood <carlo@alinoe.com>
2385 * include/bits/demangle.h (session<Allocator>::
2386 decode_unqualified_name(string_type& output)): Fail on a
2387 <operator-name> when decoding <template-argument>.
2388 * testsuite/demangle/regression/cw-15.cc: New.
2390 2003-10-14 Paolo Carlini <pcarlini@unitus.it>
2393 * include/bits/stl_algo.h (unique): Fix.
2394 * testsuite/25_algorithms/unique.cc: Move to unique/1.cc.
2395 * testsuite/25_algorithms/unique/11480.cc: New, from the PR.
2396 * testsuite/25_algorithms/unique/2.cc: New.
2398 2003-10-14 Paolo Carlini <pcarlini@unitus.it>
2400 * src/localename.cc (_M_replace_categories, M_replace_facet):
2401 Const-ify a couple of variables.
2403 2003-10-14 Petur Runolfsson <peturr02@ru.is>
2404 Andreas Tobler <a.tobler@schweiz.ch>
2406 * src/locale.cc (locale::_S_initialize): Workaround a confusion
2407 of the use of the gthr API when __gthread_active_p() returns true.
2409 2003-10-12 Petur Runolfsson <peturr02@ru.is>
2410 Paolo Carlini <pcarlini@unitus.it>
2413 * src/strstream.cc (pbackfail): Fix to use to_int_type.
2414 * testsuite/backward/11460.cc: New, from the PR.
2416 2003-10-12 Paolo Carlini <pcarlini@unitus.it>
2418 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
2419 Change #ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS to a comment.
2420 * include/bits/basic_string.tcc: Likewise.
2421 * include/bits/ios_base.h: Likewise.
2422 * include/bits/istream.tcc: Likewise.
2423 * include/bits/locale_facets.tcc: Likewise.
2424 * include/bits/ostream.tcc: Likewise.
2425 * include/bits/stl_function.h: Likewise.
2426 * include/bits/stl_multiset.h: Likewise.
2427 * include/bits/stl_pair.h: Likewise.
2428 * include/bits/stl_set.h: Likewise.
2429 * include/bits/streambuf_iterator.h
2430 * include/std/std_iosfwd.h: Likewise.
2431 * include/std/std_istream.h: Likewise.
2432 * include/std/std_sstream.h: Likewise.
2433 * include/std/std_streambuf.h: Likewise.
2434 * src/ios.cc: Likewise.
2435 * include/bits/c++config:
2436 Comment out #define _GLIBCXX_RESOLVE_LIB_DEFECTS 1.
2437 * testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak a
2438 dg-error directive due to removal of a blank line.
2439 * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
2441 2003-10-12 Andreas Tobler <a.tobler@schweiz.ch>
2442 Paolo Carlini <pcarlini@unitus.it>
2444 PR libstdc++/11844/11740 (cont)
2445 * config/os/generic/ctype_inline.h (ctype<char>::is):
2446 Generically, use a bitmasksize of 15 (instead of 10);
2447 Fix the logic to actually return (M & m) != 0 as per
2450 2003-10-11 Bernardo Innocenti <bernie@develer.com>
2452 * crossconfig.m4 (*-uclinux*): New target.
2453 * configure: Regenerate.
2455 2003-10-10 Paolo Carlini <pcarlini@unitus.it>
2457 * include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT))
2458 Avoid unnecessarily calling __builtin_alloca and dealing
2459 explicitly with width() smaller than zero.
2460 (operator<<(basic_ostream&, char), operator<<(basic_ostream&,
2461 const _CharT*), operator<<(basic_ostream<_CharT, _Traits>&,
2462 const char*), operator<<(basic_ostream<char, _Traits>&,
2463 const char*), operator<<(basic_ostream, const basic_string&)):
2466 2003-10-09 Benjamin Kosnik <bkoz@redhat.com>
2468 * config/linker-map.gnu: Make more *_type_info bits visible.
2469 Move new/delete bits back into GLIBCXX space.
2471 * include/bits/locale_classes.h: Move _M_id out of line, so that
2472 locale::id::_S_highwater can be removed from the export list.
2473 * src/locale.cc (locale::id::_M_id): Define.
2475 2003-10-09 Andreas Tobler <a.tobler@schweiz.ch>
2477 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_64 for
2480 2003-10-09 Paolo Carlini <pcarlini@unitus.it>
2483 * config/os/aix/ctype_base.h: Fix 'alnum' and 'graph'
2484 to conform to the requirements of 22.2.1.
2485 * config/os/bsd/freebsd/ctype_base.h: Likewise.
2486 * config/os/djgpp/ctype_base.h: Likewise.
2487 * config/os/generic/ctype_base.h: Likewise.
2488 * config/os/gnu-linux/ctype_base.h: Likewise.
2489 * config/os/hpux/ctype_base.h: Likewise.
2490 * config/os/irix/irix6.5/ctype_base.h: Likewise.
2491 * config/os/solaris/solaris2.6/ctype_base.h: Likewise.
2492 * config/os/solaris/solaris2.7/ctype_base.h: Likewise.
2493 * testsuite/22_locale/ctype/11844.cc: New.
2495 * config/locale/generic/ctype_members.cc (do_is):
2496 Generically, use a bitmasksize of 15 (instead of 10), since
2497 we don't know the numerical encoding of the various categories
2498 in the underlying /usr/include/ctype.h.
2500 2003-10-09 Benjamin Kosnik <bkoz@redhat.com>
2502 * src/string-inst.cc: Prune.
2503 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
2504 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
2506 2003-10-09 Petur Runolfsson <peturr02@ru.is>
2508 * src/io-inst.cc: Don't include iostream.
2509 * include/bits/ios_base.h (ios_base::failure): Use string.
2510 * src/Makefile.am: Add ios_failure.cc.
2511 * src/Makefile.in: Regenerate.
2512 * src/ios.cc: Move ios_base::failure definitions to...
2513 * src/ios_failure.cc: ...here. New.
2515 2003-10-09 Petur Runolfsson <peturr02@ru.is>
2518 * include/bits/fstream.tcc (basic_filebuf::seekoff):
2519 Move code needed for both seekoff and seekpos...
2520 (basic_filebuf::_M_seek): ...here. New function.
2521 (basic_filebuf::seekpos): Don't call seekoff, call _M_seek.
2522 * include/std/std_fstream.h (basic_filebuf::_M_seek): Declare it.
2523 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: New test.
2525 * testsuite/22_locale/locale/cons/12438.cc: Increase memory limit.
2527 2003-10-08 Paolo Carlini <pcarlini@unitus.it>
2529 * include/bits/locale_facets.tcc: More minor cosmetic
2530 changes and const-ifications of some variables.
2532 2003-10-07 Paolo Carlini <pcarlini@unitus.it>
2534 * include/bits/locale_facets.tcc: Minor cosmetic changes
2535 and const-ifications of some variables.
2537 * include/bits/locale_facets.tcc
2538 (money_get::do_get(..., string_type&)): Simplify an if-else.
2540 2003-10-06 Paolo Carlini <pcarlini@unitus.it>
2543 * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is):
2544 Fix to actually return (M & m) != 0 as per 22.2.1.1.2.
2545 * config/locale/generic/ctype_members.cc: Same.
2546 * testsuite/22_locale/ctype/is/wchar_t/11740.cc: New.
2548 2003-10-06 Paolo Carlini <pcarlini@unitus.it>
2550 * include/bits/locale_facets.tcc (__pad<>::_S_pad):
2551 Improve performance-wise: avoid one traits::copy, avoid
2552 the __builtin_alloca, streamline.
2554 2003-10-05 Paolo Carlini <pcarlini@unitus.it>
2556 * include/bits/locale_facets.tcc
2557 (num_put::do_put(..., bool)): Prefer ?: to if-else.
2558 (time_get::_M_extract_name): Qualify min with std::.
2559 (__pad<>::_S_pad): Constify two variables; simplify an
2560 if-else statement factoring out some code.
2562 * include/bits/locale_facets.tcc: Minor cosmetic changes.
2564 2003-10-04 Paolo Carlini <pcarlini@unitus.it>
2566 * include/bits/locale_facets.tcc (num_get::_M_extract_float):
2567 Constify a couple of variables.
2568 (num_get::do_get(..., bool&)): Constify __c; prefer *__beg,
2569 ++__beg to *__beg++.
2571 2003-10-04 Paolo Carlini <pcarlini@unitus.it>
2572 Petur Runolfsson <peturr02@ru.is>
2574 * include/ext/stdio_sync_filebuf.h: Don't include the whole
2575 <fstream>, only <streambuf> and <cstdio>.
2577 2003-10-04 Paolo Carlini <pcarlini@unitus.it>
2580 * include/bits/fstream.tcc (imbue): In case a codecvt facet
2581 is not available, set _M_codecvt = 0.
2582 * testsuite/27_io/basic_filebuf/imbue/12206.cc: New.
2584 2003-10-02 Harald Boehme <boehme@informatik.hu-berlin.de>
2587 * libsupc++/cxxabi.h: Move forward declaration of __class_type_info.
2589 2003-10-02 Benjamin Kosnik <bkoz@redhat.com>
2591 * include/bits/locale_classes.h (locale::facet::_S_get_c_name): Add.
2592 * src/locale.cc: Define.
2593 * src/localename.cc: Use it.
2594 * config/locale/generic/time_members.h: Same.
2595 * config/locale/gnu/messages_members.h: Same.
2596 * config/locale/gnu/time_members.h: Same.
2598 2003-10-02 Paolo Carlini <pcarlini@unitus.it>
2601 * include/bits/fstream.tcc (seekoff): Ignore the openmode
2603 * config/io/basic_file_stdio.h (__basic_file<char>::seekoff,
2604 seekpos): Remove the openmode argument.
2605 * config/io/basic_file_stdio.cc (__basic_file<char>::seekoff,
2606 seekpos): Remove redundant placeholder for the openmode argument.
2607 * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: New.
2608 * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Tweak.
2609 * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
2610 * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
2611 * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
2613 2003-10-02 Benjamin Kosnik <bkoz@redhat.com>
2615 * src/locale.cc (locale::_S_initialize): Use __gthread_active_p.
2616 (locale::facet::_S_get_c_locale): Same.
2618 2003-10-02 Benjamin Kosnik <bkoz@redhat.com>
2620 * config/linker-map.gnu: Export _S_get_c_locale instead of
2623 2003-10-02 Petur Runolfsson <peturr02@ru.is>
2625 * config/locale/generic/c_locale.cc
2626 (category_names, locale::_S_categories): Const qualify.
2627 * config/locale/gnu/c_locale.cc: Same.
2628 * config/locale/generic/time_members.h (__timepunct::__timepunct):
2629 Copy string contents before assigning to _M_name_timepunct,
2630 qualify strcpy and strlen with std::.
2631 * config/locale/gnu/time_members.h: Same.
2632 * config/locale/gnu/messages_members.h (messages::messages):
2633 Copy string contents before assigning to _M_name_messages,
2634 qualify strcpy and strlen with std::.
2635 * config/os/gnu-linux/ctype_noninline.h
2636 (ctype<char>::classic_table()): Don't call locale::classic().
2637 * include/bits/locale_classes.h
2638 (locale::_S_categories): Const qualify.
2639 (locale::_S_once, locale::_S_initialize_once,
2640 locale::facet::_S_once, locale::facet::_S_initialize_once,
2641 locale::facet::_S_get_c_locale): Declare.
2642 (locale::_S_initialize): Don't define.
2643 (locale::facet::_S_c_locale): Make private.
2644 (locale::facet::_S_c_name): Same, const qualify.
2645 (locale::_Impl::_Impl(facet**, size_t, bool)): Drop unused
2646 parameters, add throw() specifier.
2647 * include/bits/locale_facets.h (__timepunct::_M_name_timepunct,
2648 messages::_M_name_messages): Const qualify.
2650 (locale::_S_once, locale::facet::_S_once): Define.
2651 (locale::classic): Move initialization code...
2652 (locale::_S_initialize_once): ...here.
2653 (locale::_S_initialize): Call _S_initialize_once through
2655 (locale::facet::_S_initialize_once): Initialize _S_c_locale.
2656 (locale::facet::_S_get_c_locale): Call _S_initialize_once through
2657 __gthread_once before returning _S_c_locale.
2658 * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool)):
2659 Drop unused parameters, add throw() specifier, don't initialize
2660 locale::facet::_S_c_locale and _S_c_name.
2662 * config/locale/generic/messages_members.h:
2663 Replace _S_c_locale with _S_get_c_locale().
2664 * config/locale/gnu/c_locale.cc: Same.
2665 * config/locale/gnu/messages_members.h: Same.
2666 * config/locale/gnu/numeric_members.cc: Same.
2667 * config/locale/gnu/time_members.cc: Same.
2668 * config/os/gnu-linux/ctype_noninline.h: Same.
2669 * include/bits/locale_facets.h: Same.
2670 * include/bits/locale_facets.tcc: Same.
2671 * src/codecvt.cc: Same.
2672 * src/ctype.cc: Same.
2674 2003-10-02 Carlo Wood <carlo@alinoe.com>
2676 * include/bits/demangle.h (demangle<Allocator>::symbol(char const*)):
2677 Decode symbols that start with _GLOBAL_[ID]_ differently: the
2678 trailing part ends with a terminating zero and is not necessarily an
2680 * src/demangle.cc (): Same.
2681 * testsuite/demangle/regression/cw-13.cc: Adjust for new output.
2683 2003-10-02 Paolo Carlini <pcarlini@unitus.it>
2685 * testsuite/22_locale/locale/cons/12438.cc: Use
2686 __gnu_test::try_named_locale("").
2688 2003-10-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2690 * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0): Define.
2691 (GLIBCXX_CHECK_STDLIB_SUPPORT): Use it to test for lrand48
2693 * acconfig.h (HAVE_DRAND48): Renamed to HAVE_LRAND48.
2694 * crossconfig.m4 (*-freebsd*): Define HAVE_LRAND48 instead of
2696 * config.h.in, configure: Regenerate.
2697 * include/bits/stl_algo.h: Use _GLIBCXX_HAVE_LRAND48 to guard
2700 2003-10-01 Nathan Myers <ncm@cantrip.org>
2702 * include/bits/locale_facets.tcc (time_put::put): Avoid
2703 expensive *__s++, in favor of *__s, ++__s.
2705 2003-10-01 Paolo Carlini <pcarlini@unitus.it>
2707 * include/bits/locale_facets.tcc (time_put::put): Minor
2708 tweak to the previous commit.
2710 2003-10-01 Paolo Carlini <pcarlini@unitus.it>
2713 * include/bits/locale_facets.tcc (time_put::put): Deal
2714 with the three issues pointed out by the PR.
2715 * testsuite/22_locale/time_put/put/char/12439_1.cc: New.
2716 * testsuite/22_locale/time_put/put/char/12439_3.cc: New.
2717 * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: New.
2718 * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: New.
2719 * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: New.
2721 2003-09-30 Paolo Carlini <pcarlini@unitus.it>
2723 * include/bits/stl_algo.h: Minor cosmetic reformattings.
2725 2003-09-30 Paolo Carlini <pcarlini@unitus.it>
2727 * include/bits/stl_algo.h (search_n): Tweak, to spare the
2730 2003-09-30 Paolo Carlini <pcarlini@unitus.it>
2732 * testsuite/22_locale/locale/cons/12352.cc: Explicitly
2733 qualify exception name.
2735 2003-09-30 Paolo Carlini <pcarlini@unitus.it>
2738 * include/bits/locale_facets.tcc (locale::combine): Don't
2739 leak memory if _M_replace_facet throws.
2740 * testsuite/22_locale/locale/cons/12438.cc: New, from the PR.
2742 * include/bits/locale_classes.h (locale::locale(const locale&,
2743 _Facet*)): Tweak, use consistently _M_remove_reference.
2745 2003-09-30 Paolo Carlini <pcarlini@unitus.it>
2747 PR libstdc++/12352 (cont)
2748 * src/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
2749 Don't leak __cloc; don't leak if any of the _M_init_facet(...)
2751 (locale::_Impl::_Impl(const _Impl&, size_t)): Tweak.
2752 (locale::_Impl::~_Impl): Don't do anything if !_M_facets,
2753 !_M_caches, !_M_names.
2755 2003-09-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2757 * configure.host: Handle Solaris 2.5 micro releases explicitly.
2758 Remove wildcards from Solaris 2.6, 7-9: there were no
2760 Treat Solaris 10 and up like 7-9.
2762 2003-09-29 Paolo Carlini <pcarlini@unitus.it>
2764 * include/bits/stl_algo.h (search_n): Improve the previous
2765 fix as suggested by Martin.
2767 2003-09-29 Paolo Carlini <pcarlini@unitus.it>
2770 * include/bits/istream.tcc (peek): Set eofbit if sgetc
2772 * testsuite/27_io/basic_istream/peek/char/12296.cc:
2775 2003-09-29 Nathan Myers <ncm@cantrip.org>
2776 Paolo Carlini <pcarlini@unitus.it>
2779 * include/bits/stl_algo.h (search_n):
2780 Use iterator_traits<>::difference_type for __n.
2781 * testsuite/25_algorithms/search_n/11400.cc: New, from the PR.
2783 2003-09-29 Paolo Carlini <pcarlini@unitus.it>
2785 * testsuite/22_locale/locale/cons/12352.cc:
2786 Use __attribute__((unused)) for test.
2788 2003-09-26 Ulrich Weigand <uweigand@de.ibm.com>
2790 * testsuite/22_locale/time_put/put/char/2.cc (test_02): Allow either
2791 "Son" or "So" as abbreviated name for Sunday in de_DE locale.
2792 * testsuite/22_locale/time_put/put/wchar_t/2.cc (test_02): Likewise.
2794 2003-09-26 Brad Spencer <spencer@infointeractive.com>
2796 * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc:
2797 Explicitly qualify exceptions.
2798 * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Same.
2799 * testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.
2800 * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
2801 * testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.
2803 2003-09-25 Paolo Carlini <pcarlini@unitus.it>
2806 * src/localename.cc (locale::_Impl::_Impl(const _Impl&,
2807 size_t)): Don't leak if memory allocations for _M_facets,
2808 _M_caches, and _M_names fail.
2809 (locale::_Impl::_Impl(const char*, size_t)): Ditto.
2810 (locale::_Impl::_M_replace_categories(const _Impl*,
2812 (locale::_Impl::_M_install_facet(const locale::id*,
2813 const facet*)): Ditto.
2814 * include/bits/locale_classes.h (locale::locale(const locale&,
2815 _Facet*)): Don't leak memory.
2816 * testsuite/22_locale/locale/cons/12352.cc: New, from the PR.
2818 * src/localename.cc (locale::_Impl::_Impl(facet**, size_t,
2819 bool)): Qualify with std:: strcpy, tweak.
2820 * include/bits/locale_classes.h
2821 (locale::_Impl::_M_check_same_name): Qualify strcmp.
2823 2003-09-25 Brad Spencer <spencer@infointeractive.com>
2826 * acinclude.m4: Split out checks for vfwscanf, vswscanf, vwscanf,
2828 * aclocal.m4: Regenerate.
2829 * config.h.in: Regenerate.
2830 * configure: Regenerate.
2831 * crossconfig.m4: Add in wchar_t bits for solaris crosses.
2832 * config/io/basic_file_stdio.cc: Guard unistd.h.
2833 * include/c_compatibility/wchar.h: Guard extra wchar_t functionality.
2834 * include/c_std/std_cwchar.h: Same.
2835 * include/c_std/std_cwctype.h: Same.
2837 2003-09-25 Benjamin Kosnik <bkoz@redhat.com>
2840 * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is): Fix.
2841 * config/locale/generic/ctype_members.cc: Same.
2842 * testsuite/22_locale/ctype/is/char/1.cc: Initialize mask.
2843 * testsuite/22_locale/ctype/is/wchar_t/1.cc: Same.
2845 * config/os/generic/ctype_inline.h: Update.
2847 2003-09-25 Ulrich Weigand <uweigand@de.ibm.com>
2849 * src/Makefile.am (version_dep): New variable.
2850 (libstdc___la_DEPENDENCIES): Use it to add dependency on
2851 libstdc++-symbol.ver only when using symbol versioning.
2852 * src/Makefile.in: Regenerate.
2854 2003-09-23 Benjamin Kosnik <bkoz@redhat.com>
2856 * include/bits/locale_facets.tcc: Tweak to avoid warnings.
2857 * testsuite/testsuite_hooks.h: Same.
2858 * testsuite/*/*.cc: Same.
2860 2003-09-22 Petur Runolfsson <peturr02@ru.is>
2862 * include/bits/istream.tcc (basic_istream::read,
2863 basic_istream::readsome, basic_istream::putback,
2864 basic_istream::unget, operator>>(basic_istream, CharT)):
2865 Avoid redundant setstate(failbit) calls when sentry::operator bool()
2868 2003-09-22 Carlo Wood <carlo@alinoe.com>
2871 * include/bits/demangle.h (qualifier(int, cv_qualifier_nt,
2872 char const*, int, int)): Remove unused identifier
2873 cv_qualifier for overloaded constructor.
2875 2003-09-18 Benjamin Kosnik <bkoz@redhat.com>
2878 * acinclude.m4 (GLIBCXX_EXPORT_FLAGS): Add -Wcast-qual to
2879 WARN_FLAGS, remove -Wno-format.
2880 * aclocal.m4: Regenerate.
2881 * configure: Regenerate.
2883 2003-09-18 Petur Runolfsson <peturr02@ru.is>
2885 * config/io/basic_file_stdio.cc (sys_getc, sys_ungetc): Delete.
2886 * config/io/basic_file_stdio.h: Same.
2887 * include/std/std_fstream.h (__ctype_type): Delete.
2888 * include/std/std_streambuf.h (__ctype_type, __state_type): Delete.
2890 2003-09-17 Benjamin Kosnik <bkoz@redhat.com>
2893 * configure.host (abi_baseline_pair): Error out on solaris2
2894 configurations without a minor version number.
2896 2003-09-13 Phil Edwards <phil@codesourcery.com>
2898 * docs/doxygen/run_doxygen: Clear GENERATE_TAGFILE entirely
2899 if man pages are on.
2900 * docs/doxygen/user.cfg.in: And here.
2902 2003-09-10 Daniel Jacobowitz <drow@mvista.com>
2903 Andreas Jaeger <aj@suse.de>
2906 * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Don't build
2907 abi_check if cross compiling.
2908 * aclocal.m4: Regenerated.
2909 * configure: Regenerated.
2911 2003-09-10 Jeffrey D. Oldham <oldham@codesourcery.com>
2913 * libsupc++/vec.cc (__cxa_vec_new2): If the allocator returns
2914 NULL, return NULL. This reflects a C++ ABI change 2003 Sep 05.
2915 (__cxa_vec_new3): Likewise.
2917 2003-09-10 Petur Runolfsson <peturr02@ru.is>
2919 * include/bits/fstream.tcc (basic_filebuf::seekoff):
2920 Use codecvt::length to handle variable-width stateless encodings
2922 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: New test.
2923 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: New test.
2925 2003-09-10 Alan Modra <amodra@bigpond.net.au>
2927 * config/io/basic_file_stdio.cc (_M_open_mode): Assign __p_mode
2930 2003-09-09 Alan Modra <amodra@bigpond.net.au>
2932 * configure: Regenerate.
2934 2003-09-09 David Edelsohn <edelsohn@gnu.org>
2936 * src/ios.cc (ios_base::Init::Init): Remove unnecessary
2937 qualifier from _S_synced_with_stdio.
2939 2003-09-09 Bernardo Innocenti <bernie@develer.com>
2941 * include/c_std/std_cstdlib.h: Avoid using missing C library symbols.
2943 2003-09-04 Petur Runolfsson <peturr02@ru.is>
2946 * include/bits/fstream.tcc
2947 (basic_filebuf::_M_destroy_internal_buffer): Destroy _M_ext_buf.
2948 (basic_filebuf::basic_filebuf): Initialize _M_ext_buf,
2949 _M_ext_buf_size, _M_ext_next and _M_ext_end.
2950 (basic_filebuf::underflow): Handle variable-width stateless
2951 encodings (codecvt::encoding() == 0), including UTF-8.
2952 * include/std/std_fstream.h (basic_filebuf):
2953 Declare _M_ext_buf, _M_ext_buf_size, _M_ext_next, _M_ext_end.
2954 * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: New test.
2955 * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: New test.
2956 * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: New test.
2957 * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: New test.
2958 * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: New test.
2959 * testsuite/27_io/objects/wchar_t/12.cc: New test.
2960 * testsuite/27_io/objects/wchar_t/13.cc: New test.
2962 2003-09-04 Jonathan Wakely <redi@gcc.gnu.org>
2964 * docs/html/faq/index.html: Note that a namespace alias can't be
2965 used when specialising templates in extension namespace.
2966 * docs/html/faq/index.txt: Regenerate.
2968 2003-09-03 Petur Runolfsson <peturr02@ru.is>
2971 * include/ext/stdio_sync_filebuf.h
2972 (stdio_sync_filebuf::_M_unget_buf): Declare it.
2973 (stdio_sync_filebuf::stdio_sync_filebuf): Initialize _M_unget_buf.
2974 (stdio_sync_filebuf::uflow): Store the returned character in
2976 (stdio_sync_filebuf::pbackfail): If argument is eof(), pass
2977 _M_unget_buf to syncungetc(). Set _M_unget_buf to eof().
2978 (stdio_sync_filebuf<char>::xsgetn): Store last read character in
2979 _M_unget_buf, if any, else eof().
2980 (stdio_sync_filebuf<wchar_t>::xsgetn: Store last read character in
2981 _M_unget_buf, if any, else eof().
2982 * testsuite/27_io/objects/char/12048.cc: Rename to...
2983 * testsuite/27_io/objects/char/12048-1.cc: ...this.
2984 * testsuite/27_io/objects/char/12048-2.cc: New test.
2985 * testsuite/27_io/objects/char/12048-3.cc: New test.
2986 * testsuite/27_io/objects/char/12048-4.cc: New test.
2987 * testsuite/27_io/objects/char/12048-5.cc: New test. XFAIL.
2988 * testsuite/27_io/objects/wchar_t/12048-1.cc: New test.
2989 * testsuite/27_io/objects/wchar_t/12048-2.cc: New test.
2990 * testsuite/27_io/objects/wchar_t/12048-3.cc: New test.
2991 * testsuite/27_io/objects/wchar_t/12048-4.cc: New test.
2992 * testsuite/27_io/objects/wchar_t/12048-5.cc: New test. XFAIL.
2993 * testsuite/ext/stdio_sync_filebuf_char.cc
2994 (test02, test03, test04, test05): New tests.
2995 * testsuite/ext/stdio_sync_filebuf_wchar_t.cc
2996 (test02, test03, test04, test05): New tests.
2998 2003-09-03 Petur Runolfsson <peturr02@ru.is>
3000 * docs/html/27_io/howto.html: setbuf(0, 0) has no effect on
3001 stringbuf or strstreambuf. Fix typos.
3003 2003-09-02 Phil Edwards <phil@codesourcery.com>
3005 * acinclude.m4 (GLIBCXX_ENABLE_HOSTED): #define _GLIBCXX_HOSTED
3007 * config.h.in: Add _GLIBCXX_HOSTED.
3008 * libsupc++/eh_term_handler.cc: Test it here; initialize
3009 __terminate_handler to std::abort if freestanding.
3010 * aclocal.m4, configure: Regenerated.
3011 * docs/html/configopts.html: Document --disable-hosted-libstdcxx.
3013 2003-08-29 Nathan Myers <ncm@cantrip.org>
3016 * include/bits/locale_facets.tcc (__pad): delete dead code.
3018 2003-08-28 Alan Modra <amodra@bigpond.net.au>
3020 * configure.ac: Test $with_cross_host against $build_alias, not $build.
3021 * configure: Regenerate.
3023 2003-08-27 Petur Runolfsson <peturr02@ru.is>
3025 * testsuite/27_io/objects/wchar_t/10.cc: Move wcout stuff...
3026 * testsuite/27_io/objects/wchar_t/11.cc: ...here. New file.
3028 2003-08-27 Phil Edwards <pme@gcc.gnu.org>
3030 * Makefile.am: Remove trailing whitespace. Remove needless
3031 "foo = @foo@" assignments. Replace direct uses of @foo@ with $(foo).
3032 * include/Makefile.am: Likewise.
3033 * libmath/Makefile.am: Likewise.
3034 * libsupc++/Makefile.am: Likewise.
3035 * po/Makefile.am: Likewise.
3036 * src/Makefile.am: Likewise.
3037 * testsuite/Makefile.am: Likewise.
3039 * Makefile.in, include/Makefile.in, libmath/Makefile.in,
3040 libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
3041 testsuite/Makefile.in: Regenerated.
3043 2003-08-27 Phil Edwards <pme@gcc.gnu.org>
3045 * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Change quoting of
3047 * aclocal.m4, configure: Regenerate.
3049 2003-08-27 Daniel Jacobowitz <drow@mvista.com>
3051 * acinclude.m4: Include no-executables.m4.
3052 * configure.ac: Uncomment GCC_NO_EXECUTABLES.
3053 * aclocal.m4: Regenerated.
3054 * configure: Regenerated.
3056 2003-08-27 Daniel Jacobowitz <drow@mvista.com>
3058 * acinclude.m4: Don't call AC_ISC_POSIX.
3059 * aclocal.m4: Regenerated.
3060 * configure: Regenerated.
3062 2003-08-27 Phil Edwards <pme@gcc.gnu.org>
3064 * acinclude.m4 (GLIBCXX_CONDITIONAL): New macro. Wrap
3065 AM_CONDITIONAL. Replace all calls to AM_CONDITIONAL with this one.
3066 (GLIBCXX_ENABLE_HOSTED): New macro, sets new variable is_hosted,
3067 used elsewhere in this file.
3068 (GLIBCXX_EVALUATE_CONDITIONALS): New macro...
3069 * configure.ac: ...called here to expand all conditionals.
3070 * Makefile.am: Conditionalize SUBDIRS on GLIBCXX_HOSTED.
3071 * include/Makefile.am: Remove redundant gxx_include_dir assignment.
3072 (install-freestanding-headers): New target, a subset of
3073 install-headers. Conditionalize install-data-local on GLIBCXX_HOSTED.
3075 * aclocal.m4, configure, Makefile.in, include/Makefile.in,
3076 libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
3077 src/Makefile.in, testsuite/Makefile.in: Regenerated.
3079 2003-08-26 Phil Edwards <pme@gcc.gnu.org>
3081 * docs/doxygen/run_doxygen: Shell fixes. Remove hardcoded local
3082 pathnames from generated tag file.
3084 2003-08-26 Phil Edwards <pme@gcc.gnu.org>
3086 * Makefile.am: Add comment.
3087 * acinclude.m4 (GLIBCXX_CONFIGURE): Set new glibcxx_SUBDIRS and
3089 * configure.ac: Use them both here, instead of hardcoded lists.
3091 * fragment.am: Add STAMP varaible.
3092 * include/Makefile.am: Cosmetic whitespace cleanup. Use $(LN_S)
3094 (stamp-*): Move file creation rule outside of 'if' branches to
3095 ensure the stamp-* files are actually updated. Use $(STAMP).
3096 * src/Makefile.am: Remove now-nonexistant variable.
3097 * libsupc++/Makefile.am: Likewise. Snap the assignment chain
3099 * po/Makefile.am: Include same fragment as all the others.
3101 * aclocal.m4, configure, Makefile.in, include/Makefile.in,
3102 libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in: Regenerated.
3104 2003-08-26 Loren J. Rittle <ljrittle@acm.org>
3106 * testsuite/data/cin_unget-1.txt: New.
3107 * testsuite/27_io/objects/char/12048.cc: New.
3109 2003-08-25 Zack Weinberg <zack@codesourcery.com>
3111 * config/os/hpux/os_defines.h: Unconditionally define
3112 _GLIBCXX_GTHREAD_USE_WEAK to 0.
3114 2003-08-19 Geoffrey Keating <geoffk@apple.com>
3116 * crossconfig.m4 (*-darwin*): Add a large and boring stanza for
3117 crosses to Darwin targets.
3118 * configure: Regenerate.
3120 2003-08-19 Petur Runolfsson <peturr02@ru.is>
3122 * include/ext/ropeimpl.h: #include <ostream> instead of <iostream>
3124 2003-08-17 Phil Edwards <pme@gcc.gnu.org>
3126 * configure.ac: GCC_NO_EXECUTABLES was supposed to be commented
3127 in the patch from 3 minutes ago. Boy, is my face red.
3128 * configure: At least I remembered to regenerate this.
3130 2003-08-17 Phil Edwards <pme@gcc.gnu.org>
3132 * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Remove LIBMATH_INCLUDES
3133 and LIBSUPCXX_INCLUDES. Re-purpose TOPLEVEL_INCLUDES to refer to
3134 things from the top level.
3135 * configure.ac (GLIBCXX_IS_NATIVE): Determine earlier and re-order.
3136 Comment out the conditionals for CANADIAN and GLIBCXX_BUILD_LIBMATH
3137 (currently unused). Strip the fake-VPATH shell fragment from
3138 automake-generated rules, if present.
3139 * linkage.m4: Add comment.
3141 * fragment.am: New file, containing factored-out common settings.
3142 (AM_CPPFLAGS): Absorb the deprecated INCLUDES variable contents.
3143 * Makefile.am: Include fragment.am. Remove common variables.
3144 * include/Makefile.am: Likewise.
3145 * libmath/Makefile.am: Likewise.
3146 * libsupc++/Makefile.am: Likewise.
3147 * po/Makefile.am: Likewise. Print rules during check.
3148 * src/Makefile.am: Likewise.
3149 * testsuite/Makefile.am: Likewise.
3151 * aclocal.m4, configure, Makefile.in, include/Makefile.in,
3152 libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
3153 src/Makefile.in, testsuite/Makefile.in: Regenerate.
3155 2003-08-11 John Levon <levon@movementarian.org>
3157 * docs/html/ext/howto/guide.html (GLIBCXX_FORCE_NEW): Update
3158 remaining places for the name change from GLIBCPP_FORCE_NEW
3159 to GLIBCXX_FORCE_NEW
3161 2003-08-11 Benjamin Kosnik <bkoz@redhat.com>
3163 * include/bits/basic_ios.h: Remove *_iter typedefs, change num*
3165 * include/bits/basic_ios.tcc: Same.
3166 * include/bits/istream.tcc: Same.
3167 * include/bits/locale_facets.h: Same.
3168 * include/bits/ostream.tcc: Same.
3169 * include/std/std_istream.h: Same.
3170 * include/std/std_ostream.h: Same.
3171 * testsuite/26_numerics/complex_inserters_extractors.cc: Fix.
3173 * include/ext/rope: Remove build warning.
3175 2003-08-11 Andreas Jaeger <aj@suse.de>
3177 * include/Makefile.am (stamp-c_base): Add dependency on stamp-bits
3179 * include/Makefile.in: Regenerated.
3181 2003-08-11 Phil Edwards <pme@gcc.gnu.org>
3183 * acinclude.m4 (GLIBCXX_CONFIGURE): Unprecious CC and CFLAGS
3184 when calling AC_PROG_CC.
3185 * aclocal.m4, configure: Regenerate.
3187 2003-08-11 Phil Edwards <pme@gcc.gnu.org>
3189 * acinclude.m4: Properly quote variable which will be expanded
3190 inside makefiles. Use CXX instead of CC to extract compiler info.
3191 * configure.ac (AC_INIT): Use the new 4-arg form to finally get the
3192 correct form in PACKAGE.
3193 * aclocal.m4, configure: Regenerate.
3195 2003-08-08 Benjamin Kosnik <bkoz@redhat.com>
3197 * testsuite/Makefile.am (check-abi): Change libstdc++-v3 to libstdc++.
3198 (check-abi-verbose): Same.
3199 * testsuite/testsuite_performance.h (report_performance): Same.
3201 2003-08-08 Loren J. Rittle <ljrittle@acm.org>
3203 * testsuite/testsuite_performance.h (__FreeBSD__): Add fake mallinfo.
3205 2003-08-07 Doug Gregor <dgregor@apple.com>
3207 * include/bits/char_traits.h (char_traits::not_eof): Match operand
3210 2003-08-07 Bernardo Innocenti <bernie@develer.com>
3213 * libstdc++-v3/config/cpu/m68k/atomicity.h (__exchange_and_add):
3214 Replace variants with new BSET-based version.
3216 2003-08-07 Carlo Wood <carlo@alinoe.com>
3218 * include/bits/demangle.h: Do not use cctype functions that depend
3221 2003-08-05 Phil Edwards <pme@gcc.gnu.org>
3223 * configure.in: Rename...
3224 * configure.ac: ...to this.
3225 * docs/html/17_intro/porting.texi: Update name.
3227 * docs/html/17_intro/porting.html: Regenerate.
3228 * config.h.in, Makefile.in, include/Makefile.in, libmath/Makefile.in,
3229 libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
3230 testsuite/Makefile.in: Regenerate (picks up new dependancy).
3232 2003-08-05 Phil Edwards <pme@gcc.gnu.org>
3234 * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Put down the crack
3235 pipe, open the window to let out the fumes, redo the option-handling
3236 logic to properly execute the detection test.
3237 * aclocal.m4, configure: Regenerate.
3239 2003-08-04 Phil Edwards <pme@gcc.gnu.org>
3241 Convert to new autotools.
3242 * acconfig.h: Update with correct names.
3243 * configure.host (ATOMICITYH): Rename to atomicity_include_dir.
3244 (qnx6.[12]*): 'q' comes before 's', not after 'w'.
3245 * configure.in: Update. Split hardcoded cross-configury settings
3247 * crossconfig.m4: ...here. New file. Contents untouched.
3248 * acinclude.m4: Reorganize and rewrite as needed. Split large
3250 * linkage.m4: ...here. New file. Math and stdlib linkage tests.
3252 * scripts/testsuite_flags.in: Update.
3254 * Makefile.am: Remove unneeded AUTOMAKE_OPTIONS settings and other
3255 variables (already generated by automake).
3256 * include/Makefile.am: Ditto.
3257 * libmath/Makefile.am: Ditto.
3258 * libsupc++/Makefile.am: Ditto.
3259 * po/Makefile.am: Ditto.
3260 * src/Makefile.am: Ditto.
3262 * aclocal.m4: Regenerate using new versions.
3263 * config.h.in: Ditto.
3265 * Makefile.in: Ditto.
3266 * include/Makefile.in: Ditto.
3267 * libmath/Makefile.in: Ditto.
3268 * libsupc++/Makefile.in: Ditto.
3269 * po/Makefile.in: Ditto.
3270 * src/Makefile.in: Ditto.
3271 * testsuite/Makefile.in: Ditto.
3273 2003-08-04 Phil Edwards <pme@gcc.gnu.org>
3275 * po/libstdc++.pot: Re-extract/regenerate.
3277 2003-08-04 Phil Edwards <pme@gcc.gnu.org>
3279 * testsuite/Makefile.am (DEJATOOL,EXPECT,RUNTEST,RUNTESTFLAGS):
3280 Remove unneeded variable assignments. Leave them for automake.
3281 * testsuite/lib/libstdc++-v3.exp: Rename...
3282 * testsuite/lib/libstdc++.exp: ...to this. Adjust function names
3284 * testsuite/libstdc++-v3.dg/dg.exp: Rename...
3285 * testsuite/libstdc++-dg/normal.exp: ...to this. Adjust function
3288 2003-08-04 Phil Edwards <pme@gcc.gnu.org>
3290 * docs/doxygen/guide.html: run_doxygen uses bash.
3291 * docs/doxygen/mainpage.html: We'll be shipping tag files.
3292 * docs/doxygen/run_doxygen: Tweaks and improvements.
3293 * docs/doxygen/user.cfg.in: Set GENERATE_TAGFILE.
3294 * docs/html/install.html: Update autoconf/automake requirements.
3295 * docs/html/test.html: Add section describing DejaGNU support.
3296 * docs/html/17_intro/confdeps.dot: New file, generates...
3297 * docs/html/17_intro/confdeps.png: ...this new file.
3298 * docs/html/Makefile: Generated here.
3299 * docs/html/17_intro/configury.html: New file.
3301 2003-07-31 Phil Edwards <pme@gcc.gnu.org>
3303 * testsuite/lib/libstdc++-v3-dg.exp: Rename...
3304 * testsuite/lib/libstdc++-v3.exp: ...to this.
3305 * testsuite/libstdc++-v3.dg/dg.exp: No special case needed now.
3307 2003-07-31 Doug Gregor <dgregor@apple.com>
3309 Add user specialization tests.
3310 * testsuite/23_containers/deque/1.cc: New.
3311 * testsuite/23_containers/list/1.cc: New.
3312 * testsuite/23_containers/map/1.cc: New.
3313 * testsuite/23_containers/multimap/1.cc: New.
3314 * testsuite/23_containers/multiset/1.cc: New.
3315 * testsuite/23_containers/set/1.cc: New.
3316 * testsuite/23_containers/vector/1.cc: New.
3318 2003-07-31 Benjamin Kosnik <bkoz@redhat.com>
3320 Reshuffle 23_containers testsuite.
3321 * 23_containers/adaptors.cc, bitset_ctor.cc,bitset_members.cc,
3322 bitset_shift.cc, deque_ctor.cc, deque_operators.cc,
3323 list_capacity.cc, list_ctor.cc, list_modifiers.cc, list_operators.cc,
3324 map_insert.cc, map_operators.cc, map_operators_neg.cc, multiset.cc,
3325 set_operators_neg.cc, vector_bool.cc, vector_capacity.cc,
3326 vector_ctor.cc, vector_element_access.cc, vector_modifiers.cc,
3327 vector_resize.cc: Split into...
3328 * 23_containers/bitset/cons/1.cc: New.
3329 * 23_containers/bitset/cons/6282.cc: New.
3330 * 23_containers/bitset/count/6124.cc: New.
3331 * 23_containers/bitset/operations/1.cc: New.
3332 * 23_containers/bitset/operations/2.cc: New.
3333 * 23_containers/bitset/test/1.cc: New.
3334 * 23_containers/bitset/to_ulong/1.cc: New.
3335 * 23_containers/deque/cons/1.cc: New.
3336 * 23_containers/deque/cons/2.cc: New.
3337 * 23_containers/deque/operators/1.cc: New.
3338 * 23_containers/list/capacity/1.cc: New.
3339 * 23_containers/list/cons/1.cc: New.
3340 * 23_containers/list/cons/2.cc: New.
3341 * 23_containers/list/cons/3.cc: New.
3342 * 23_containers/list/cons/4.cc: New.
3343 * 23_containers/list/cons/5.cc: New.
3344 * 23_containers/list/cons/6.cc: New.
3345 * 23_containers/list/cons/7.cc: New.
3346 * 23_containers/list/cons/8.cc: New.
3347 * 23_containers/list/cons/9.cc: New.
3348 * 23_containers/list/modifiers/1.cc: New.
3349 * 23_containers/list/modifiers/2.cc: New.
3350 * 23_containers/list/modifiers/3.cc: New.
3351 * 23_containers/list/operators/1.cc: New.
3352 * 23_containers/list/operators/2.cc: New.
3353 * 23_containers/list/operators/3.cc: New.
3354 * 23_containers/list/operators/4.cc: New.
3355 * 23_containers/map/insert/1.cc: New.
3356 * 23_containers/map/operators/1.cc: New.
3357 * 23_containers/map/operators/1_neg.cc: New.
3358 * 23_containers/multiset/insert/1.cc: New.
3359 * 23_containers/priority_queue/members/7161.cc: New.
3360 * 23_containers/queue/members/7157.cc: New.
3361 * 23_containers/set/operators/1_neg.cc: New.
3362 * 23_containers/stack/members/7158.cc: New.
3363 * 23_containers/vector/bool/1.cc: New.
3364 * 23_containers/vector/bool/6886.cc: New.
3365 * 23_containers/vector/capacity/1.cc: New.
3366 * 23_containers/vector/capacity/2.cc: New.
3367 * 23_containers/vector/capacity/8230.cc: New.
3368 * 23_containers/vector/cons/1.cc: New.
3369 * 23_containers/vector/cons/2.cc: New.
3370 * 23_containers/vector/cons/3.cc: New.
3371 * 23_containers/vector/cons/4.cc: New.
3372 * 23_containers/vector/cons/6513.cc: New.
3373 * 23_containers/vector/element_access/1.cc: New.
3374 * 23_containers/vector/modifiers/1.cc: New.
3375 * 23_containers/vector/modifiers/2.cc: New.
3376 * 23_containers/vector/resize/1.cc: New.
3378 2003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3380 * testsuite/thread/pthread1.cc: Add alpha*-*-osf* to dg-do run,
3382 * testsuite/thread/pthread2.cc: Likewise.
3383 * testsuite/thread/pthread3.cc: Likewise.
3384 * testsuite/thread/pthread4.cc: Likewise.
3385 * testsuite/thread/pthread5.cc: Likewise.
3386 * testsuite/thread/pthread6.cc: Likewise.
3387 * testsuite/thread/pthread7-rope.cc: Likewise.
3389 2003-07-30 Phil Edwards <pme@gcc.gnu.org>
3391 * include/bits/c++config: Partial reversion (comment placement) of
3394 2003-07-30 Benjamin Kosnik <bkoz@redhat.com>
3396 * include/bits/c++config (_GLIBCXX_FULLY_COMPLIANT_HEADERS): Remove.
3397 (_GLIBCXX_NO_TEMPLATE_EXPORT): To _GLIBCXX_EXPORT_TEMPLATE.
3398 (_GLIBCXX_AT_AT): Remove.
3399 (__USE_MALLOC): Remove.
3400 * include/std/std_fstream.h: Modify.
3401 * include/bits/basic_ios.h: Same.
3402 * include/bits/valarray_array.h: Same.
3403 * include/c_std/std_cmath.h: Same.
3404 * include/c_std/cmath.tcc: Same.
3405 * include/std/std_vector.h: Same.
3406 * include/std/std_string.h: Same.
3407 * include/std/std_stack.h: Same.
3408 * include/std/std_queue.h: Same.
3409 * include/std/std_list.h: Same.
3410 * include/std/std_deque.h: Same.
3411 * include/std/std_streambuf.h: Same.
3412 * include/std/std_sstream.h: Same.
3413 * include/std/std_ostream.h: Same.
3414 * include/std/std_istream.h: Same.
3415 * include/bits/valarray_array.tcc: Same, format.
3417 * include/c/std_cctype.h: Fix include guards.
3418 * include/c/std_cerrno.h: Same.
3419 * include/c/std_cfloat.h: Same.
3420 * include/c/std_climits.h: Same.
3421 * include/c/std_clocale.h: Same.
3422 * include/c/std_cmath.h: Same.
3423 * include/c/std_csetjmp.h: Same.
3424 * include/c/std_csignal.h: Same.
3425 * include/c/std_cstdarg.h: Same.
3426 * include/c/std_cstddef.h: Same.
3427 * include/c/std_cstdio.h: Same.
3428 * include/c/std_cstdlib.h: Same.
3429 * include/c/std_cstring.h: Same.
3430 * include/c/std_ctime.h: Same.
3431 * include/c/std_cwchar.h: Same.
3432 * include/c/std_cwctype.h: Same.
3433 * include/c_std/cmath.tcc: Same.
3434 * include/c_std/std_cmath.h: Same.
3436 2003-07-30 Gawain Bolton <gp.bolton@computer.org>
3439 * include/bits/stl_tree.h: Replace C-style casts with C++-style
3440 casts. Changes to avoid casting away constness. Eliminate
3441 _Rb_tree_base_iterator class. Change _Rb_tree_iterator to use
3442 initialization lists. Move out implementation of __black_count()
3444 * src/stl_tree.cc: ...here and rename _Rb_tree_black_count().
3445 Rename_Rb_tree_base_iterator::_M_increment() to
3446 _Rb_tree_increment and _Rb_tree_base_iterator::_M_decrement() to
3448 * config/linker-map.gnu: Add and change symbols here.
3450 2003-07-30 Jonathan Wakely <redi@gcc.gnu.org>
3452 * docs/html/22_locale/howto.html: Use locale::classic() instead
3455 2003-07-28 Benjamin Kosnik <bkoz@redhat.com>
3457 * testsuite/testsuite_hooks.h: Remove list include.
3458 (func_callback): Define as unique type, not std::list.
3459 Change DEBUG_ASSERT to _GLIBCXX_ASSERT.
3460 * testsuite/libstdc++-v3.dg/dg.exp: Same.
3461 * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Same.
3462 * testsuite/23_containers/bitset_ctor.cc:
3463 * testsuite/17_intro/header_ciso646.cc: Remove DEBUG_ASSERT.
3464 * testsuite/18_support/numeric_limits.cc: Same.
3465 * testsuite/21_strings/basic_string/append/char/1.cc: Same.
3466 * testsuite/21_strings/basic_string/append/wchar_t/1.cc: Same.
3467 * testsuite/21_strings/basic_string/compare/char/1.cc: Same.
3468 * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Same.
3469 * testsuite/21_strings/basic_string/element_access/char/1.cc: Same.
3470 * testsuite/21_strings/basic_string/element_access/char/2.cc: Same.
3471 * testsuite/21_strings/basic_string/element_access/char/3.cc: Same.
3472 * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc: Same.
3473 * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc: Same.
3474 * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc: Same.
3475 * testsuite/21_strings/basic_string/find/char/1.cc: Same.
3476 * testsuite/21_strings/basic_string/find/char/2.cc: Same.
3477 * testsuite/21_strings/basic_string/find/char/3.cc: Same.
3478 * testsuite/21_strings/basic_string/find/wchar_t/1.cc: Same.
3479 * testsuite/21_strings/basic_string/find/wchar_t/2.cc: Same.
3480 * testsuite/21_strings/basic_string/find/wchar_t/3.cc: Same.
3481 * testsuite/21_strings/basic_string/insert/char/1.cc: Same.
3482 * testsuite/21_strings/basic_string/insert/char/2.cc: Same.
3483 * testsuite/21_strings/basic_string/insert/wchar_t/1.cc: Same.
3484 * testsuite/21_strings/basic_string/insert/wchar_t/2.cc: Same.
3485 * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
3486 * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
3487 * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
3488 * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
3489 * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
3490 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
3491 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
3492 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
3493 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
3494 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
3495 * testsuite/21_strings/basic_string/operators/char/1.cc: Same.
3496 * testsuite/21_strings/basic_string/operators/char/2.cc: Same.
3497 * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Same.
3498 * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Same.
3499 * testsuite/21_strings/basic_string/replace/char/1.cc: Same.
3500 * testsuite/21_strings/basic_string/replace/wchar_t/1.cc: Same.
3501 * testsuite/21_strings/basic_string/rfind/char/1.cc: Same.
3502 * testsuite/21_strings/basic_string/rfind/char/2.cc: Same.
3503 * testsuite/21_strings/basic_string/rfind/char/3.cc: Same.
3504 * testsuite/21_strings/basic_string/rfind/wchar_t/1.cc: Same.
3505 * testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: Same.
3506 * testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: Same.
3507 * testsuite/21_strings/basic_string/substr/char/1.cc: Same.
3508 * testsuite/21_strings/basic_string/substr/wchar_t/1.cc: Same.
3509 * testsuite/23_containers/bitset_ctor.cc: Same.
3510 * testsuite/23_containers/bitset_shift.cc: Same.
3511 * testsuite/23_containers/vector_ctor.cc: Same.
3512 * testsuite/23_containers/vector_element_access.cc: Same.
3513 * testsuite/24_iterators/istreambuf_iterator.cc: Same.
3514 * testsuite/24_iterators/iterator.cc: Same.
3515 * testsuite/24_iterators/ostreambuf_iterator.cc: Same.
3516 * testsuite/25_algorithms/lower_bound.cc: Same.
3517 * testsuite/26_numerics/complex_inserters_extractors.cc: Same.
3518 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: Same.
3519 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc: Same.
3520 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc: Same.
3521 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc: Same.
3522 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc: Same.
3523 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc: Same.
3524 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: Same.
3525 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: Same.
3526 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc: Same.
3527 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
3530 2003-07-28 Phil Edwards <pme@gcc.gnu.org>
3532 * docs/doxygen/user.cfg.in, docs/html/abi.txt, docs/html/debug.html,
3533 docs/html/test.html, docs/html/17_intro/headers_cc.txt,
3534 docs/html/17_intro/howto.html, docs/html/ext/howto.html: Change
3535 GLIBCPP to GLIBCXX (and explain as needed).
3537 2003-07-28 Phil Edwards <pme@gcc.gnu.org>
3541 2003-07-28 Phil Edwards <pme@gcc.gnu.org>
3543 * testsuite/22_locale/messages/members/char/1.cc,
3544 testsuite/22_locale/messages/members/char/2.cc,
3545 testsuite/22_locale/messages/members/char/3.cc,
3546 testsuite/22_locale/messages_byname/1.cc: Update comment regarding
3547 the origin of LOCALEDIR.
3548 * testsuite/lib/libstdc++-v3.exp: New file.
3550 2003-07-25 Benjamin Kosnik <bkoz@redhat.com>
3552 * include/bits/char_traits.h: Update copyright, tweak.
3553 * testsuite/ext/pod_char_traits.cc: Explicitly qualify namespace
3556 2003-07-24 Matt Austern <austern@apple.com>
3558 * /include/bits/char_traits.h (class char_traits): Put all the
3559 real work into the new class template __gnu_cxx::char_traits.
3560 Gave generic definitions for member functions. Types are taken
3561 from the new class template __gnu_cxx::_Char_types.
3562 * testsuite/21_strings/char_traits/requirements/short/1.cc: New
3563 file. Test of std::char_traits<short>, which serves as a test of
3564 the char_traits primary template.
3566 2003-07-24 Benjamin Kosnik <bkoz@redhat.com>
3568 * testsuite/*: Change __gnu_cxx_test to __gnu_test.
3570 2003-07-24 Nathan Myers <ncm-nospam@cantrip.org>
3572 * testsuite/23_containers/map_operators.cc: Conform to
3573 container requirement as value must be Assignable.
3575 2003-07-23 Alexandre Oliva <aoliva@redhat.com>
3577 * acinclude.m4 (GLIBCXX_ENABLE_PCH): Rework test such that it
3578 tests not only generation of pch files, but also their use.
3579 * aclocal.m4, configure: Rebuilt.
3581 2003-07-23 Steve Ellcey <sje@cup.hp.com>
3583 * config/cpu/hppa/atomicity.h: Change
3584 _GLIBCXX_INST_GLIBCXX_ATOMICITY_LOCK to _GLIBCXX_INST_ATOMICITY_LOCK
3585 to match misc-inst.cc
3587 2003-07-23 Steve Ellcey <sje@cup.hp.com>
3589 * include/c_std/cmath.tcc: Use _GLIBCXX_ prefix on file guard.
3590 * include/c_std/std_cctype.h: Ditto.
3591 * include/c_std/std_cerrno.h: Ditto.
3592 * include/c_std/std_cfloat.h: Ditto.
3593 * include/c_std/std_climits.h: Ditto.
3594 * include/c_std/std_clocale.h: Ditto.
3595 * include/c_std/std_cmath.h: Ditto.
3596 * include/c_std/std_csetjmp.h: Ditto.
3597 * include/c_std/std_csignal.h: Ditto.
3598 * include/c_std/std_cstdarg.h: Ditto.
3599 * include/c_std/std_cstddef.h: Ditto.
3600 * include/c_std/std_cstdio.h: Ditto.
3601 * include/c_std/std_cstdlib.h: Ditto.
3602 * include/c_std/std_cstring.h: Ditto.
3603 * include/c_std/std_ctime.h: Ditto.
3604 * include/c_std/std_cwchar.h: Ditto.
3605 * include/c_std/std_cwctype.h: Ditto.
3606 * include/std/std_algorithm.h: Ditto.
3607 * include/std/std_bitset.h: Ditto.
3608 * include/std/std_complex.h: Ditto.
3609 * include/std/std_deque.h: Ditto.
3610 * include/std/std_fstream.h: Ditto.
3611 * include/std/std_functional.h: Ditto.
3612 * include/std/std_iomanip.h: Ditto.
3613 * include/std/std_ios.h: Ditto.
3614 * include/std/std_iosfwd.h: Ditto.
3615 * include/std/std_iostream.h: Ditto.
3616 * include/std/std_istream.h: Ditto.
3617 * include/std/std_iterator.h: Ditto.
3618 * include/std/std_limits.h: Ditto.
3619 * include/std/std_list.h: Ditto.
3620 * include/std/std_locale.h: Ditto.
3621 * include/std/std_map.h: Ditto.
3622 * include/std/std_memory.h: Ditto.
3623 * include/std/std_numeric.h: Ditto.
3624 * include/std/std_ostream.h: Ditto.
3625 * include/std/std_queue.h: Ditto.
3626 * include/std/std_set.h: Ditto.
3627 * include/std/std_sstream.h: Ditto.
3628 * include/std/std_stack.h: Ditto.
3629 * include/std/std_stdexcept.h: Ditto.
3630 * include/std/std_streambuf.h: Ditto.
3631 * include/std/std_string.h: Ditto.
3632 * include/std/std_utility.h: Ditto.
3633 * include/std/std_valarray.h: Ditto.
3634 * include/std/std_vector.h: Ditto.
3636 2003-07-22 Doug Gregor <dgregor@apple.com>
3638 * include/bits/basic_string.h (basic_string::insert): Deprecate
3641 2003-07-21 Benjamin Kosnik <bkoz@redhat.com>
3643 * scripts/testsuite_flags.in (--build-includes): Remove extraneous
3645 * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc
3646 (test03): Include typeinfo for bad_cast.
3647 * testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.
3648 * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
3649 * testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.
3651 2003-07-21 Doug Gregor <dgregor@apple.com>
3653 * include/bits/boost_concept_check.h:
3654 (_EqualityComparableConcept::__constraints): Remove != from the
3655 list of constraints; it is not listed in Table 28 of the C++98
3658 2003-07-18 Andreas Jaeger <aj@suse.de>
3660 * config/abi/sparc-linux-gnu/baseline_symbols.txt: New file.
3661 * config/abi/mips-linux-gnu/baseline_symbols.txt: New file.
3662 * config/abi/hppa-linux-gnu/baseline_symbols.txt: New file.
3663 * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
3665 2003-07-17 Benjamin Kosnik <bkoz@redhat.com>
3667 * config/linker-map.gnu: Add __moneypunct_cache, __timepunct_cache.
3668 * config/locale/generic/messages_members.h: Tweaks.
3669 * config/locale/generic/monetary_members.cc
3670 (moneypunct::_M_initialize_moneypunct): Use cache.
3671 (moneypunct::~moneypunct): Delete cache.
3672 * config/locale/generic/time_members.cc:
3673 (__timepunct::_M_initialize_timepunct): Use cache.
3674 * config/locale/generic/time_members.h:
3675 (__timepunct::~__timepunct): Delete cache.
3676 (__timepunct::__timepunct): Set cache.
3677 * config/locale/gnu/messages_members.h: Tweaks.
3678 * config/locale/gnu/monetary_members.cc:
3679 (moneypunct::_M_initialize_moneypunct): Use cache.
3680 (moneypunct::~moneypunct): Delete cache.
3681 * config/locale/gnu/time_members.cc:
3682 (__timepunct::_M_initialize_timepunct): Use cache.
3683 * config/locale/gnu/time_members.h:
3684 (__timepunct::~__timepunct): Delete cache.
3685 (__timepunct::__timepunct): Set cache.
3686 * include/bits/locale_facets.h (__timepunct_cache): New.
3687 (__moneypunct_cache): New.
3688 * include/bits/locale_facets.tcc: Tweak.
3689 * src/locale.cc (__timepunct::_S_timezones): Adjust for cache.
3690 * src/locale-inst.cc: Instantiate caches.
3691 * src/globals.cc: Add "C" caches.
3692 * src/localename.cc: Use external "C" caches.
3694 2003-07-17 Phil Edwards <pme@gcc.gnu.org>
3696 * docs/doxygen/guide.html: Fix typo.
3698 2003-07-16 Benjamin Kosnik <bkoz@redhat.com>
3700 * include/ext/pod_char_traits.h: Add state template argument.
3702 2003-07-16 Benjamin Kosnik <bkoz@redhat.com>
3704 * include/bits/locale_facets.h (__num_base::_S_atoms_in): Add -+xX.
3705 (num_get::_M_convert_int): To _M_insert_int.
3706 (num_get::_M_convert_float): To _M_insert_float.
3707 * include/bits/locale_facets.tcc (num_get::_M_extract_float):
3708 Use caches for ctype, num_get.
3709 (num_get::_M_extract_int): Same.
3710 (num_get::get(bool)): Same.
3711 (__verify_grouping): Use size_t.
3712 * src/locale-inst.cc: Update.
3713 * src/locale.cc: Adjust _S_atoms_in.
3715 2003-07-16 Phil Edwards <pme@gcc.gnu.org>
3717 * docs/doxygen/mainpage.html: Move building/writing instructions...
3718 * docs/doxygen/guide.html: ...to here. New file.
3720 2003-07-16 Jonathan Wakely <redi@gcc.gnu.org>
3722 * docs/html/ext/howto.html: Update URL for SGI STL docs.
3723 * docs/html/faq/index.html: Same.
3724 * docs/html/faq/index.txt: Regenerate.
3726 2003-07-16 Paolo Carlini <pcarlini@unitus.it>
3729 * include/bits/locale_facets.tcc (money_get::do_get):
3730 Strip only _leading_ zeros.
3731 * testsuite/22_locale/money_get/get/char/11528.cc: Add.
3732 * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Add.
3734 2003-07-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3736 * include/ext/hash_map (class hash_multimap): Remove extra
3737 semicolons from __glibcxx_class_requires3 entries.
3738 * include/ext/hash_set (class hash_set): Ditto.
3739 (class hash_multiset): Ditto.
3741 2003-07-15 Petur Runolfsson <peturr02@ru.is>
3743 * include/bits/char_traits.h (char_traits<wchar_t>::move):
3744 Change last parameter from int_type to size_t.
3746 2003-07-15 Jerry Quinn <jlquinn@optonline.net>
3748 * include/bits/stl_algo.h (includes, set_union, set_intersection,
3749 set_difference, set_symmetric_difference, max_element, min_element,
3750 next_permutation, prev_permutation, find_first_of, find_end):
3752 * include/bits/stl_algobase.h (copy,copy_backward): Clarify overlap
3753 restrictions in docs.
3754 * include/bits/stl_heap.h (push_heap, pop_heap, make_heap, sort_heap):
3756 * docs/doxygen/doxygroups.cc (setoperations): New group.
3758 2003-07-15 Jerry Quinn <jlquinn@optonline.net>
3760 * include/bits/basic_string.h: Document public functions.
3761 * docs/doxygen/TODO: Update c21 todo.
3763 2003-07-15 Jerry Quinn <jlquinn@optonline.net>
3765 * include/bits/stl_list.h: Document more functions.
3766 * docs/doxygen/TODO: Update c23 todo.
3768 2003-07-14 Paolo Carlini <pcarlini@unitus.it>
3770 * config/locale/gnu/c_locale.h (__convert_from_v): One more
3773 2003-07-14 Paolo Carlini <pcarlini@unitus.it>
3775 * include/bits/stl_tempbuf.h: Qualify free with std::.
3776 * src/locale.cc: Include <cstdlib>, qualify getenv.
3778 2003-07-14 Paolo Carlini <pcarlini@unitus.it>
3780 * config/locale/gnu/c_locale.h (__convert_from_v): Include
3781 <cstdio>. Qualify names.
3782 * config/locale/generic/c_locale.h (__convert_from_v): Ditto.
3784 2003-07-14 Paolo Carlini <pcarlini@unitus.it>
3785 Nathan C. Myers <ncm-nospam@cantrip.org>
3788 * include/std/std_fstream.h (xsputn): Declare only.
3789 * include/bits/fstream.tcc (xsputn): Define, optimize for the
3790 always_noconv() case: when __n is sufficiently large flush
3791 the buffer and issue a direct write, if possible combining the
3792 two with writev in __basic_file<>::xsputn_2.
3793 * config/io/basic_file_stdio.h (__basic_file<>::xsputn_2):
3795 * config/io/basic_file_stdio.cc (__basic_file<>::xsputn_2):
3797 * acinclude.m4 (GLIBCXX_CHECK_WRITE): New macro, checking for
3798 the availability of writev in <sys/uio.h>.
3799 * configure.in: Call here.
3800 * acconfig.h: Add undef for the corresponding symbol.
3801 * aclocal.m4: Regenerate.
3802 * configure: Regenerate.
3803 * config.h.in: Regenerate.
3804 * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Tweak.
3806 * include/std/std_fstream.h (sync): Constify a variable.
3808 2003-07-14 Benjamin Kosnik <bkoz@redhat.com>
3810 * testsuite/27_io/ios_base/cons/assign_neg.cc: Fix line numbers.
3811 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
3813 2003-07-14 Gabriel Dos Reis <gcc@integrable-solutions.net>
3815 * config/locale/gnu/c_locale.h (__convert_from_v): Include
3816 <cstring> and <cstdlib>. Qualify names.
3818 2003-07-13 Mark Mitchell <mark@codesourcery.com>
3820 * config/locale/generic/c_locale.h: Include <cstdlib> and
3822 * include/bits/boost_concept_check.h: Add this-> to unqualified
3824 * include/bits/deque.tcc: Likewise.
3825 * include/bits/locale_facets.h : Likewise.
3826 * include/bits/ostream.tcc: Likewise.
3827 * include/bits/stl_algo.h: Likewise.
3828 * include/bits/stl_bvector.h: Likewise.
3829 * include/bits/stl_deque.h: Likewise.
3830 * include/bits/stl_list.h: Likewise.
3831 * include/bits/stl_tree.h: Likewise.
3832 * include/bits/stl_vector.h: Likewise.
3833 * include/bits/vector.tcc: Likewise.
3834 * include/ext/rope: Likewise.
3835 * include/ext/ropeimpl.h: Likewise.
3836 * include/ext/stdio_filebuf.h: Likewise.
3838 2003-07-11 Jerry Quinn <jlquinn@optonline.net>
3840 * include/bits/basic_ios.h (copyfmt): Document.
3841 * include/bits/ios_base.h (event, event_callback, register_callback,
3842 xalloc, iword, pword): Document.
3843 (imbue, ~ios_base): Update docs on callbacks.
3845 2003-07-11 Phil Edwards <pme@gcc.gnu.org>
3847 * acinclude.m4 (GLIBCC_ENABLE_SYMVERS): Tweak comments. Add
3848 warning messages if the environment cannot support symbol versioning.
3849 (port_specific_symbol_file): It's plural, add an 's' on the end.
3850 * configure.host: Likewise.
3851 * src/Makefile.am: Likewise.
3852 * config/linker-map.gnu: Remove one semicolon, heh.
3853 * scripts/extract_symvers: Don't assume useful 'export' syntax.
3854 Set LANG as well as LC_ALL for possibly-broken sort(1)s.
3855 * aclocal.m4, configure, src/Makefile.in: Regenerated.
3857 2003-07-09 Benjamin Kosnik <bkoz@redhat.com>
3859 * include/bits/locale_facets.tcc: Use function object for
3860 __use_cache instead of template function. Partially specialize for
3862 * include/bits/locale_classes.h: Update friend declaration for
3864 (_M_install_cache): No throw exception specs.
3865 * src/locale.cc: Remove __use_cache specializations.
3866 * include/ext/pod_char_traits.h (length): Tweak.
3867 * include/bits/locale_facets.h (__numpunct_cache): Remove
3869 * testsuite/testsuite_hooks.h (pod_unsigned_int): Remove.
3871 * testsuite/22_locale/numpunct/members/char/cache_1.cc: New.
3872 * testsuite/22_locale/numpunct/members/char/cache_2.cc: New.
3873 * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: New.
3874 * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: New.
3875 * testsuite/22_locale/numpunct/members/pod/1.cc: New.
3876 * testsuite/22_locale/numpunct/members/pod/2.cc: New.
3878 2003-07-09 Jerry Quinn <jlquinn@optonline.net>
3880 * src/ios.cc (_M_grow_words): Fix spelling.
3882 2003-07-09 Gawain Bolton <gp.bolton@computer.org>
3884 * include/bits/stl_tree.h: Move larger member functions in
3885 _Rb_tree_base_iterator and _Rb_tree_node to...
3886 * src/stl_tree.cc: Here.
3887 * src/Makefile.in: Add stl_tree.cc.
3888 * src/Makefile.in: Regenerated.
3889 * config/linker-map.gnu: Add symbols here.
3891 2003-07-08 Benjamin Kosnik <bkoz@redhat.com>
3893 * testsuite/ext/pod_char_traits.cc: New.
3894 * include/ext/pod_char_traits.h: New.
3895 * include/Makefile.am (ext_headers): Add pod_char_traits.h.
3896 * include/Makefile.in: Regenerate.
3897 * docs/html/21_strings/howto.html: Update.
3899 2003-07-08 Gawain Bolton <gp.bolton@computer.org>
3901 * testsuite/performance/list_create_fill_sort.cc: New.
3903 2003-07-08 Benjamin Kosnik <bkoz@redhat.com>
3905 * config/locale/generic/numeric_members.cc: Correct type info.
3906 * config/locale/gnu/numeric_members.cc: Same.
3907 * include/bits/locale_facets.h: Same.
3909 * include/bits/char_traits.h: Correct spacing.
3911 * src/locale.cc: Wrap to 80 col.
3913 2003-07-07 Paolo Carlini <pcarlini@unitus.it>
3915 * include/std/std_complex.h: Partially revert last
3916 changes: cmath functions must not be qualified.
3918 2003-07-06 Phil Edwards <pme@gcc.gnu.org>
3920 * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Do not test for binutils
3921 2.11 with globbing backport fix.
3922 * aclocal.m4, configure: Regenerated.
3924 2003-07-06 Paolo Carlini <pcarlini@unitus.it>
3926 * include/std/std_fstream.h (xsputn): Don't call _M_destroy_pback:
3927 if output is at all possible (!_M_reading), cannot be active.
3929 * include/std/std_fstream.h: Tweak comments to doxygen style.
3931 2003-07-06 Paolo Carlini <pcarlini@unitus.it>
3933 * include/bits/locale_classes.h: Fully qualify standard
3934 functions with std::, thus avoiding Koenig lookup.
3935 * include/bits/locale_facets.tcc: Likewise.
3936 * src/locale.cc: Likewise.
3937 * src/localename.cc: Likewise.
3939 2003-07-06 Phil Edwards <pme@gcc.gnu.org>
3941 * include/bits/allocator_traits.h: Fix doxygen markup.
3942 * include/ext/mt_allocator.h: Likewise.
3944 2003-07-06 Phil Edwards <pme@gcc.gnu.org>
3946 * testsuite/testsuite_hooks.h: Guard against a missing unlink().
3948 2003-07-05 Phil Edwards <pme@gcc.gnu.org>
3950 * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Bump minimal version
3951 requirement. Add port_specific_symbol_file variable.
3952 * configure.host: Add docs for port_specific_symbol_file.
3953 Clean up try_cpu block for x86.
3954 * config/linker-map.gnu: No more "last symbol can't have a
3955 semicolon" kaka. Add hook for port-specific symbols.
3956 * src/Makefile.am: Remove trailing whitespace.
3957 (libstdc++-symbol.ver): Detect the presence of port-specific
3958 symbols, and add them accordingly.
3960 * docs/html/17_intro/porting.texi: Bring up to date.
3962 * src/Makefile.in, aclocal.m4, configure,
3963 docs/html/17_intro/porting.html: Regenerated.
3965 2003-07-05 Phil Edwards <pme@gcc.gnu.org>
3967 * scripts/create_testsuite_files: New file.
3968 * testsuite/Makefile.am (all-local, check-performance): Use it.
3969 * testsuite/lib/libstdc++-v3-dg.exp (v3-computer-tests): Remove.
3970 * testsuite/Makefile.in: Regenerated.
3972 * testsuite/performance/filebuf_sputc.cc: Remove the temporary
3974 * testsuite/performance/fstream_seek_write.cc: Likewise.
3975 * testsuite/performance/ofstream_insert_float.cc: Likewise.
3976 * testsuite/performance/ofstream_insert_int.cc: Likewise.
3977 * testsuite/abi_check.cc (main): Nicer spacing in usage output.
3979 2003-07-05 Gawain Bolton <gp.bolton@computer.org>
3981 * include/bits/stl_list.h: Performance and memory usage
3982 improvements. In particular, the behaviour of the constructor and
3983 destructor as the list header node is no longer dynamically
3984 allocated/de-allocated.
3985 * include/bits/list.tcc: Likewise.
3987 2003-07-05 Paolo Carlini <pcarlini@unitus.it>
3989 * include/std/std_complex.h: Fully qualify standard
3990 functions with std::, thus avoiding Koenig lookup.
3991 * include/std/std_memory.h: Likewise.
3992 * include/std/std_valarray.h: Likewise.
3994 2003-07-05 Gawain Bolton <gp.bolton@computer.org>
3996 * include/bits/stl_tree.h: _Rb_tree_rebalance(): Add local
3997 variable for grandparent and use const
3999 2003-07-05 David Billinghurst <David.Billinghurst@riotinto.com>
4001 * testsuite/27_io/basic_filebuf/close/char/4879.cc: xfail on cygwin
4002 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Ditto
4003 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Ditto
4004 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Ditto
4005 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Ditto
4006 * testsuite/27_io/objects/char/7.cc: Ditto
4007 * testsuite/27_io/objects/char/9661-1.cc: Ditto
4009 2003-07-05 Paolo Carlini <pcarlini@unitus.it>
4011 * include/std/std_bitset.h: Fully qualify standard
4012 functions with std::, thus avoiding Koenig lookup.
4014 * include/std/std_fstream.h: Change comment to doxygen style.
4016 2003-07-05 Phil Edwards <pme@gcc.gnu.org>
4018 * include/std/std_limits.h: More CPP->CXX changes.
4019 * scripts/check_survey.in: Likewise.
4021 2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
4023 Move from CPP to CXX.
4024 * include/bits/c++config: Move to GLIBCXX from GLIBCPP.
4025 * testsuite/Makefile.am: Same.
4026 * testsuite/Makefile.in: Regenerate.
4027 * po/Makefile.am: Same.
4028 * po/Makefile.in: Regenerate.
4029 * libsupc++/Makefile.am: Same.
4030 * libsupc++/Makefile.in: Regenerate.
4031 * libmath/Makefile.am: Same.
4032 * libmath/Makefile.in: Regenerate.
4033 * include/Makefile.am: Same.
4034 * include/Makefile.in: Regenerate.
4035 * src/Makefile.am: Same.
4036 * src/Makefile.in: Regenerate.
4038 * configure.host: Same.
4039 * configure.in: Same.
4040 * configure: Regenerate.
4041 * acinclude.m4: Same.
4043 * src: Change all files in this directory.
4045 * include: Same, standardize include guards.
4049 2003-07-04 Zack Weinberg <zack@codesourcery.com>
4051 * testsuite/22_locale/collate/compare/wchar_t/2.cc
4052 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc
4053 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc
4054 * testsuite/22_locale/collate/hash/wchar_t/2.cc
4055 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc
4056 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc
4057 * testsuite/22_locale/collate/transform/wchar_t/2.cc
4058 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc
4059 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
4060 XFAIL on all targets.
4062 2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
4064 * acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix missed variable.
4065 * aclocal.m4: Regenerate.
4066 * configure: Regenerate.
4068 2003-07-04 Jerry Quinn <jlquinn@optonline.net>
4070 * include/bits/locale_facets.tcc (__int_to_char): Move common case
4073 2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
4074 Petur Runolfsson <peturr02@ru.is>
4076 * config/io/basic_file_stdio.cc: Revert.
4078 2003-07-04 Paolo Carlini <pcarlini@unitus.it>
4080 * include/bits/deque.tcc: Fully qualify standard
4081 functions with std::, thus avoiding Koenig lookup.
4082 * include/bits/gslice_array.h: Likewise.
4083 * include/bits/indirect_array.h: Likewise.
4084 * include/bits/list.tcc: Likewise.
4085 * include/bits/mask_array.h: Likewise.
4086 * include/bits/slice_array.h: Likewise.
4088 2003-07-04 Gawain Bolton <gbolton@free.fr>
4090 * include/bits/stl_tree.h: Performance and memory usage
4093 2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
4095 * Makefile.am: Replace PWD with PWD_COMMAND.
4096 * Makefile.in: Regenerated.
4097 * docs/html/Makefile: Likewise.
4099 2003-07-04 Paolo Carlini <pcarlini@unitus.it>
4101 * include/bits/valarray_array.h: Fully qualify standard
4102 functions with std::, thus avoiding Koenig lookup.
4103 * include/bits/vector.tcc: Likewise.
4105 2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
4107 * include/Makefile.am: Update target_ to host_.
4108 * include/Makefile.in: Regenerate.
4109 * src/Makefile.am: Same.
4110 * src/Makefile.in: Regenerate.
4112 * config/os/gnu-linux/os_defines.h: Remove glibc-2.0 support.
4114 2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
4116 * acinclude.m4 (GLIBCPP_ENABLE_DEBUG_FLAGS): To
4117 --enable-libstdcxx-debug-flags.
4118 (GLIBCPP_ENABLE_DEBUG_FLAGS): To --enable-libstdcxx-debug.
4119 (GLIBCPP_ENABLE_PCH): To --enable-libstdcxx-pch.
4120 * aclocal.m4: Regenerate.
4122 * docs/html/configopts.html: Update.
4124 2003-07-04 Paolo Carlini <pcarlini@unitus.it>
4126 Revert the fix for libstdc++/11378.
4128 2003-07-04 Paolo Carlini <pcarlini@unitus.it>
4131 * include/std/std_fstream.h (xsputn): In the unbuffered case,
4132 provided always_noconv(), issue directly _M_file.xsputn.
4133 * testsuite/performance/filebuf_unbuf_sputn.cc: New.
4135 2003-07-04 Paolo Carlini <pcarlini@unitus.it>
4137 * include/bits/stl_list.h: Fully qualify standard
4138 functions with std::, thus avoiding Koenig lookup.
4139 * include/bits/stl_queue.h: Likewise.
4140 * include/bits/stl_raw_storage_iter.h: Likewise.
4141 * include/bits/stl_tempbuf.h: Likewise.
4142 * include/bits/stl_tree.h: Likewise.
4143 * include/bits/stl_uninitialized.h: Likewise.
4144 * include/bits/stl_vector.h: Likewise.
4145 * include/ext/rope: Change includes order.
4147 2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
4149 * configure.host (fpos_include_dir): Fix.
4151 2003-07-04 Paolo Carlini <pcarlini@unitus.it>
4153 * include/bits/stl_heap.h: Fully qualify standard
4154 functions with std::, thus avoiding Koenig lookup.
4155 * include/bits/stl_iterator_base_funcs.h: Likewise.
4157 * include/bits/stl_algo.h: Qualify __iterator_category too.
4158 * include/bits/stl_algobase.h: Likewise.
4159 * include/bits/stl_bvector.h: Likewise.
4161 * include/bits/stl_algo.h: Don't qualify the pair type.
4163 2003-07-03 Benjamin Kosnik <bkoz@redhat.com>
4165 * include/Makefile.am (target_headers): Add fpos.h
4166 (bits_headers): Remove.
4167 * include/Makefile.in: Regenerate.
4168 * configure.in: Add FPOS_INC_SRCDIR, substitute it.
4169 * configure: Regenerate.
4170 * configure.host: Add fpos_include_dir.
4171 * config/os/gnu-linux/fpos.h: New.
4172 * config/os/generic/fpos.h: Add.
4173 * include/bits/fpos.h: Remove.
4175 * config/io/c_io_stdio.h: Remove fpos_t typedef.
4177 * include/bits/fstream.tcc: Tweaks.
4178 * include/std/std_fstream.h: Same.
4180 * testsuite/27_io/fpos/1.cc (test01): Uncomment. Move to...
4181 * testsuite/27_io/fpos/mbstate_t/1.cc: ...here.
4182 * testsuite/27_io/fpos/mbstate_t/2.cc: Same.
4183 * testsuite/27_io/fpos/mbstate_t/3.cc: Same.
4184 * testsuite/27_io/fpos/1.cc: New.
4186 2003-07-03 Benjamin Kosnik <bkoz@redhat.com>
4187 Petur Runolfsson <peturr02@ru.is>
4189 * include/std/std_streambuf.h: Remove _M_pos.
4190 * config/io/basic_file_stdio.h: Use seekpos instead of seekoff.
4191 * config/io/basic_file_stdio.cc: Same, use fseek instead of lseek,
4192 use fread/fwrite instead of read/write.
4193 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Fix.
4194 * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Close filebufs
4195 before reading again.
4196 * testsuite/27_io/objects/char/6.cc: Tweak.
4198 2003-07-03 David Edelsohn <edelsohn@gnu.org>
4200 * testsuite/22_locale/num_put/put/char/7.cc: Guard with
4201 _GLIBCPP_USE_WCHAR_T.
4203 2003-07-02 Paolo Carlini <pcarlini@unitus.it>
4205 * include/bits/basic_string.tcc (_M_replace_aux): Constify
4208 2003-07-02 Paolo Carlini <pcarlini@unitus.it>
4210 * include/bits/stl_bvector.h: Fully qualify standard
4211 functions with std::, thus avoiding Koenig lookup.
4212 * include/bits/stl_construct.h: Likewise.
4213 * include/bits/stl_deque.h: Likewise.
4215 2003-07-02 Paolo Carlini <pcarlini@unitus.it>
4217 * testsuite/22_locale/num_put/put/char/7.cc: Include
4218 <testsuite_hooks.h>, tweak.
4219 * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
4221 2003-07-01 Phil Edwards <pme@gcc.gnu.org>
4223 * testsuite/Makefile.am (AM_MAKEFLAGS): Set to -j1 (affects
4224 check* targets, but not libs/programs).
4225 * testsuite/Makefile.in: Regenerate.
4227 2003-07-01 Roger Sayle <roger@eyesopen.com>
4229 * acinclude.m4 (GLIBCPP_CHECK_STDLIB_SUPPORT): Fix typo in CXXFLAGS.
4230 (GLIBCPP_CHECK_MATH_SUPPORT): Likewise.
4231 * aclocal.m4: Regenerate.
4232 * configure: Regenerate.
4234 2003-07-01 Benjamin Kosnik <bkoz@redhat.com>
4236 * acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix obvious error.
4237 * aclocal.m4: Regenerated.
4238 * configure: Regenerated.
4240 2003-07-01 Paolo Carlini <pcarlini@unitus.it>
4243 * include/bits/fstream.tcc (underflow): For encoding() == 0
4244 don't read more than __buflen chars.
4245 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: New.
4246 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: New.
4247 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: New.
4248 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: New.
4250 2003-07-01 Jerry Quinn <jlquinn@optonline.net>
4252 * 22_locale/num_put/put/char/7.cc: New.
4253 * 22_locale/num_put/put/wchar_t/7.cc: New.
4255 2003-06-30 Jerry Quinn <jlquinn@optonline.net>
4257 * src/locale.cc (__use_cache<numpunct>): Revert previous relocation.
4258 * include/bits/locale_facets.tcc (__use_cache<numpunct>): Ditto.
4260 2003-06-30 Benjamin Kosnik <bkoz@redhat.com>
4262 * 27_io/basic_filebuf/seekoff/char/1-in.cc: New.
4263 * 27_io/basic_filebuf/seekoff/char/1-io.cc: New.
4264 * 27_io/basic_filebuf/seekoff/char/1-out.cc: New.
4265 * 27_io/basic_filebuf/seekoff/char/2-in.cc: New.
4266 * 27_io/basic_filebuf/seekoff/char/2-io.cc: New.
4267 * 27_io/basic_filebuf/seekoff/char/2-out.cc: New.
4268 * 27_io/basic_filebuf/seekoff/char/2.cc: Remove.
4269 * 27_io/basic_filebuf/seekoff/char/3-in.cc: New.
4270 * 27_io/basic_filebuf/seekoff/char/3-io.cc: Change.
4271 * 27_io/basic_filebuf/seekoff/char/3-out.cc: New.
4272 * 27_io/basic_filebuf/seekoff/char/4-io.cc: Remove.
4273 * 27_io/basic_filebuf/seekpos/char/1-in.cc: New.
4274 * 27_io/basic_filebuf/seekpos/char/1-io.cc: New.
4275 * 27_io/basic_filebuf/seekpos/char/1-out.cc: New.
4276 * 27_io/basic_filebuf/seekpos/char/2-in.cc: New.
4277 * 27_io/basic_filebuf/seekpos/char/2-io.cc: New.
4278 * 27_io/basic_filebuf/seekpos/char/2-out.cc: New.
4279 * 27_io/basic_filebuf/seekpos/char/2.cc: Change.
4280 * 27_io/basic_filebuf/seekpos/char/3-in.cc: New.
4281 * 27_io/basic_filebuf/seekpos/char/3-io.cc: Remove.
4282 * 27_io/basic_filebuf/seekpos/char/3-out.cc: New.
4283 * 27_io/basic_filebuf/seekpos/char/4-io.cc: Remove.
4284 * data/seekoff-1.tst: Remove.
4285 * data/seekoff-1io.tst: New.
4286 * data/seekoff-1out.tst: New.
4287 * data/seekoff-2.tst: Remove.
4288 * data/seekoff-2io.tst: New.
4289 * data/seekoff-2out.tst: New.
4291 * data/seekpos-1.tst: Remove.
4292 * data/seekpos-1io.tst: New.
4293 * data/seekpos-1out.tst: New.
4294 * data/seekpos-2.tst: Remove.
4295 * data/seekpos-2io.tst: New.
4296 * data/seekpos-2out.tst: New.
4297 * data/seekpos.txt: New.
4299 2003-06-30 Jerry Quinn <jlquinn@optonline.net>
4301 * src/locale.cc (__use_cache<numpunct>): Move from here ...
4302 * include/bits/locale_facets.tcc (__use_cache<numpunct>): To
4305 2003-06-30 Paolo Carlini <pcarlini@unitus.it>
4307 * include/bits/stl_algobase.h: Fully qualify standard
4308 functions with std::, thus avoiding Koenig lookup.
4310 2003-06-30 Doug Gregor <dgregor@apple.com>
4312 * include/bits/locale_facets.tcc (money_get::do_get): Avoid
4313 subscripting empty string.
4315 2003-06-30 Phil Edwards <pme@gcc.gnu.org>
4317 * testsuite/Makefile.am (check-am): Do not override.
4318 (baseline_symbols): Declare as PHONY, so no need to 'touch' it.
4319 * testsuite/Makefile.in: Regenerate.
4321 2003-06-30 Doug Gregor <dgregor@apple.com>
4323 * testsuite/24_iterators/insert_iterator.cc (test01, test02):
4324 Don't initialize an insert_iterator with a singular iterator.
4326 2003-06-30 Benjamin Kosnik <bkoz@redhat.com>
4328 * acinclude.m4 (GLIBCPP_ENABLE_PCH): Add bits for --enable-pch.
4329 * aclocal.m4: Regenerate.
4330 * configure.in (GLIBCPP_CHECK_PCH): Move, change to
4331 GLIBCPP_ENABLE_PCH, default to yes.
4332 * configure: Regenerate.
4333 * docs/html/configopts.html: Add --enable-pch.
4335 2003-06-30 Phil Edwards <pme@gcc.gnu.org>
4337 * testsuite/lib/libstdc++-v3-dg.exp: Add comments.
4338 (libstdc++-v3-init): Also set LD_RUN_PATH.
4340 2003-06-30 Paolo Carlini <pcarlini@unitus.it>
4342 * include/std/std_streambuf.h (_M_mode): Unused by streambuf, move
4343 from here to filebuf and stringbuf.
4344 (~basic_streambuf()): Don't set _M_mode.
4345 (basic_streambuf()): Don't set _M_mode.
4346 * include/std/std_fstream.h (_M_mode): Move here, from streambuf.
4347 (~basic_filebuf()): Clean up.
4348 * include/bits/fstream.tcc (basic_filebuf()): Set _M_mode.
4349 * include/std/std_sstream.h (_M_mode): Move here, from streambuf.
4350 * testsuite/27_io/basic_streambuf/cons/char/1.cc: Don't set _M_mode.
4351 * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
4352 * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
4353 * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
4354 * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
4356 2003-06-30 Paolo Carlini <pcarlini@unitus.it>
4358 * include/std/std_fstream.h (_M_underflow): Remove.
4359 (uflow): Remove, inherited from streambuf.
4360 (underflow): Only declare.
4361 * include/bits/fstream.tcc (_M_underflow): Rename to
4362 underflow, to which is equivalent for __bump == false,
4364 * include/std/std_sstream.h (_M_underflow): Remove.
4365 (uflow): Remove, inherited from streambuf.
4366 (underflow): Only declare.
4367 * include/bits/sstream.tcc (_M_underflow): Rename to
4368 underflow, to which is equivalent for __bump == false,
4371 2003-06-29 Paolo Carlini <pcarlini@unitus.it>
4373 * include/bits/stl_algo.h: Fully qualify standard functions
4374 with std::, thus avoiding Koenig lookup.
4376 2003-06-29 Paolo Carlini <pcarlini@unitus.it>
4378 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc:
4379 Improve type correctness-wise.
4380 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc:
4382 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc:
4384 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc:
4387 2003-06-29 Paolo Carlini <pcarlini@unitus.it>
4389 * include/std/std_streambuf.h (uflow): According to
4390 27.5.2.4.3,p16, don't check gptr() < egptr().
4392 2003-06-28 Paolo Carlini <pcarlini@unitus.it>
4395 * include/bits/fstream.tcc (seekoff): Fix for encoding() > 0.
4396 (seekpos): Likewise.
4397 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
4399 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
4402 2003-06-27 Benjamin Kosnik <bkoz@redhat.com>
4404 * testsuite/testsuite_performance.h (__gnu_cxx_test): Change
4405 output name to libstdc++-v3-performance.sum.
4406 * testsuite/Makefile.am (CLEANFILES): Remove .performance.
4407 * testsuite/Makefile.in: Regenerate.
4409 2003-06-27 Matthias Klose <doko@debian.org>
4411 * testsuite/Makefile.am (check-abi, check-abi-verbose): Save
4412 output of abi-check in libstdc++-v3-abi.sum.
4413 * testsuite/Makefile.in: Regenerate.
4415 2003-06-27 Krister Walfridsson <cato@df.lth.se>
4417 * config/os/bsd/netbsd/ctype_noninline.h
4418 (_C_ctype_): Declare.
4419 (ctype<char>::classic_table): Return _C_ctype_ + 1.
4420 (ctype<char>::ctype): Use classic_table.
4422 2003-06-27 Paolo Carlini <pcarlini@unitus.it>
4423 Nathan C. Myers <ncm-nospam@cantrip.org>
4426 * include/bits/fstream.tcc (_M_underflow): Properly estimate
4427 the worst-case number of external bytes for a given get area.
4428 * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: New.
4430 2003-06-27 Paolo Carlini <pcarlini@unitus.it>
4431 Petur Runolfsson <peturr02@ru.is>
4434 * include/bits/fstream.tcc (overflow): Properly estimate the
4435 worst-case number of external bytes for a given put area
4436 (by using codecvt::max_length()).
4437 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1: New.
4438 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: New.
4439 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: New.
4440 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: New.
4442 2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
4444 * config/linker-map.gnu: Remove ; after __numpunct_cache.
4446 2003-06-26 Benjamin Kosnik <bkoz@redhat.com>
4448 * include/bits/ios_base.h (ios_base::_M_getloc): Return reference
4449 to the imbued locale.
4450 * include/bits/locale_facets.tcc (num_put::_M_convert_int): Use
4452 (num_put::_M_convert_float): Use.
4454 2003-06-26 Benjamin Kosnik <bkoz@redhat.com>
4455 Jerry Quinn <jlquinn@optonline.net>
4457 * config/linker-map.gnu: Add __numpunct_cache.
4458 * config/locale/gnu/numeric_members.cc
4459 (numpunct::_M_initialize_numpunct): Account for _M_data, fill in
4460 all elements for "C" locale.
4461 (numpunct::~numpunct): Delete _M_data.
4462 * config/locale/generic/numeric_members.cc: Same.
4463 * include/bits/basic_ios.tcc
4464 (basic_ios::init): Remove __locale_cache bits.
4465 (basic_ios::_M_cache_locale): Same.
4466 * include/bits/ios_base.h: Same. Tweaks.
4467 * include/bits/locale_classes.h: Tweaks. Reorder classes.
4468 (__use_cache): Make friends with _Impl, locale.
4469 (_Impl::_M_caches): Add.
4470 (_Impl::_M_install_cache): Add.
4471 * include/bits/locale_facets.h (__numpunct_cache): New.
4472 (numpunct): Encapsulate data members in __numpunct_cache member,
4473 _M_data. Adjust virtuals.
4474 (numpunct::numpunct): New ctor for the same.
4475 (__locale_cache_base): Remove.
4476 (__locale_cache): Remove.
4477 * include/bits/locale_facets.tcc (__use_cache): New function,
4479 (num_put::_M_convert_int, _M_convert_float, do_put): Use it.
4480 * src/globals.cc: Add cache_vec, numpunct_cache_c, numpunct_cache_w.
4481 * src/ios.cc (ios_base::ios_base): Remove __locale_cache.
4482 * src/locale-inst.cc: Same. Add __numpunct_cache.
4483 * src/locale.cc: Tweak inlines.
4484 (__use_cache): Define specializations.
4485 * src/localename.cc: Use global bits.
4486 (_Impl::~Impl): Deal with __numpunct_cache destruction.
4487 (_Impl::_Impl): Same. Pre-cache standard numpunct facets.
4488 (_Impl::_M_init_facet): Take into account __numpunct_cache.
4489 * testsuite/27_io/ios_base/cons/assign_neg.cc: Update line numbers.
4490 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
4492 2003-06-26 Nathan C. Myers <ncm-nospam@cantrip.org>
4493 Paolo Carlini <pcarlini@unitus.it>
4495 * testsuite/performance/filebuf_copy.cc: New, testing char
4498 2003-06-26 Paolo Carlini <pcarlini@unitus.it>
4499 Nathan C. Myers <ncm-nospam@cantrip.org>
4501 * include/bits/fstream.tcc (_M_underflow): When the actual
4502 end of file is reached, set 'uncommitted' mode to allow a
4503 next write without an intervening seek (see C++98 27.8.1.1,2
4505 * testsuite/27_io/basic_filebuf/underflow/char/2.cc: New.
4507 2003-06-25 Nathan C. Myers <ncm-nospam@cantrip.org>
4509 * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
4510 sputc): Move inline, from here...
4511 * include/std/std_streambuf.h: ... to here.
4513 * include/std/std_streambuf.h (snextc, sbumpc, sgetc,
4514 sputbackc, sungetc, sputc): Use __builtin_expect.
4516 2003-06-24 Phil Edwards <pme@gcc.gnu.org>
4518 * docs/doxygen/mainpage.html: Use a useful title.
4520 2003-06-24 Benjamin Kosnik <bkoz@redhat.com>
4522 * docs/html/documentation.html: Remove assignment info.
4523 * docs/html/17_intro/contribute.html: Edits.
4524 * docs/html/17_intro/libstdc++-assign.tx: Remove.
4526 * docs/html/test.html: Update.
4530 2003-06-24 Benjamin Kosnik <bkoz@redhat.com>
4531 Ulrich Drepper <drepper@redhat.com>
4533 * testsuite/testsuite_performance.h: Tweak mallinfo.
4535 2003-06-24 Paolo Carlini <pcarlini@unitus.it>
4536 Nathan C. Myers <ncm-nospam@cantrip.org>
4538 * include/std/std_fstream.h (_M_filepos): Remove.
4539 (_M_reading, _M_writing): New, encode the various I/O modes:
4540 'read', 'write' and 'uncommitted'.
4541 (sync): If there is something to flush, do it, then go to
4543 * include/bits/fstream.tcc (_M_set_buffer): Overhaul to deal
4544 with three different cases: __off > 0 (upon underflow),
4545 __off == 0 (upon overflow), __off == -1 (upon open, setbuf,
4547 (_M_underflow): Don't call overflow, set _M_reading to true
4549 (pbackfail): Set _M_reading to true on pback creation, tweak.
4550 (overflow): Don't seek, deal with overflow in 'uncommitted' mode,
4551 set _M_writing to true on success, tweak.
4552 (seekoff): Simplify, set _M_reading, _M_writing to false, call
4553 _M_set_buffer(-1) ('uncommitted').
4554 (open, close, setbuf): Set _M_reading, _M_writing to false and
4555 call _M_set_buffer(-1), tweak.
4556 (basic_filebuf): Don't set _M_buf_unified.
4557 (_M_destroy_internal_buffer): Don't call setg and setp.
4558 * include/ext/stdio_filebuf.h (stdio_filebuf): Use _M_reading,
4559 _M_writing and _M_set_buffer(-1).
4560 * include/std/std_streambuf.h (_M_move_out_cur, _M_move_in_cur,
4561 _M_out_lim, _M_buf_unified): Remove.
4562 (basic_streambuf): Don't set _M_out_lim and _M_buf_unified.
4563 (setp): Don't set _M_out_lim.
4564 * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Fix for
4565 the new logic ('read', 'write' and 'uncommitted' modes): e.g.,
4566 upon open the mode is 'uncommitted' and therefore the put area
4568 * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Ditto.
4569 * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Ditto.
4570 * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Ditto.
4571 * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Ditto.
4572 * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Ditto.
4573 * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Ditto.
4574 * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
4575 * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Ditto.
4576 * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Ditto.
4577 * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Ditto.
4578 * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Ditto.
4579 * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Ditto.
4580 * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Ditto.
4581 * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Ditto.
4582 * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Ditto.
4583 * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Ditto.
4584 * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Ditto.
4585 * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Ditto.
4586 * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Ditto.
4587 * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Ditto.
4589 * include/bits/fstream.tcc (showmanyc): Use only the
4590 documented derivation interface to basic_streambuf (gptr(),
4591 setg(), etc.) to work right with user specializations.
4592 * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
4593 sputc, xsgetn, xsputn, __copy_streambufs): Likewise.
4594 * include/std/std_streambuf.h (in_avail, sgetc, uflow, stossc):
4596 * include/std/std_fstream.h (_M_create_pback, _M_destroy_pback,
4599 2003-06-23 Loren J. Rittle <ljrittle@acm.org>
4601 * configure.host (freebsd*): Set abi_baseline_pair.
4602 * config/abi/i386-freebsd4/baseline_symbols.txt: Update from 3.2
4603 (at or near first release) to 3.3.
4604 * config/abi/i386-freebsd5/baseline_symbols.txt: New file.
4605 * config/abi/alpha-freebsd5/baseline_symbols.txt: New file.
4606 * config/abi/sparc-freebsd5/baseline_symbols.txt: New file.
4608 * include/ext/mt_allocator.h: Portability.
4609 * testsuite/testsuite_performance.h: Likewise.
4611 2003-06-23 Benjamin Kosnik <bkoz@redhat.com>
4613 * docs/html/17_intro/libstdc++-assign.txt: Update address.
4615 * testsuite/performance/ifstream_getline.cc: Fix.
4617 2003-06-23 Doug Gregor <dgregor@apple.com>
4619 * include/bits/boost_concept_check.h: Don't use _D or _R for type
4622 2003-06-22 Paolo Carlini <pcarlini@unitus.it>
4623 Nathan C. Myers <ncm-nospam@cantrip.org>
4625 * include/std/std_streambuf.h (_M_move_out_cur): _M_out_lim
4626 is now used only for filebuf, when _M_buf_unified is true.
4627 epgtr() plays the role of _M_out_lim but it's only updated
4628 upon overflow, underflow, uflow, seekoff/pos.
4629 * include/bits/sstream.tcc (_M_underflow): New, implements
4630 stringbuf::underflow and uflow.
4631 (seekoff, seekpos): Tweak, use _M_update_egptr.
4632 * include/std/std_sstream.h (str): Rewrote, deal correctly
4633 with the new logic, in particular, when pptr() > egptr().
4634 (_M_sync): When __testout && !__testin set all the get area
4635 pointers to the current string end.
4636 (_M_update_egptr): New, internal function updating egptr()
4637 to the actual string end.
4638 (_M_underflow): New, declare.
4639 (underflow): Dispatch to _M_underflow(false).
4640 (uflow): Dispatch to _M_underflow(true).
4642 * include/bits/sstream.tcc (pbackfail, overflow, seekoff,
4643 seekpos): Use only the documented derivation interface to
4644 basic_streambuf (gptr(), setg(), etc.) to work right with
4645 user specializations.
4646 * include/std/std_sstream.h (str, _M_sync): Likewise.
4648 2003-06-20 Doug Gregor <dgregor@apple.com>
4650 * testsuite/20_util/auto_ptr.cc: Don't dereference NULL auto_ptr
4651 * testsuite/21_strings/basic_string/replace/char/4.cc: Don't
4652 dereference end iterator.
4653 * testsuite/21_strings/basic_string/replace/wchar_t/4.cc: Same.
4654 * testsuite/22_locale/ctype/narrow/char/1.cc: Don't subscript with
4655 index equal to the length of a string.
4656 * testsuite/22_locale/ctype/narrow/char/2.cc: Same.
4657 * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Same.
4658 * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Same.
4659 * testsuite/22_locale/ctype/widen/char/1.cc: Same.
4660 * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Same.
4661 * testsuite/23_containers/list_modifiers.cc: Don't dereference
4662 singular reverse iterator.
4663 * testsuite/23_containers/vector_bool.cc: Don't increment singular
4665 * testsuite/24_iterators/rel_ops.cc: Don't compare singular iterator.
4667 2003-06-20 Doug Gregor <dgregor@apple.com>
4669 * include/bits/basic_string.h (basic_string::replace): Dispatch
4670 _InputIterator version based on _Is_integer.
4671 * include/bits/basic_string.tcc (basic_string::replace):
4672 Renamed replace(iterator, iterator, size_type, _CharT) to
4674 * testsuite/21_strings/basic_string/assign/char/1.cc (test01):
4675 Test basic_string::assign(_InputIterator, _InputIterator),
4676 which calls basic_string::replace(iterator, iterator,
4677 _Input_iterator, _InputIterator).
4679 2003-06-20 Benjamin Kosnik <bkoz@redhat.com>
4681 * testsuite/testsuite_performance.h (resource_counter): Don't use
4682 mallinfo at the moment.
4684 2003-06-20 Matthias Klose <doko@debian.org>
4686 * configure.host: Set try_cpu to target_cpu for existing
4689 2003-06-19 Andreas Jaeger <aj@suse.de>
4691 * testsuite/Makefile.am (extract_symvers): Revert accidental
4693 * testsuite/Makefile.in: Regenerate.
4695 * configure.in: Pass MULTISUBDIR to testsuite/Makefile.
4696 * configure: Regenerated.
4698 2003-06-19 Paolo Carlini <pcarlini@unitus.it>
4700 * include/std/std_sstream.h (_M_sync): Make non virtual.
4702 2003-06-18 Benjamin Kosnik <bkoz@redhat.com>
4704 * testsuite/testsuite_performance.h (time_counter): New.
4705 (resource_counter): New.
4706 (report_performance): New.
4707 (start_counters): New.
4708 (stop_counters): New.
4709 (clear_counters): New.
4710 * testsuite/performance/allocator.cc: Instrument.
4711 * testsuite/performance/cout_insert_int.cc: Same.
4712 * testsuite/performance/complex_norm.cc: Same.
4713 * testsuite/performance/filebuf_sputc.cc: New.
4714 * testsuite/performance/fstream_seek_write.cc: Same.
4715 * testsuite/performance/ifstream_getline.cc: Same.
4716 * testsuite/performance/map_create_fill.cc: Same.
4717 * testsuite/performance/ofstream_insert_float.cc: Same.
4718 * testsuite/performance/ofstream_insert_int.cc: Same.
4719 * testsuite/performance/string_append.cc: Convert.
4720 * scripts/check_performance: New.
4721 * testsuite/Makefile.am (check-performance): New.
4724 2003-06-18 Paolo Carlini <pcarlini@unitus.it>
4725 Benjamin Kosnik <bkoz@redhat.com>
4727 * include/std/std_sstream.h (setbuf): Check __n >= 0.
4728 * include/bits/fstream.tcc (setbuf): Tweak.
4730 2003-06-18 Paolo Carlini <pcarlini@unitus.it>
4732 * include/bits/sstream.tcc (seekoff): We can't seek beyond
4733 _M_out_lim, therefore _M_move_out_cur boils down to simply
4734 updating _M_out_cur.
4735 (seekpos): Likewise, clean up.
4737 2003-06-18 Nathan C. Myers <ncm-nospam@cantrip.org>
4738 Paolo Carlini <pcarlini@unitus.it>
4740 * include/bits/fstream.tcc (setbuf): Allow (__s, 1) too,
4741 simply equivalent to the unbuffered case (0, 0) as far as
4742 _M_buf_size is concerned.
4744 2003-06-18 Andreas Jaeger <aj@suse.de>
4746 * testsuite/Makefile.am (new-abi-baseline): Create baseline
4748 (baseline_file): Use baseline_dir.
4749 (baseline_dir): New.
4750 (mkinstalldirs): New.
4752 * acinclude.m4: Rename baseline_file to baseline_dir, strip
4753 filename from baseline_dir.
4755 * testsuite/Makefile.in: Regenerated.
4756 * Makefile.in: Regenerated.
4757 * aclocal.m4: Regenerated.
4758 * configure: Regenerated.
4760 2003-06-17 Benjamin Kosnik <bkoz@redhat.com>
4762 * configure.in: Missed check_survey bit.
4763 * configure: Regenerated.
4765 2003-06-17 Benjamin Kosnik <bkoz@redhat.com>
4768 * config/abi/extract_symvers: Move to...
4769 * scripts/extract_symvers: ...here.
4770 * mkcheck.in: Move to..
4771 * scripts/check_survey.in: ...here.
4772 * testsuite_flags.in: Move to..
4773 * scripts/testsuite_flags.in: ...here.
4774 * configure.in: Change check and testsuite_flags locations.
4775 * configure: Regenerate.
4776 * testsuite/Makefile.am (current_symbols.txt): Change location.
4777 * testsuite/Makefile.in: Regenerate.
4778 * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify
4779 location of testsuite_flags.
4780 * Makefile.am (check-script): Move..
4781 (check-script-install): Move...
4782 * testsuite/Makefile.am: ... here.
4783 * testsuite/Makefile.in: Regenerate.
4784 * Makefile.in: Regenerate.
4786 2003-06-17 Benjamin Kosnik <bkoz@redhat.com>
4788 * config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.3.0.
4790 2003-06-16 Benjamin Kosnik <bkoz@redhat.com>
4792 * Makefile.am (check-abi): Move...
4793 (new-abi-baseline): Move...
4794 * testsuite/Makefile.am: ...here.
4795 (new-abi-baseline): Conditionalize.
4796 (check-abi): Conditionalize.
4797 (check-abi-verbose): New.
4798 * Makefile.in: Regenerate.
4799 * testsuite/Makefile.in: Regenerate.
4800 * configure.in: Consolidate testsuite configure bits.
4801 * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Same.
4802 * configure: Regenerate.
4803 * aclocal.m4: Regenerate.
4804 * testsuite/abi_check.cc: Add --check-verbose.
4805 Only output detailed information if --check-verbose.
4807 2003-06-16 Andreas Jaeger <aj@suse.de>
4809 * testsuite/abi_check.cc: Create summary report.
4811 2003-06-16 Paolo Carlini <pcarlini@unitus.it>
4813 * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Fix
4814 for systems with BUFSIZ != 8192.
4815 * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
4816 * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc:
4819 2003-06-16 Andreas Jaeger <aj@suse.de>
4821 * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Make
4822 check-abi multilib aware.
4823 * aclocal.m4: Regenerate.
4824 * configure: Regenerate.
4826 2003-06-16 Benjamin Kosnik <bkoz@redhat.com>
4827 Andreas Jaeger <aj@suse.de>
4829 * configure.host: Set x86_64 abi_baseline pair correctly.
4831 2003-06-16 Paolo Carlini <pcarlini@unitus.it>
4833 * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Split and
4834 fix for missing seeks between gets and puts into...
4835 * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: New.
4836 * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: New.
4837 * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: New.
4838 * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: New.
4839 * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: New.
4840 * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: New.
4842 2003-06-15 Richard Henderson <rth@redhat.com>
4844 * config/linker-map.gnu: Export virtual function thunks for
4847 2003-06-13 Benjamin Kosnik <bkoz@redhat.com>
4849 * config/abi/i686-pc-linux-gnu: To..
4850 * config/abi/i486-linux-gnu: ...this.
4851 * config/abi/alphaev67-unknown-linux-gnu: To..
4852 * config/abi/alpha-linux-gnu: ...this.
4853 * config/abi/ia64-unknown-linux-gnu: To...
4854 * config/abi/ia64-linux-gnu: ...this.
4855 * config/abi/x86_64-unknown-linux-gnu: To...
4856 * config/abi/x86_64-linux-gnu: ...this.
4857 * config/abi/i386-unknown-freebsd4: To...
4858 * config/abi/i386-freebsd4: ...this.
4859 * config/linker-map.gnu: Cleanups, move libsupc++ bits into
4861 * configure.host: abi_baseline_triplet to abi_baseline_pair.
4862 Simplify cpu bits so that abi_baseline_pair can use the same
4864 * acinclude.m4: Same.
4865 * aclocal.m4: Regenerate.
4866 * configure.in: Can't get enable_abi_check to yes unless native.
4867 * configure: Regenerate.
4869 2003-06-13 Paolo Carlini <pcarlini@unitus.it>
4871 * testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Split and
4872 fix for missing seeks between gets and puts into...
4873 * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: New.
4874 * testsuite/27_io/basic_filebuf/seekoff/char/4-io.cc: New.
4875 * testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Same, into...
4876 * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: New.
4877 * testsuite/27_io/basic_filebuf/seekpos/char/4-io.cc: New.
4878 * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Fix
4879 for missing seeks between gets and puts.
4880 * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Ditto.
4881 * testsuite/data/seekoff-1.tst: New.
4882 * testsuite/data/seekoff-2.tst: New.
4883 * testsuite/data/seekpos-1.tst: New.
4884 * testsuite/data/seekpos-2.tst: New.
4886 2003-06-13 Nathan C. Myers <ncm-nospam@cantrip.org>
4888 Avoid multi-processor bus contention on increment/decrement-and-
4889 test of the reference count in the empty-string object, by comparing
4890 addresses first, and never touching the reference count of the empty-
4892 * include/bits/basic_string.h:
4893 (_S_empty_rep_storage): Move into basic_string<>::_Rep for use by its
4895 (_Rep::_S_empty_rep()): New accessor.
4896 (_Rep::_M_length, _Rep::_M_capacity, _Rep::_M_references): Move to
4897 a base class _Rep_base.
4898 (_Rep::_M_dispose, _Rep::_M_refcopy): Check for the empty string.
4899 (basic_string()): Change to use _M_refdata() in place of _M_refcopy(),
4900 since no longer must increment its refcount.
4901 * include/bits/basic_string.tcc:
4902 (_Rep::_M_destroy, _M_leak_hard): Check for the empty string and
4903 return immediately. The former might be unnecessary. The latter
4904 prevents begin() and end() from cloning it unnecessarily.
4905 (_S_construct(_InIterator, _InIterator, const _Alloc&,
4906 input_iterator_tag), _S_construct(_InIterator, _InIterator,
4907 const _Alloc&, forward_iterator_tag), _S_construct(size_type, _CharT,
4908 const _Alloc&)): Change to use _M_refdata() in place of _M_refcopy().
4909 (_M_mutate): Check for the empty string and treat it as shared.
4910 This is necessary here because _M_mutate is sometimes called with
4911 all-zero arguments; in all other uses of _M_is_shared, the test comes
4914 2003-06-12 Benjamin Kosnik <bkoz@redhat.com>
4916 * src/allocator-inst.cc: Explicitly instantiate.
4917 * include/ext/pool_allocator.h: Inhibit implicit instantiations.
4919 * config/linker-map.gnu: Add __pool_alloc bits. Tweaks.
4921 2003-06-11 Benjamin Kosnik <bkoz@redhat.com>
4923 * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Simplify.
4924 * aclocal.m4: Regenerate.
4925 * Makefile.am (SUBDIRS): Remove libio.
4926 * Makefile.in: Regenerate.
4927 * configure.in: Same.
4928 * configure: Regenerate.
4929 * config/io/basic_file_libio.cc: Remove.
4930 * config/io/basic_file_libio.h: Remove.
4931 * config/io/c_io_libio_codecvt.c: Remove.
4932 * config/io/c_io_libio.h: Remove.
4934 * src/Makefile.am: Same.
4935 * src/Makefile.in: Regenerate.
4936 * docs/html/configopts.html: Edits.
4937 * docs/html/explanations.html: Edits.
4939 2003-06-11 Benjamin Kosnik <bkoz@redhat.com>
4941 * include/bits/stl_alloc.h (__debug_alloc): Move out.
4942 (__malloc_alloc): Same.
4943 (__pool_alloc): Same.
4944 (__new_alloc): Same.
4946 * include/bits/allocator.h: ...this.
4947 * include/bits/stl_deque.h: Modify comment.
4948 * include/bits/stl_tree.h: Modify include.
4949 * include/std/std_memory.h: Same.
4950 * include/ext/rope: Same.
4951 * include/ext/slist: Same.
4952 * include/std/std_vector.h: Same.
4953 * include/std/std_stack.h: Same.
4954 * include/std/std_queue.h: Same.
4955 * include/std/std_list.h: Same.
4956 * include/std/std_deque.h: Same.
4957 * include/backward/alloc.h: Same.
4958 * include/ext/debug_allocator.h: New.
4959 * include/ext/malloc_allocator.h: New.
4960 * include/ext/pool_allocator.h: New.
4961 * include/ext/new_allocator.h: New.
4962 * include/bits/pthread_allocimpl.h: Remove.
4963 * include/bits/stl_pthread_alloc.h: Remove.
4964 * include/Makefile.am (ext_headers): Add.
4965 * include/Makefile.in: Regenerate.
4966 * src/stl-inst.cc: Use __gnu_cxx namespace.
4967 * src/stl-inst.cc: Move to...
4968 * src/allocator-inst.cc: Here.
4969 * src/Makefile.am (sources): Update.
4970 * src/Makefile.in: Regenerate.
4971 * config/linker-map.gnu: Remove __pool_alloc bits.
4972 * testsuite/ext/headers.cc: Add.
4973 * testsuite/ext/allocators.cc: Fixup.
4975 2003-06-11 Stefan Olsson <stefan@snon.net>
4976 Ola Rönnerup <fnolis@home.se>
4978 * include/Makefile.am (ext_headers): Add.
4979 * include/Makefile.in: Regenerate.
4980 * include/ext/mt_allocator.h: New file.
4982 2003-06-10 Paolo Carlini <pcarlini@unitus.it>
4984 * include/bits/fstream.tcc (close): Clean up a bit.
4986 * include/bits/streambuf.tcc (sbumpc): Clean up a bit.
4988 * include/std/std_fstream.h (_M_destroy_pback): _M_pback_cur_save
4989 - the saved _M_in_cur, that is - cannot be null.
4990 (sync): Constify a variable.
4992 * include/std/std_streambuf.h: Tweak a comment.
4993 (in_avail): Constify a variable.
4995 2003-06-10 Phil Edwards <pme@gcc.gnu.org>
4997 * docs/html/17_intro/BUGS: Update from 2.90.8 snapshot.
4998 * docs/html/17_intro/CHECKLIST: Bring up to date with respect to
4999 correctness of container::iterator typedefs. Fix whitespace.
5000 * docs/html/20_util/howto.html, docs/html/ext/howto.html: Add links
5002 * docs/html/documentation.html: Regenerate.
5004 * include/bits/basic_string.h, include/bits/basic_string.tcc,
5005 include/bits/deque.tcc, include/bits/list.tcc, include/bits/stl_algo.h,
5006 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
5007 include/bits/stl_deque.h, include/bits/stl_iterator_base_funcs.h,
5008 include/bits/stl_list.h, include/bits/stl_uninitialized.h,
5009 include/bits/stl_vector.h, include/bits/vector.tcc,
5010 include/ext/algorithm, include/ext/slist, include/std/std_bitset.h:
5011 Change _Iter names to _Iterator, and __pos to __position.
5013 * include/bits/stl_relops.h, include/bits/stl_numeric.h,
5014 include/bits/stl_multiset.h, include/bits/stl_set.h:
5015 Remove emacs markers.
5017 * include/bits/stl_threads.h (_STL_auto_lock): Add __unused__.
5019 2003-06-10 Paolo Carlini <pcarlini@unitus.it>
5021 * include/bits/fstream.tcc (overflow): According to
5022 27.5.2.4.5, overflow() returns not_eof(eof()).
5023 * testsuite/27_io/basic_filebuf/overflow/char/2.cc: New.
5024 * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Ditto.
5026 2003-06-10 Paolo Carlini <pcarlini@unitus.it>
5028 * include/bits/fstream.tcc (_M_underflow): Check overflow return
5029 value; tweak slightly.
5031 2003-06-09 Paolo Carlini <pcarlini@unitus.it>
5033 * include/bits/fstream.tcc (_M_underflow): Do not special
5034 case the unbuffered case, which really means simply a one char
5036 (basic_filebuf): Initialize _M_buf_size.
5037 (setbuf): Unbuffered means _M_buf_size == 1, since only
5038 _M_buf_size - 1 == 0 chars are going to be used for the
5039 put area and 1 for the get area.
5040 * include/std/std_streambuf.h (_M_buf_size): Move to basic_filebuf.
5041 (~basic_streambuf): Tweak.
5042 (basic_streambuf): Do not initialize _M_buf_size.
5043 * include/std/std_fstream.h (_M_buf_size): Add from basic_streambuf.
5044 (~basic_filebuf): Tweak.
5045 (_M_set_buffer): Tweak, considering that _M_buf_size == 1 is the
5046 unbuffered situation (i.e., put area pointers NULL).
5047 * include/bits/streambuf.tcc (sbumpc): Clean up.
5048 * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Split into...
5049 * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: New.
5050 * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: New.
5051 * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: New.
5052 * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: New.
5053 * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: New.
5054 * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: New.
5056 2003-06-09 Phil Edwards <pme@gcc.gnu.org>
5058 * acinclude.m4: Move all AM_CONDITIONAL calls out.
5059 (GLIBCPP_CONFIGURE): Set defaults for variables used in AM_CONDITIONAL
5061 * configure.in: Centralize AM_CONDITIONALs so that they are always
5062 run. Make use of GLIBCPP_IS_CROSS_COMPILING.
5063 * aclocal.m4, configure: Regenerated.
5065 2003-06-09 Paolo Carlini <pcarlini@unitus.it>
5067 * docs/html/ext/howto.html ('LWG Issues'): Add issue 235.
5069 2003-06-06 Nathan Myers <ncm-nospam@cantrip.org>
5071 * include/bits/stl_iterator.h
5072 (reverse_iterator::reverse_iterator()): Apply DR235: default
5073 constructor default-initializes data member. Instantiated on a
5074 pointer type, the member has to end up equal to zero.
5076 2003-06-06 Benjamin Kosnik <bkoz@redhat.com>
5078 * include/bits/stl_alloc.h: Cleanups.
5079 * include/ext/functional: Same.
5080 * include/ext/hash_map: Same.
5081 * include/ext/hash_set: Same.
5082 * include/ext/iterator: Same.
5083 * include/ext/memory: Same.
5084 * include/ext/numeric: Same.
5085 * include/ext/rb_tree: Same.
5086 * include/ext/ropeimpl.h: Same.
5087 * include/ext/slist: Same.
5088 * include/ext/stdio_filebuf.h: Same.
5089 * include/ext/stdio_sync_filebuf.h: Same.
5090 * include/ext/stl_rope.h: Move to...
5091 * include/ext/rope: ...here.
5092 * include/ext/stl_hash_fun.h: Move to...
5093 * include/ext/hash_fun.h: ...here.
5094 * include/ext/stl_hashtable.h: Move to...
5095 * include/ext/hashtable.h: ...here.
5096 * include/backward/hashtable.h: Reflect new names.
5097 * include/Makefile.am: Same.
5098 * include/Makefile.in: Regenerated.
5100 2003-06-05 Benjamin Kosnik <bkoz@redhat.com>
5103 * include/bits/fstream.tcc (_M_underflow): Fix for unbuffered.
5104 * include/bits/stl_algobase.h: Tweak.
5105 * include/std/std_fstream.h: Move _M_buf_size to...
5106 * include/std/std_streambuf.h: ...here. Modify.
5107 * include/bits/streambuf.tcc: Same.
5108 * testsuite/testsuite_hooks.h: Tweak.
5109 * testsuite/testsuite_io.h (constraint_filebuf): New.
5110 * testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Split into...
5111 * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: New.
5112 * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: New.
5113 * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: New.
5114 * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: New.
5115 * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: New.
5116 * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: New.
5117 * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Split into...
5118 * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: New.
5119 * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: New.
5120 * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: New.
5121 * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: New.
5122 * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: New.
5123 * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: New.
5124 * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Split into...
5125 * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: New.
5126 * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: New.
5127 * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: New.
5128 * testsuite/27_io/basic_filebuf/sgetn/char/2.cc: Split into...
5129 * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: New.
5130 * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: New.
5131 * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: New.
5132 * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: New.
5133 * testsuite/27_io/basic_filebuf/snextc/char/1.cc: Split into...
5134 * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: New.
5135 * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: New.
5136 * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: New.
5137 * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: New.
5138 * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: New.
5139 * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: New.
5140 * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Split into...
5141 * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: New.
5142 * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: New.
5143 * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: New.
5144 * testsuite/27_io/basic_filebuf/sputc/char/2.cc: Split into...
5145 * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: New.
5146 * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: New.
5147 * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: New.
5148 * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Split into...
5149 * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: New.
5150 * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: New.
5151 * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: New.
5152 * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: New.
5153 * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: New.
5154 * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: New.
5155 * testsuite/data/sgetc.txt: New.
5156 * testsuite/data/sgetn.txt: New.
5158 2003-06-05 Paolo Carlini <pcarlini@unitus.it>
5161 * include/bits/istream.tcc (operator>>(basic_istream&, _CharT*)):
5162 Deal with width() smaller than zero.
5163 * include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT),
5164 operator<<(basic_ostream&, char), operator<<(basic_ostream&, const
5165 _CharT*), operator<<(basic_ostream<_CharT, _Traits>&, const
5166 char*), operator<<(basic_ostream<char, _Traits>&, const char*),
5167 operator<<(basic_ostream, const basic_string&)): Likewise.
5169 * testsuite/27_io/basic_istream/extractors_character/char/
5170 (11095-i.cc, 11095-oa.cc, 11095-ob.cc, 11095-oc.cc): New.
5171 * testsuite/27_io/basic_ostream/inserters_character/char/
5172 (11095-oa.cc, 11095-ob.cc, 11095-oc.cc): New.
5173 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
5174 (11095-od.cc, 11095-oe.cc, 11095-of.cc): New.
5176 2003-06-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5178 * acinclude.m4 (GLIBCPP_CHECK_PCH): Only set glibcpp_PCHFLAGS if
5179 .gch compilation works.
5180 * aclocal.m4, configure: Regenerate.
5181 * testsuite_flags.in (--build-cxx): Use glibcpp_PCHFLAGS to
5182 initialize PCHFLAGS.
5184 2003-06-04 Paolo Carlini <pcarlini@unitus.it>
5186 * include/bits/basic_string.h (_M_fold, insert(iterator, _CharT),
5187 erase(iterator), erase(iterator, iterator), c_str,
5188 compare(const basic_string&)): Constify various variables.
5189 * include/bits/basic_string.tcc (_S_construct(_InIter, _InIter,
5190 const _Alloc&, input_iterator_tag), _M_destroy, _M_mutate,
5191 _S_create, resize, _M_replace, _M_replace_safe,
5192 append(const basic_string&), append(const basic_string&, size_type,
5193 size_type), append(const _CharT*, size_type), append(size_type,
5194 _CharT), operator+(const _CharT*, const basic_string&),
5195 operator+(_CharT, const basic_string&), replace(iterator, iterator,
5196 size_type, _CharT), find(const _CharT*, size_type, size_type),
5197 find(_CharT, size_type), rfind(const _CharT*, size_type, size_type),
5198 rfind(_CharT, size_type), compare(size_type, size_type,
5199 const basic_string&), compare(size_type, size_type,
5200 const basic_string&, size_type, size_type), compare(const _CharT*),
5201 compare(size_type, size_type, const _CharT*), compare(size_type,
5202 size_type, const _CharT*, size_type)): Likewise.
5204 2003-06-03 Benjamin Kosnik <bkoz@redhat.com>
5206 * include/bits/fstream.tcc (pbackfail): Make a rarely taken
5207 'if' branch less obscure.
5209 2003-06-02 Andrew Pinski <pinskia@physics.uc.edu>
5212 * config/cpu/i386/atomicity.h (__exchange_and_add): add intel
5214 * config/cpu/i486/atomicity.h (__exchange_and_add): Likewise.
5215 (__atomic_add): likewise.
5217 2003-06-02 Paolo Carlini <pcarlini@unitus.it>
5219 * include/bits/sstream.tcc (pbackfail): Minor clean up and
5220 reformatting, consistent with basic_filebuf::pbackfail.
5222 2003-06-02 Richard Kreckel <Richard.Kreckel@GiNaC.DE>
5225 * config/cpu/mips/atomicity.h: Change __attribute__ ((unused)) to
5226 __attribute__ ((__unused__)).
5227 * config/os/aix/atomicity.h: Likewise.
5229 2003-06-02 Paolo Carlini <pcarlini@unitus.it>
5232 * include/bits/fstream.tcc (pbackfail): If the pback buffer
5233 is already active don't try to store in it a second char.
5234 * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: New.
5236 * include/bits/fstream.tcc (pbackfail): Add unbuffered bits.
5238 2003-06-02 Paolo Carlini <pcarlini@unitus.it>
5240 * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Tweak
5243 2003-06-02 Paolo Carlini <pcarlini@unitus.it>
5245 * include/std/std_fstream.h (_M_destroy_pback): Use _M_in_beg
5246 instead of unnecessarily taking the address of _M_pback.
5247 (xsgetn): Simplify slightly for a single char pback buffer.
5249 2003-06-02 Paolo Carlini <pcarlini@unitus.it>
5251 * include/bits/sstream.tcc (seekoff): Remove four unnecessary
5252 variables and two 'if', clean up.
5254 2003-06-02 Paolo Carlini <pcarlini@unitus.it>
5256 * include/bits/sstream.tcc (seekpos): Test against _M_out_lim
5257 not _M_out_end, since the former actually points to the string
5258 end (vs buffer end).
5259 * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: New.
5261 2003-05-30 Phil Edwards <pme@gcc.gnu.org>
5263 * docs/doxygen/filter: New file.
5264 * docs/doxygen/filter.sed: New file.
5265 * docs/doxygen/run_doxygen: Add g flag to sed substitutions. Duh.
5266 * docs/doxygen/user.cfg.in (INPUT_FILTER): Point to new filter.
5267 * docs/html/documentation.html: Fix links to doxygen pages.
5269 2003-05-30 Paolo Carlini <pcarlini@unitus.it>
5271 * include/bits/fstream.tcc (_M_convert_to_external): Don't
5272 check for __ilen > 0.
5274 2003-05-29 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
5277 * include/bits/stl_iterator.h (class __normal_iterator):
5278 Don't inherit from iterator, add missing typedefs.
5280 2003-05-29 Paolo Carlini <pcarlini@unitus.it>
5282 * testsuite/24_iterators/reverse_iterator.cc: Split up, as follows.
5283 * testsuite/24_iterators/reverse_iterator/1.cc: New.
5284 * testsuite/24_iterators/reverse_iterator/2.cc: New.
5285 * testsuite/24_iterators/reverse_iterator/3.cc: New, from
5288 2003-05-27 Steve Ellcey <sje@cup.hp.com>
5290 * config/os/hpux/os_defines.h: Define _LIBUNWIND_STD_ABI if we are
5292 * libsupc++/eh_throw.cc: Don't call _Unwind_Resume_or_Rethrow if
5293 _LIBUNWIND_STD_ABI is set.
5295 2003-05-26 Brendan Kehoe <brendan@zen.org>
5297 * include/bits/locale_facets.tcc (do_get): Honor $22.2.6.3.3/8 and
5298 make sure the number of digits required after the decimal-point
5299 (if any) is exactly the value returned by frac_digits().
5300 * testsuite/22_locale/money_get/get/char/9.cc: New.
5301 * testsuite/22_locale/money_get/get/wchar_t/9.cc: New.
5303 2003-05-27 Jonathan Wakely <redi@gcc.gnu.org>
5305 * include/std/std_istream.h, include/std/std_ostream.h: Typo in
5308 2003-05-26 Benjamin Kosnik <bkoz@redhat.com>
5311 * include/std/std_fstream.h (basic_filebuf::_M_overflow): Remove.
5312 (_M_pback): No array necessary.
5313 * include/bits/fstream.tcc (basic_filebuf::_M_overflow): Add
5314 unbuffered case, coalesec into ...
5315 (basic_filebuf::overflow): ...this.
5316 * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: New.
5317 * testsuite/27_io/basic_filebuf/sputc/char/2.cc: Unbuffered.
5319 2003-05-24 Nathanael Nerode <neroden@gcc.gnu.org>
5321 * libsupc++/Makefile.am, libsupc++/cxxabi.h, libsupc++/del_op.cc,
5322 libsupc++/del_opnt.cc, libsupc++/del_opv.cc, libsupc++/del_opvnt.cc,
5323 libsupc++/eh_alloc.cc, libsupc++/eh_aux_runtime.cc,
5324 libsupc++/eh_catch.cc, libsupc++/eh_exception.cc,
5325 libsupc++/eh_globals.cc, libsupc++/eh_personality.cc,
5326 libsupc++/eh_term_handler.cc, libsupc++/eh_terminate.cc,
5327 libsupc++/eh_throw.cc, libsupc++/eh_type.cc,
5328 libsupc++/eh_unex_handler.cc, libsupc++/exception,
5329 libsupc++/new, libsupc++/new_handler.cc, libsupc++/new_op.cc,
5330 libsupc++/new_opnt.cc, libsupc++/new_opv.cc, libsupc++/new_opvnt.cc,
5331 libsupc++/pure.cc, libsupc++/tinfo.cc, libsupc++/tinfo2.cc,
5332 libsupc++/typeinfo, libsupc++/unwind-cxx.h, libsupc++/vec.cc:
5333 Replace "GNU CC" with "GCC".
5335 * include/backward/new.h: Replace "GNU CC" with "GCC".
5337 2003-05-22 Benjamin Kosnik <bkoz@redhat.com>
5340 * configure.in: Switch target to host, don't assume newlib.
5341 (target_alias): Remove.
5342 * configure: Regenerate.
5343 * acinclude.m4: Same.
5344 * aclocal.m4: Regenerate.
5345 * configure.target: Same. Rename to...
5346 * configure.host: This.
5348 2003-05-22 Paolo Carlini <pcarlini@unitus.it>
5350 * include/std/std_fstream.h (_S_pback_size): Remove definition.
5351 (_M_create_pback(), _M_destroy_pback()): Simplify for a single-char
5353 * include/bits/fstream.tcc (_S_pback_size): Remove declaration.
5354 * testsuite/27_io/basic_filebuf/3.cc: Remove explicit instantiation
5355 of _S_pback_size for systems with no COMDAT or weak support.
5356 * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
5357 * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
5358 * testsuite/27_io/basic_filebuf/underflow/10096.cc: Likewise.
5359 * testsuite/27_io/basic_fstream/3.cc: Likewise.
5360 * testsuite/27_io/basic_ifstream/3.cc: Likewise.
5361 * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Likewise.
5362 * testsuite/27_io/basic_ofstream/3.cc: Likewise.
5363 * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Likewise.
5364 * testsuite/27_io/basic_streambuf/3.cc: Likewise.
5366 2003-05-22 Paolo Carlini <pcarlini@unitus.it>
5368 * include/bits/fstream.tcc (_M_underflow): Simplify:
5369 !__testout implies _M_filepos == _M_in_end, therefore
5370 the first _M_file.seekoff call is never issued.
5372 2003-05-22 Benjamin Kosnik <bkoz@redhat.com>
5374 * configure.in: Sort cross table.
5375 * configure: Regenerate.
5377 2003-05-22 Brad Spencer <spencer@infointeractive.com>
5380 * configure.in: Add Solaris cross bits.
5382 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
5384 * libstdc++-v3/config/os/mingw32/os_defines.h
5385 (__GTHREAD_HIDE_WIN32API): Define to 1 by defualt.
5386 (NOMINMAX): Define. Update copyright year.
5388 2003-05-21 Paolo Carlini <pcarlini@unitus.it>
5390 * include/std/std_fstream.h (_M_set_buffer): Fix indentation.
5392 2003-05-21 Jonathan Wakely <redi@gcc.gnu.org>
5394 * docs/html/faq/index.html: Fix typo.
5395 * docs/html/faq/index.txt: Regenerate.
5397 2003-05-21 Jonathan Wakely <redi@gcc.gnu.org>
5399 * docs/html/test.html: Fix markup.
5401 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
5403 * libmath/stubs.c (hypot, hypotf, hypotl): Don't divide by
5405 Update copyright year.
5407 2003-05-20 Paolo Carlini <pcarlini@unitus.it>
5409 * testsuite/27_io/basic_filebuf/close/char/4.cc: Fix typo.
5411 2003-05-20 Paolo Carlini <pcarlini@unitus.it>
5413 * testsuite/27_io/basic_filebuf/close/char/5.cc: New file,
5414 further testing that upon filebuf::close() 27.8.1.1,3 is enforced.
5416 2003-05-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5418 * include/bits/stl_alloc.h (__default_alloc_template::_S_chunk_alloc):
5419 Cast via void* to avoid -Wcast-align warnings.
5420 (__default_alloc_template::_S_refill): Likewise.
5422 2003-05-20 Benjamin Kosnik <bkoz@redhat.com>
5424 * testsuite/README: Move to...
5425 * docs/html/test.html: ...here. Add documentation.
5426 * docs/html/install.html: Move testing bits out..
5427 * docs/html/documentation.html: Add separate testing link.
5428 * testsuite/performance: Add.
5429 * testsuite/performance/allocator.cc: New.
5430 * testsuite/performance/complex_norm.cc: New.
5431 * testsuite/performance/cout_insert_int.cc: New.
5432 * testsuite/performance/fstream_seek_write.cc: New.
5433 * testsuite/performance/ifstream_getline.cc: New.
5434 * testsuite/performance/map_create_fill.cc: New.
5435 * testsuite/performance/ofstream_insert_float.cc: New.
5436 * testsuite/performance/ofstream_insert_int.cc: New.
5437 * testsuite/performance/string_append.cc: New.
5438 * testsuite/lib/libstdc++-v3-dg.exp (v3-compute-tests): Filter
5441 2003-05-20 Gabriel Dos Reis <gdr@integrable-solutions.net>
5444 * include/std/std_complex.h (pow): Tidy.
5446 2003-05-19 Paolo Carlini <pcarlini@unitus.it>
5448 * testsuite/27_io/basic_filebuf/close/char/4.cc: New file, testing
5449 that upon filebuf::close() 27.8.1.1,3 is enforced.
5451 2003-05-15 Loren J. Rittle <ljrittle@acm.org>
5453 * testsuite/thread/pthread4.cc: Further tweak to avoid fini race.
5455 2003-05-15 Paolo Carlini <pcarlini@unitus.it>
5456 Nathan Myers <ncm@cantrip.org>
5458 * include/bits/fstream.tcc (_M_overflow): Rewrote to call
5459 _M_convert_to_external only once (_M_buf_size is now the size of
5460 the put area + 1 for the overflow char of a full area); call
5461 _M_set_buffer instead of _M_set_indeterminate.
5462 (setbuf): Don't accept a buffer smaller than 2 chars.
5463 (_M_underflow): Refill _M_buf_size - 1 chars; call _M_set_buffer,
5464 instead of _M_set_determinate.
5465 (open): Call _M_set_buffer, instead of _M_set_indeterminate.
5466 (seekoff): Likewise.
5467 * include/ext/stdio_filebuf.h (stdio_filebuf(int,
5468 std::ios_base::openmode, bool, size_t),
5469 stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t):
5471 * include/std/std_fstream.h (_M_set_indeterminate): Remove.
5472 (_M_set_determinate): Rename as _M_set_buffer, _M_buf_size ->
5474 * include/std/std_streambuf.h: Tweak _M_out_lim comment.
5475 * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Tweak, taking
5476 into account that, for _M_buf_size == BUFSIZ == 8192, the size of
5477 the put area is now BUFSIZ - 1.
5478 * testsuite/ext/stdio_filebuf_2.cc: Tweak, taking into account
5479 that now the smallest _M_buf_size is 2 (still fails, for the same
5482 2003-05-14 Loren J. Rittle <ljrittle@acm.org>
5484 * testsuite/thread/pthread4.cc: Tweak test.
5486 2003-05-13 Benjamin Kosnik <bkoz@redhat.com>
5488 * testsuite/27_io/ios_base/cons/copy_neg.cc: Remove
5489 excess errors dg marker, use dg-errors instead.
5490 * testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
5491 * testsuite/20_util/auto_ptr_neg.cc: Same.
5493 2003-05-12 Benjamin Kosnik <bkoz@redhat.com>
5495 * include/std/std_fstream.h (basic_filebuf::_M_codecvt): Add
5497 * include/bits/fstream.tcc (basic_filebuf::basic_filebuf):
5498 Initialize _M_codecvt.
5499 (basic_filebuf::imbue): Same.
5500 (basic_filebuf::showmanyc): Use it.
5501 (basic_filebuf::underflow): Use it.
5502 (basic_filebuf::_M_convert_to_external): Use it.
5503 (basic_filebuf::seekoff): Use it.
5504 (basic_filebuf::imbue): Use it, tweaks.
5505 * include/bits/localefwd.h (__check_facet): New.
5506 * include/bits/locale_classes.h: Tweaks.
5507 * include/bits/locale_facets.tcc: Tweaks.
5508 * include/bits/basic_ios.h (basic_ios::_M_check_facet): Remove.
5509 _M_fctype to _M_ctype, _M_fnumput to _M_num_put, _M_fnumget to
5510 _M_num_get. Change _M_check_facet to __check_facet. Tweaks.
5511 * include/bits/basic_ios.tcc: Same.
5512 * include/bits/istream.tcc: Same.
5513 * include/bits/ostream.tcc: Same.
5514 * include/std/std_streambuf.h: Same.
5515 * testsuite/27_io/basic_filebuf/imbue/char/2.cc: New.
5516 * testsuite/27_io/basic_filebuf/imbue/char/3.cc: New.
5517 * testsuite/27_io/basic_filebuf/imbue/wchar_t/1.cc: New.
5518 * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: New.
5519 * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: New.
5520 * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: New.
5522 2003-05-12 Paolo Carlini <pcarlini@unitus.it>
5524 * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Remove
5525 unnecessary includes and unused string literals.
5526 * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
5527 * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
5528 * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
5529 * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.
5531 2003-05-12 Benjamin Kosnik <bkoz@redhat.com>
5533 * include/bits/fstream.tcc (_M_overflow): Remove unbuffered bits.
5535 2003-05-12 Paolo Carlini <pcarlini@unitus.it>
5537 * include/std/std_fstream.h (_M_convert_to_external): Change
5538 to return bool, take two less streamsize parameters.
5539 * include/bits/fstream.tcc (_M_convert_to_external): Tweak
5540 consistently definition.
5541 (_M_overflow): Adjust call points.
5543 2003-05-12 Benjamin Kosnik <bkoz@redhat.com>
5545 * testsuite/27_io/basic_filebuf/underflow/10096.cc: Add weak bits.
5547 2003-05-11 Phil Edwards <pme@gcc.gnu.org>
5549 * testsuite/Makefile.am: Properly quote /both/ LD_RUN_PATHs.
5550 * testsuite/Makefile.in: Regenerate.
5552 2003-05-11 Phil Edwards <pme@gcc.gnu.org>
5554 * testsuite/Makefile.am: Properly quote LD_RUN_PATH.
5555 * testsuite/Makefile.in: Regenerate.
5557 2003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
5560 * include/c_std/std_cmath.h: #include <bits/cpp_type_traits.h>
5561 (acos): Handle integer argument.
5580 * include/bits/cpp_type_traits.h (__are_same<>): New traits.
5581 (__enable_if): Likewise.
5582 * testsuite/26_numerics/cmath/overloads.C: New test.
5584 2003-05-10 Petur Runolfsson <peturr02@ru.is>
5589 * include/bits/fstream.tcc (basic_file::_M_underflow): Add generic
5590 implementation, based on old wchar_t specialization, add support
5591 for codecvt::in() return value of codecvt_base::noconv, remove
5592 _M_file.sys_ungetc() call.
5593 * include/std/std_fstream.h (basic_file::underflow,
5594 basic_file::uflow, basic_file::_M_underflow): Remove
5595 specialization declarations, call _M_underflow from generic versions
5596 of underflow and uflow.
5597 * src/fstream.cc (basic_file::underflow, basic_file::uflow,
5598 basic_file::_M_underflow): Remove specializations.
5599 * src/Makefile.am (sources): Remove fstream.cc.
5600 * src/Makefile.in: Regenerated.
5601 * testsuite/27_io/basic_filebuf/underflow/10096.cc: New test.
5602 * testsuite/27_io/basic_filebuf/underflow/char/1.cc: New test.
5603 * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: New test.
5604 * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: New test.
5606 2003-05-10 Benjamin Kosnik <bkoz@redhat.com>
5608 * include/ext/stdio_filebuf.h (__stdio_filebuf): Remove stack
5610 * config/io/basic_file_stdio.h (__basic_file::xsgetn): Remove
5612 (__basic_file::xsputn): Same.
5613 (__basic_file::seekoff): Same.
5614 (__basic_file::seekpos): Same.
5615 (__basic_file::showmanyc): Same.
5616 * config/io/basic_file_stdio.cc: Same.
5617 * include/std/std_fstream.h: Same.
5618 * include/bits/fstream.tcc: Same.
5619 * src/fstream.cc: Same.
5620 * testsuite/27_io/basic_filebuf/sgetn/char/1.cc (test05): Tidy.
5622 2003-05-10 Petur Runolfsson <peturr02@ru.is>
5627 * include/ext/stdio_sync_filebuf.h: New file.
5628 (basic_stdiobuf): New.
5629 * include/Makefile.am (ext_headers): Add ext/stdio_sync_filebuf.h
5630 * include/Makefile.in: Regenerate.
5631 * include/bits/ios_base.h (Init::_S_create_buffers,
5632 Init::_S_destroy_buffers): Remove declarations.
5633 * src/globals.cc (buf_cout_sync, buf_cin_sync, buf_cerr_sync,
5634 buf_wcout_sync, buf_wcin_sync, buf_wcerr_sync): Define.
5635 * src/ios.cc (Init::_S_create_buffers,
5636 Init::_S_destroy_buffers): Remove.
5637 (Init::Init): Create and use syncronized buffers.
5638 (ios_base::sync_with_stdio): Destroy syncronized buffers,
5639 create and install unsyncronized buffers.
5640 * testsuite/27_io/objects/char/10.cc: New test.
5641 * testsuite/27_io/objects/char/9.cc: New test.
5642 * testsuite/27_io/objects/char/9661-1.cc: New test.
5643 * testsuite/27_io/objects/char/9661-2_xin.cc: New test.
5644 * testsuite/27_io/objects/char/9661-2_xin.in: New.
5645 * testsuite/27_io/objects/wchar_t/1.cc: New test.
5646 * testsuite/27_io/objects/wchar_t/10.cc: New test.
5647 * testsuite/27_io/objects/wchar_t/2.cc: New test.
5648 * testsuite/27_io/objects/wchar_t/2523-1_xin.cc: New test.
5649 * testsuite/27_io/objects/wchar_t/2523-1_xin.in: New.
5650 * testsuite/27_io/objects/wchar_t/2523-2_xin.cc: New test.
5651 * testsuite/27_io/objects/wchar_t/2523-2_xin.in: New.
5652 * testsuite/27_io/objects/wchar_t/3045.cc: New test.
5653 * testsuite/27_io/objects/wchar_t/3647.cc: New test.
5654 * testsuite/27_io/objects/wchar_t/3_xin.cc: New test.
5655 * testsuite/27_io/objects/wchar_t/3_xin.in: New.
5656 * testsuite/27_io/objects/wchar_t/4_xin.cc: New test.
5657 * testsuite/27_io/objects/wchar_t/4_xin.in: New.
5658 * testsuite/27_io/objects/wchar_t/5.cc: New test.
5659 * testsuite/27_io/objects/wchar_t/5268.cc: New test.
5660 * testsuite/27_io/objects/wchar_t/5280_xin.cc: New test.
5661 * testsuite/27_io/objects/wchar_t/5280_xin.in: New.
5662 * testsuite/27_io/objects/wchar_t/6.cc: New test.
5663 * testsuite/27_io/objects/wchar_t/6548_xin.cc: New test.
5664 * testsuite/27_io/objects/wchar_t/6548_xin.in: New.
5665 * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: New test.
5666 * testsuite/27_io/objects/wchar_t/6648-1_xin.in: New.
5667 * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: New test.
5668 * testsuite/27_io/objects/wchar_t/6648-2_xin.in: New.
5669 * testsuite/27_io/objects/wchar_t/7.cc: New test.
5670 * testsuite/27_io/objects/wchar_t/7744_xin.cc: New test.
5671 * testsuite/27_io/objects/wchar_t/7744_xin.in: New.
5672 * testsuite/27_io/objects/wchar_t/8.cc: New test.
5673 * testsuite/27_io/objects/wchar_t/9_xin.cc: New test.
5674 * testsuite/27_io/objects/wchar_t/9_xin.in: New.
5675 * testsuite/27_io/objects/wchar_t/9520.cc: New test.
5676 * testsuite/27_io/objects/wchar_t/9661-1.cc: New test.
5677 * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: New test.
5678 * testsuite/27_io/objects/wchar_t/9661-2_xin.in: New.
5679 * testsuite/27_io/objects/wchar_t/9662.cc: New test.
5680 * testsuite/ext/stdiobuf_char.cc: New test.
5681 * testsuite/ext/stdiobuf_wchar_t.cc: New test.
5683 2003-05-10 Paolo Carlini <pcarlini@unitus.it>
5685 * testsuite/27_io/basic_filebuf/close/char/3.cc: Remove
5686 unnecessary includes and unused string literals.
5687 * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
5689 2003-05-08 Paolo Carlini <pcarlini@unitus.it>
5691 * include/std/std_streambuf.h (setg, setp): Don't touch _M_mode.
5693 2003-05-07 Richard Henderson <rth@redhat.com>
5696 * libsupc++/eh_catch.cc (__cxa_begin_catch): Handle foreign exceptions.
5697 (__cxa_end_catch): Likewise.
5698 * libsupc++/eh_throw.cc (__cxa_rethrow): Likewise. Use
5699 _Unwind_Resume_or_Rethrow.
5700 * libsupc++/eh_personality.cc (empty_exception_spec): New.
5701 (PERSONALITY_FUNCTION): Don't ignore terminate or catch-all
5702 for _UA_FORCE_UNWIND. Honor empty filter spec for foreign
5703 exceptions. Don't push terminate/unexpected to cxa functions.
5704 (__cxa_call_unexpected): Remove foreign exception fixmes.
5706 2003-05-07 Benjamin Kosnik <bkoz@redhat.com>
5708 * testsuite/27_io/ios_base/cons: New.
5709 * testsuite/27_io/ios_base/cons/assign_neg.cc: New.
5710 * testsuite/27_io/ios_base/cons/copy_neg.cc: New.
5712 2003-05-07 Paolo Carlini <pcarlini@unitus.it>
5714 * include/std/std_fstream.h (_M_is_indeterminate): Remove.
5716 (basic_filebuf<char/wchar_t>::_M_underflow): Simplify: either
5717 there is no buffer or __testget == !__testinit.
5720 (basic_filebuf<char/wchar_t>::_M_underflow): _M_set_determinate()
5721 automatically sets, if appropriate, _M_out_cur == _M_in_cur.
5723 * include/std/std_fstream.h (_M_destroy_pback): Don't set
5724 unnecessarily _M_pback_cur_save and _M_pback_end_save.
5726 * include/std/std_fstream.h (_M_set_determinate): Minor tweak.
5728 * include/std/std_sstream.h (_M_sync): Minor tweak.
5730 * include/bits/fstream.tcc (close): No need to call
5731 _M_destroy_pback, setting _M_pback_init to false suffices
5734 2003-05-06 Benjamin Kosnik <bkoz@redhat.com>
5736 * include/bits/stl_algo.h: Enums as _S_.
5737 * include/bits/stl_tree.h: Same.
5738 * include/bits/stl_bvector.h: Same.
5739 * include/bits/ios_base.h: Same.
5740 * include/bits/stl_alloc.h: Same.
5741 * include/ext/stl_hashtable.h: Same.
5742 * src/ios.cc: And here.
5744 * include/std/std_sstream.h: Replace _M_really_sync to _M_sync.
5745 * include/bits/sstream.tcc: Same.
5747 * include/bits/basic_ios.h: Correct spacing for '< ctype'.
5749 * include/bits/locale_facets.tcc: Replace __temp to __tmp.
5751 * include/bits/locale_facets.h (__num_base): Remove protected.
5752 Use _S_[io]* names for enumerations.
5753 (_S_format_int): Remove.
5754 * include/bits/locale_facets.tcc: Same.
5755 * src/locale.cc: Same.
5757 * include/std/std_sstream.h (stringbuf::str): Tweak formatting.
5759 2003-05-06 Phil Edwards <pme@gcc.gnu.org>
5761 * docs/html/faq/index.html (3.10): Add note about mips atomicity.h.
5762 * docs/html/faq/index.txt: Regenerated.
5764 2003-05-06 Michael Ritzert <Ritzert@t-online.de>
5765 Matt Kraai <kraai@alumni.cmu.edu>
5767 * include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): Tweak.
5770 2003-05-06 Richard Sandiford <rsandifo@redhat.com>
5772 * configure.target (mips*): Use the generic atomicity.h by default.
5774 2003-05-05 Loren J. Rittle <ljrittle@acm.org>
5775 (Inspired by an alternate patch from Danny Smith.)
5777 * include/bits/stl_threads.h (_Atomic_swap): Kill it...
5778 (_Swap_lock_struct<>): ...and the horse it rode in on.
5779 * src/globals.cc (_Swap_lock_struct<>): Likewise.
5780 * include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): New
5781 member to support...
5782 * include/ext/ropeimpl.h (rope<>::c_str): Follow *all* memory
5783 visibility rules related to POSIX threads.
5784 * testsuite/thread/pthread7-rope.cc: New test.
5786 2003-05-04 Paolo Carlini <pcarlini@unitus.it>
5788 * testsuite/21_strings/basic_string/find/char/3.cc: New
5789 file, testing basic_string<char>::find_first_not_of.
5790 * testsuite/21_strings/basic_string/find/wchar_t/3.cc:
5791 Likewise for basic_string<wchar_t>.
5793 2003-05-03 Loren J. Rittle <ljrittle@acm.org>
5795 * testsuite/thread/pthread1.cc: Remove special case for FreeBSD.
5797 2003-05-02 Benjamin Kosnik <bkoz@redhat.com>
5799 * include/Makefile.am (CLEANFILES): Remove PCH files in target
5801 * include/Makefile.in: Regenerate.
5803 2003-05-02 Paolo Carlini <pcarlini@unitus.it>
5805 * include/std/std_sstream.h (str()): Tidy.
5807 2003-05-02 Nathan Myers <ncm@cantrip.org>
5808 Paolo Carlini <pcarlini@unitus.it>
5810 * include/bits/streambuf.tcc (__copy_streambufs): Rewrote.
5812 2003-05-02 Jonathan Wakely <redi@gcc.gnu.org>
5814 * include/bits/basic_string.h (swap): Remove redundant template
5815 parameters from declaration of non-template member function.
5817 2003-05-01 Phil Edwards <pme@gcc.gnu.org>
5819 * acconfig.h (_GLIBCPP_USE_NLS): New symbol.
5820 * configure.in: Move libintl.h header test...
5821 * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): ...to here. Gather all
5822 the NLS-related test results into one symbol.
5823 * src/functexcept.cc: Use it here.
5824 * aclocal.m4, config.h.in, configure: Regenerated.
5826 2003-05-01 Paolo Carlini <pcarlini@unitus.it>
5828 * include/bits/sstream.tcc (overflow): Instead of calling
5829 str(), then _M_string.reserve, thus copying the contents
5830 of the current buffer two times, just copy the latter in
5831 a temporary, then use the 'swap trick'.
5833 2003-05-01 Paolo Carlini <pcarlini@unitus.it>
5835 * include/std/std_sstream.h (str()): Revert the best of the
5836 previous 'improvement', incorrect due to the COW nature of
5837 v3 basic_string; simplify.
5839 2003-05-01 Paolo Carlini <pcarlini@unitus.it>
5841 * include/bits/streambuf.tcc (__copy_streambufs): Adjust the
5842 type of __avail to ptrdiff_t to avoid signed-unsigned warning.
5844 2003-05-01 Benjamin Kosnik <bkoz@redhat.com>
5846 * testsuite/abi_check.cc (check_version): Update known versions.
5847 Check added symbols for version_name != base version. Add missing
5848 symbols to incompatible list.
5850 2003-05-01 Benjamin Kosnik <bkoz@redhat.com>
5852 * acinclude.m4 (GLIBCPP_EXPORT_FLAGS): Remove -Winline.
5853 * aclocal.m4: Regenerated.
5854 * configure: Regenerated.
5856 2003-05-01 Paolo Carlini <pcarlini@unitus.it>
5858 * include/bits/streambuf.tcc (basic_streambuf::xsgetn):
5859 Const-ify some variables.
5860 (basic_streambuf::xsputn): Likewise; change the type of some
5861 variables to size_t.
5862 (__copy_streambufs): Change some variables to size_t.
5864 2003-05-01 Paolo Carlini <pcarlini@unitus.it>
5866 * include/std/std_sstream.h (str()): Avoid constructing
5867 a basic_string temporary not only when it would turn out
5868 to be zero-sized but also when identical to the current
5871 2003-05-01 Paolo Carlini <pcarlini@unitus.it>
5873 * include/ext/stdio_filebuf.h
5874 (stdio_filebuf(int, std::ios_base::openmode, bool, size_t),
5875 stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t)):
5876 Shorten a bit (-10 lines) by factoring out some code.
5878 2003-04-30 Phil Edwards <pme@gcc.gnu.org>
5880 * acinclude.m4: Add bit missing from previous patch.
5881 * aclocal.m4, configure: Regenerated.
5883 2003-04-29 Phil Edwards <pme@gcc.gnu.org>
5885 * docs/doxygen/mainpage.html: Bring up to date.
5886 * docs/doxygen/run_doxygen: Cosmetic tweaks. Work around a bug
5888 * docs/doxygen/user.cfg.in: Scanning the precompiled headers
5889 breaks everything. Don't scan them.
5890 * docs/html/documentation.html: Point to "Write after approval"
5893 2003-04-29 Phil Edwards <pme@gcc.gnu.org>
5895 * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Search for gettext outside
5896 of libc if message translations are being used. Fix info text in
5897 xieee_1003.1-2001 case.
5898 * aclocal.m4, configure: Regenerate.
5900 2003-04-29 Joel Sherrill <joel.sherrill@OARcorp.com>
5901 Loren J. Rittle <ljrittle@acm.org>
5902 Martin v. Loewis <martin@v.loewis.de>
5904 * config/cpu/i386/atomicity.h: New file.
5906 2003-04-29 Paolo Carlini <pcarlini@unitus.it>
5908 * include/bits/fstream.tcc (open): Change to single return.
5910 2003-04-29 Paolo Carlini <pcarlini@unitus.it>
5912 * include/std/std_sstream.h (underflow): Change to single return.
5914 2003-04-28 Paolo Carlini <pcarlini@unitus.it>
5916 * include/std/std_streambuf.h (_M_buf): is currently
5917 used only for basic_filebuf, therefore move it there.
5918 (basic_streambuf(), ~basic_streambuf()): Adjust.
5919 * include/std/std_fstream.h (_M_buf): Moved here.
5920 * include/std/std_sstream.h (setbuf): Don't set _M_buf,
5921 is actually redundant for basic_stringbuf.
5922 (_M_really_sync): Likewise.
5923 * include/bits/fstream.tcc (basic_filebuf()): Adjust.
5924 * include/bits/sstream.tcc (seekoff): Adjust.
5926 2003-04-28 Benjamin Kosnik <bkoz@redhat.com>
5928 * src/localename.cc: Standardize exception strings.
5929 * src/locale.cc: Same.
5931 * include/bits/basic_string.tcc: Same.
5932 * include/bits/basic_ios.tcc: Same.
5933 * include/std/std_bitset.h: Same.
5934 * include/ext/ropeimpl.h: Same.
5935 * include/bits/stl_vector.h: Same.
5936 * include/bits/stl_deque.h: Same.
5937 * include/bits/stl_bvector.h: Same.
5938 * config/locale/generic/c_locale.cc: Same.
5939 * config/locale/gnu/c_locale.cc: Same.
5940 * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
5942 * testsuite/testsuite_hooks.cc (__gnu_cxx_test): Modify.
5944 2003-04-28 Paolo Carlini <pcarlini@unitus.it>
5946 * include/std/std_streambuf.h (_M_buf_size): is currently
5947 used only for basic_filebuf, therefore move it there.
5948 (basic_streambuf(), ~basic_streambuf()): Adjust.
5949 * include/std/std_fstream.h (_M_buf_size): Moved here.
5950 * include/bits/fstream.tcc (basic_filebuf()): Adjust.
5952 2003-04-28 Paolo Carlini <pcarlini@unitus.it>
5954 * include/bits/streambuf.tcc (__copy_streambufs): Don't use
5955 _M_buf_size (synced input is now correctly dealt with
5956 elsewhere); when the output buffer is full don't fall back
5957 to a snextc-sputc loop, call overflow instead.
5959 2003-04-28 Paolo Carlini <pcarlini@unitus.it>
5961 * include/bits/sstream.tcc (pbackfail): Shorten a bit (6 lines)
5962 the innermost 'if' by factoring out some code.
5964 2003-04-28 Phil Edwards <pme@gcc.gnu.org>
5966 * configure.in: Test for libintl.h.
5967 * include/bits/c++config: Define __N for everybody.
5968 * include/bits/basic_string.h, include/bits/stl_bvector.h,
5969 include/bits/stl_deque.h, include/bits/stl_vector.h,
5970 include/std/std_bitset.h: Wrap all __throw* text with __N.
5971 * po/Makefile.am (pot): New rule, mostly working.
5972 * src/functexcept.cc: Call gettext on all __throw* arguments when
5973 -fexceptions is in effect.
5974 * po/Makefile.in, config.h.in, configure: Regenerate.
5976 2003-04-28 Petur Runolfsson <peturr02@ru.is>
5979 * include/bits/ios_base.h (Init::_S_ios_create,
5980 Init::_S_ios_destroy): Remove declarations.
5981 (Init::_S_create_buffers,
5982 Init::_S_destroy_buffers): Declare
5983 * src/ios.cc (Init::_S_ios_create): Remove
5984 (Init::_S_create_buffers): Create buffers and add to streams.
5985 (Init::_S_ios_destroy): Rename to...
5986 (Init::_S_destroy_buffers): this.
5987 (Init::Init): Only construct streams once.
5988 (Init::~Init): Flush streams, don't destroy them.
5989 (ios_base::sync_with_stdio): Don't destroy streams, only buffers.
5990 * testsuite/27_io/ios_base/sync_with_stdio/9523.cc: New test.
5991 * testsuite/27_io/objects/char/5.cc: New test.
5992 * testsuite/27_io/objects/char/5268.cc: Avoid undefined behavior.
5993 * testsuite/27_io/objects/char/6.cc: New test.
5994 * testsuite/27_io/objects/char/7.cc: New test.
5996 2003-04-28 Benjamin Kosnik <bkoz@redhat.com>
5998 * testsuite/27_io/objects/char/8.cc: New test.
6000 2003-04-28 Benjamin Kosnik <bkoz@redhat.com>
6002 * testsuite/22_locale/codecvt/unicode/char.cc: Remove bom usage.
6003 * testsuite/22_locale/codecvt/unicode/wchar_t.cc: Same.
6005 2003-04-27 Benjamin Kosnik <bkoz@redhat.com>
6007 * include/std/std_fstream.h (basic_filebuf): _M_pback_destroy to
6008 _M_destroy_pback. _M_pback_create to
6009 _M_create_pback. _M_underflow_common to
6010 _M_underflow. _M_really_overflow to _M_overflow.
6011 * include/bits/fstream.tcc: Same.
6012 * src/fstream.cc: Same.
6013 * include/std/std_streambuf.h (basic_streambuf): _M_in_cur_move to
6014 _M_move_in_cur. _M_out_cur_move to _M_move_out_cur.
6015 * include/bits/streambuf.tcc: Same.
6016 * include/bits/fstream.tcc: Same.
6017 * include/bits/sstream.tcc: Same.
6019 2003-04-27 Benjamin Kosnik <bkoz@redhat.com>
6021 * include/bits/locale_classes.h (locale::_Impl): Change _M_names
6022 from fixed size array.
6023 (locale): Change _S_categories as well.
6025 * include/bits/locale_facets.tcc: Tweak.
6026 * config/locale/gnu/c_locale.cc: Assign _S_categories.
6027 * config/locale/generic/c_locale.cc: Same.
6028 * src/locale.cc: Tweak.
6029 * src/globals.cc: Change facet_name to name_vec, add names_c.
6030 * src/localename.cc: Use them.
6031 (locale::_Impl::~_Impl): Destroy _M_names.
6032 (locale::_Impl::_Impl): Create _M_names.
6034 2003-04-27 Andreas Schwab <schwab@suse.de>
6036 * config/locale/ieee_1003.1-2001/codecvt_specializations.h
6037 (__enc_traits): Use __ibom and __ebom instead of ignoring them.
6039 2003-04-27 Nathan Myers <ncm@cantrip.org>
6041 Move some basic_string members out of line because
6042 they are too big to reasonably be inline.
6043 * include/bits/basic_string.h
6044 (assign(const basic_string&, size_type, size_type),
6045 assign(const _CharT*, size_type),
6046 insert(size_type, const basic_string&, size_type, size_type),
6047 insert(size_type, const _CharT*, size_type),
6048 replace(size_type, size_type, const _CharT*, size_type)):
6049 Move from here to...
6050 * include/bits/basic_string.tcc: ...here.
6052 2003-04-26 Paolo Carlini <pcarlini@unitus.it>
6054 * include/bits/fstream.tcc (pbackfail): Shorten a bit (10 lines)
6055 the innermost 'if' by factoring out some code.
6057 2003-04-26 Paolo Carlini <pcarlini@unitus.it>
6059 * include/bits/streambuf.tcc (__copy_streambufs): Don't
6060 use in_avail(), simplify.
6062 2003-04-26 Paolo Carlini <pcarlini@unitus.it>
6064 * include/std/std_sstream.h (setbuf): don't set _M_buf_size,
6065 in basic_stringbuf it's unused.
6067 * include/std/std_sstream.h (underflow): consistently use
6068 _M_in_cur, not gptr().
6070 2003-04-25 Ranjit Mathew <rmathew@hotmail.com>
6071 Phil Edwards <pme@gcc.gnu.org>
6073 * testsuite_flags.in: Guard against the possibility
6074 of having "xgcc" as a part of a folder name in the
6075 path to the GCC build folder.
6076 * testsuite/Makefile.am: Likewise.
6077 * testsuite/Makefile.in: Regenerated.
6079 2003-04-25 Benjamin Kosnik <bkoz@redhat.com>
6082 * include/std/std_fstream.h (basic_filebuf::is_open): Add throw()
6083 exception specifications.
6084 (basic_filebuf::close): Same.
6085 (basic_filebuf::_M_pback_destroy): Same.
6086 (basic_filebuf::_M_destroy_internal_buffer): Same.
6087 (basic_filebuf): Remove __res_type typedef.
6088 * src/fstream.cc: Same.
6089 * include/bits/fstream.tcc
6090 (basic_filebuf::_M_convert_to_external): Simplify.
6091 (basic_filebuf::seekoff): Use has_facet before use_facet.
6092 (basic_filebuf::close): Add exception specification of throw().
6093 * testsuite/27_io/basic_filebuf/cons: New.
6094 * testsuite/27_io/basic_filebuf/cons/wchar_t: New.
6095 * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: New.
6096 * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: New.
6097 * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: New.
6099 2003-04-25 Benjamin Kosnik <bkoz@redhat.com>
6101 * include/bits/locale_classes.h
6102 (locale::_S_extra_categories_size): Remove.
6103 * src/locale.cc: Remove _S_extra_categories_size.
6104 * src/localename.cc: Same.
6105 * config/locale/gnu/c_locale.cc: Same.
6106 * config/locale/generic/c_locale.cc: Same.
6108 2003-04-24 Richard Sandiford <rsandifo@redhat.com>
6110 * src/localename.cc (__gnu_cxx::facet_vec): Correct types.
6112 2003-04-24 Phil Edwards <pme@gcc.gnu.org>
6114 * docs/html/17_intro/howto.html: Update some links.
6115 * docs/html/18_support/howto.html: Link doxygen numeric_limits notes.
6116 * docs/html/27_io/howto.html: Link doxygen stdio_filebuf notes.
6117 * docs/html/ext/howto.html: Link to demangler notes and API.
6118 * docs/html/faq/index.html: Remove trailing whitespace.
6119 (1.4, 2.4, 3.8, 4.1): Bring up to date.
6120 (5.6): Change to a bulleted list.
6122 * docs/html/faq/index.txt, docs/html/documentation.html,
6123 docs/html/17_intro/porting.html: Regenerate.
6125 2003-04-23 Paolo Carlini <pcarlini@unitus.it>
6127 * testsuite/27_io/basic_filebuf/3.cc: _S_pback_size now
6128 belongs to basic_filebuf.
6129 * testsuite/27_io/basic_fstream/3.cc: Likewise.
6130 * testsuite/27_io/basic_ifstream/3.cc: Likewise.
6131 * testsuite/27_io/basic_ios/3.cc: Remove _S_pback_size
6132 instantiation (now belongs to basic_filebuf).
6133 * testsuite/27_io/basic_iostream/3.cc: Likewise.
6134 * testsuite/27_io/basic_istream/3.cc: Likewise.
6135 * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
6136 _S_pback_size now belongs to basic_filebuf.
6137 * testsuite/27_io/basic_istringstream/3.cc: Remove _S_pback_size
6138 instantiation (now belongs to basic_filebuf).
6139 * testsuite/27_io/basic_ofstream/3.cc: _S_pback_size now
6140 belongs to basic_filebuf.
6141 * testsuite/27_io/basic_ostream/3.cc: Remove _S_pback_size
6142 instantiation (now belongs to basic_filebuf).
6143 * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc:
6144 _S_pback_size now belongs to basic_filebuf.
6145 * testsuite/27_io/basic_ostringstream/3.cc: Remove _S_pback_size
6146 instantiation (now belongs to basic_filebuf).
6147 * testsuite/27_io/basic_streambuf/3.cc: _S_pback_size now belongs
6149 * testsuite/27_io/basic_stringbuf/3.cc: Remove _S_pback_size
6150 instantiation (now belongs to basic_filebuf).
6151 * testsuite/27_io/basic_stringstream/3.cc: Likewise.
6153 2003-04-23 Benjamin Kosnik <bkoz@redhat.com>
6155 * configure.in: Move GLIBCPP_CHECK_PCH before native/cross conditions.
6156 * configure: Regenerated.
6158 2003-04-23 Benjamin Kosnik <bkoz@redhat.com>
6160 * config/locale/generic/c_locale.h (__convert_from_v): Use
6163 2003-04-23 Phil Edwards <pme@gcc.gnu.org>
6165 * docs/html/ext/howto.html ('LWG Issues'): Add issue 60, partial
6166 implementation only.
6167 * include/bits/istream.tcc (putback, unget, sync, tellg, seekg):
6168 Comment and change to comply with DR 60 and the effect on gcount().
6169 * include/std/std_istream.h: Update comments.
6170 * testsuite/27_io/basic_istream/putback/char/1.cc (test01): Add
6171 comments about reasons for tests. Test sync() against gcount().
6172 * testsuite/27_io/basic_istream/seekg/char/2.cc: New file, test
6173 for effect on gcount().
6174 * testsuite/27_io/basic_istream/tellg/char/2.cc: New file, test
6175 for effect on gcount().
6177 2003-04-22 Loren J. Rittle <ljrittle@acm.org>
6179 * testsuite/27_io/basic_filebuf/close/char/9964.cc (test_07):
6182 2003-04-22 Paolo Carlini <pcarlini@unitus.it>
6184 * include/std/std_streambuf.h (_S_pback_size, _M_pback,
6185 _M_pback_cur_save, _M_pback_end_save, _M_pback_init,
6186 _M_pback_create(), _M_pback_destroy()): Move to basic_filebuf.
6187 (basic_streambuf::basic_streambuf()): Adjust.
6188 * include/std/std_fstream.h (_S_pback_size, _M_pback,
6189 _M_pback_cur_save, _M_pback_end_save, _M_pback_init,
6190 _M_pback_create(), _M_pback_destroy()): Moved here
6191 from basic_streambuf.
6192 * include/bits/fstream.tcc (basic_filebuf::basic_filebuf()):
6194 (basic_filebuf::_S_pback_size): Add declaration.
6195 * include/bits/streambuf.tcc (basic_streambuf::_S_pback_size):
6198 2003-04-21 Paolo Carlini <pcarlini@unitus.it>
6200 Consistently use _M_in_beg instead of eback(), _M_in_cur
6201 instead of gptr(), and so on.
6202 * include/bits/fstream.tcc (pbackfail, imbue): Here.
6203 * include/bits/sstream.tcc (pbackfail, seekoff, seekpos): Ditto.
6204 * include/bits/streambuf.tcc (sbumpc, sputbackc,
6205 __copy_streambufs): Ditto.
6206 * include/std/std_streambuf.h (sgetc): Ditto.
6208 2003-04-21 Paolo Carlini <pcarlini@unitus.it>
6210 * include/bits/sstream.tcc (pbackfail, overflow):
6213 2003-04-21 Paolo Carlini <pcarlini@unitus.it>
6215 * include/std/std_streambuf.h (uflow()): It's used only by
6216 basic_stringbuf (i.e., basic_filebuf provide its own uflow()),
6217 therefore do not consider the _M_buf_unified == true case.
6219 * include/std/std_streambuf.h (sgetc()): Restore __ret variable.
6221 2003-04-20 Paolo Carlini <pcarlini@unitus.it>
6223 * docs/html/ext/howto.html ('LWG Issues'):
6224 Add issues 19, 90, 171, 231, 271.
6226 2003-04-20 Paolo Carlini <pcarlini@unitus.it>
6228 * include/bits/sstream.tcc (pbackfail): Remove redundant
6229 NULL pointer check from test involving _M_in_*.
6230 (overflow, seekoff, seekpos): Const qualify bool variables.
6231 * include/std/std_sstream.h (underflow): Remove redundant
6232 NULL pointer check from test involving _M_in_*.
6233 (_M_really_sync): Const qualify bool variables.
6234 * src/fstream.cc (_M_underflow_common): Remove redundant
6235 NULL pointer check from test involving _M_in_*, const qualify
6238 * include/std/std_streambuf.h (sgetc): Remove redundant
6241 2003-04-18 Paolo Carlini <pcarlini@unitus.it>
6243 According to 5.9 para 2 (second bullet) for pointers p, q
6244 pointing to the same type, with p == 0 and q == 0, (p < q)
6246 * include/bits/fstream.tcc (close, overflow, _M_really_overflow,
6247 seekoff): Remove redundant NULL pointer checks from tests
6248 involving _M_out_* and _M_in_*, const qualify bool variables.
6249 (showmanyc, pbackfail, _M_convert_to_external, imbue): Const
6250 qualify bool variables.
6251 * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc, sputc):
6252 Remove redundant NULL pointer checks from tests involving
6253 _M_out_* and _M_in_*, const qualify bool variables.
6254 * include/std/std_fstream.h (sync): Likewise.
6255 (_M_is_indeterminate): Const qualify bool variables.
6256 * include/std/std_streambuf.h (sgetc, uflow): Remove redundant
6257 NULL pointer checks from tests involving _M_out_* and _M_in_*,
6258 const qualify bool variables.
6259 (_M_in_cur_move, _M_out_cur_move, uflow): Const qualify bool
6262 2003-04-18 Loren J. Rittle <ljrittle@acm.org>
6264 * include/c_std/std_cmath.h (C99 FP capture): Only undefine said
6265 C99 FP macros, if actually captured.
6267 * docs/html/17_intro/porting.texi (_GLIBCPP_USE_C99_CHECK): New macro.
6268 (_GLIBCPP_USE_C99_DYNAMIC): New macro.
6269 (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
6270 (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
6271 * config/os/bsd/freebsd/os_defines.h (_GLIBCPP_USE_C99_CHECK):
6273 (_GLIBCPP_USE_C99_DYNAMIC): New macro.
6274 (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
6275 (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
6276 * include/c_std/std_cstdlib.h: Use new macros.
6277 * include/c_std/std_cstdio.h: Use new macros.
6278 * include/c_std/std_cwchar.h: Use new macros.
6280 2003-04-17 Benjamin Kosnik <bkoz@redhat.com>
6283 * include/bits/ostream.tcc: Catch all exceptions for formatted
6284 output, instead of std::exception and derivatives.
6285 * include/bits/istream.tcc: Same.
6286 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
6287 * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
6288 * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
6289 * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
6290 * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
6291 * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
6294 2003-04-17 Phil Edwards <pme@gcc.gnu.org>
6296 * include/bits/c++config: Minor cosmetic tweaks.
6298 2003-04-17 Loren J. Rittle <ljrittle@acm.org>
6300 * testsuite_flags.in (PCHFLAGS): Find PCH in new home.
6301 * include/Makefile.am (pch_input): Find in ${target_builddir}.
6302 (pch_output): Rename to...
6303 (pch_output_builddir): ..this. Find in ${target_builddir}.
6304 (pch_source): Tweak.
6305 (pch_build): Key off a built file.
6306 (pch_output rule): Rename to...
6307 (pch_input rule): ...this. Produce ${pch_output_builddir}
6308 instead of ${pch_output}.
6309 (install-pch rule): Install ${pch_output_builddir}.
6310 * include/Makefile.in: Regenerated.
6312 2003-04-17 Paolo Carlini <pcarlini@unitus.it>
6314 * include/std/std_streambuf.h (setp): _M_out_lim, being
6315 the end limit of used put area, is set equal to _M_out_beg.
6317 2003-04-16 Benjamin Kosnik <bkoz@redhat.com>
6319 * acinclude.m4 (GLIBCPP_CHECK_PCH): New.
6320 * aclocal.m4: Regenerated.
6321 * configure.in: Remove old demangler bits.
6323 * configure: Regenerate.
6324 * config.h.in: Regenerate.
6325 * include/Makefile.am (allstamps): Now allstamped.
6326 (allcreated): Define this.
6327 (all-local): Use 'em.
6328 Conditionally define pch_build, pch_install based on
6330 (${pch_output}): New rule.
6331 (install-pch): New rule.
6332 (install-headers): New rule.
6333 (install-data-local): Install headers and conditionally pch.
6334 * include/Makefile.in: Regenerate.
6335 * testsuite_flags.in (--build-cxx): Use pch file.
6337 2003-04-16 Jonathan Wakely <redi@gcc.gnu.org>
6339 * docs/html/ext/sgiexts.html: Fix path to stylesheet.
6341 2003-04-15 Benjamin Kosnik <bkoz at redhat dot com>
6342 Paolo Carlini <pcarlini at unitus dot it>
6345 * docs/html/27_io/howto.html
6346 ('The buffering is screwing up my program!'): Explain that
6347 opening counts as an I/O operation.
6349 2003-04-15 Andreas Tobler <a.tobler@schweiz.ch>
6351 * testsuite/thread/pthread1.cc: Enable for darwin test.
6352 * testsuite/thread/pthread2.cc: Same.
6353 * testsuite/thread/pthread3.cc: Same.
6354 * testsuite/thread/pthread4.cc: Same.
6355 * testsuite/thread/pthread5.cc: Same.
6356 * testsuite/thread/pthread6.cc: Same.
6358 2003-04-15 Loren J. Rittle <ljrittle@acm.org>
6361 * include/c_std/std_cmath.h (__gnu_cx::__c99_binding): New namespace.
6362 Populate it with multiple legal ways to obtain the C99 float
6363 transcendentals. Use them instead of direct global reference.
6364 (C99 FP capture): Guard usage with _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC.
6365 * docs/html/17_intro/porting.texi
6366 (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
6367 (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
6368 (_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC): New macro.
6369 * config/os/bsd/freebsd/os_defines.h
6370 (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
6371 (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
6372 * testsuite/26_numerics/c_math_dynamic.cc: New file.
6374 2003-04-14 Andreas Tobler <toa@pop.agri.ch>
6375 Benjamin Kosnik <bkoz@redhat.com>
6377 * config/os/generic/ctype_inline.h: Fix.
6379 2003-04-14 Benjamin Kosnik <bkoz@redhat.com>
6381 * testsuite/testsuite_hooks.h
6382 (__gnu_cxx_test::run_test_wrapped_generic_locale_exception_catcher):
6383 Change to try_named_locale.
6384 * testsuite/testsuite_hooks.cc (__gnu_cxx_test): Same.
6386 * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Use
6388 * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
6389 * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
6390 * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Same.
6391 * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Same.
6392 * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Same.
6393 * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Same.
6394 * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Same.
6395 * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Same.
6396 * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Same.
6397 * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Same.
6398 * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Same.
6399 * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Same.
6400 * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Same.
6401 * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Same.
6402 * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Same.
6403 * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
6404 * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
6405 * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
6406 * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Same.
6407 * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Same.
6408 * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Same.
6409 * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Same.
6410 * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Same.
6411 * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Same.
6412 * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Same.
6413 * testsuite/22_locale/collate/compare/char/1.cc: Same.
6414 * testsuite/22_locale/collate/compare/char/2.cc: Same.
6415 * testsuite/22_locale/collate/compare/char/3.cc: Same.
6416 * testsuite/22_locale/collate/compare/wchar_t/1.cc: Same.
6417 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Same.
6418 * testsuite/22_locale/collate/compare/wchar_t/3.cc: Same.
6419 * testsuite/22_locale/collate/hash/char/2.cc: Same.
6420 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Same.
6421 * testsuite/22_locale/collate/transform/char/2.cc: Same.
6422 * testsuite/22_locale/collate/transform/char/3.cc: Same.
6423 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Same.
6424 * testsuite/22_locale/collate/transform/wchar_t/3.cc: Same.
6425 * testsuite/22_locale/collate_byname/1.cc: Same.
6426 * testsuite/22_locale/ctype/is/char/2.cc: Same.
6427 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
6428 * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Same.
6429 * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Same.
6430 * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Same.
6431 * testsuite/22_locale/facet/2.cc: Same.
6432 * testsuite/22_locale/locale/cons/2.cc: Same.
6433 * testsuite/22_locale/locale/cons/4.cc: Same.
6434 * testsuite/22_locale/locale/cons/5.cc: Same.
6435 * testsuite/22_locale/locale/cons/7.cc: Same.
6436 * testsuite/22_locale/locale/cons/7222-c.cc: Same.
6437 * testsuite/22_locale/locale/cons/7222-env.cc: Same.
6438 * testsuite/22_locale/locale/global_locale_objects/2.cc: Same.
6439 * testsuite/22_locale/messages/members/char/1.cc: Same.
6440 * testsuite/22_locale/messages/members/char/2.cc: Same.
6441 * testsuite/22_locale/messages/members/char/3.cc: Same.
6442 * testsuite/22_locale/messages_byname/1.cc: Same.
6443 * testsuite/22_locale/money_get/get/char/1.cc: Same.
6444 * testsuite/22_locale/money_get/get/char/2.cc: Same.
6445 * testsuite/22_locale/money_get/get/char/3.cc: Same.
6446 * testsuite/22_locale/money_get/get/char/4.cc: Same.
6447 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Same.
6448 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Same.
6449 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Same.
6450 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Same.
6451 * testsuite/22_locale/money_put/put/char/1.cc: Same.
6452 * testsuite/22_locale/money_put/put/char/2.cc: Same.
6453 * testsuite/22_locale/money_put/put/char/3.cc: Same.
6454 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Same.
6455 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Same.
6456 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Same.
6457 * testsuite/22_locale/moneypunct/members/char/2.cc: Same.
6458 * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Same.
6459 * testsuite/22_locale/moneypunct_byname/1.cc: Same.
6460 * testsuite/22_locale/num_get/get/char/1.cc: Same.
6461 * testsuite/22_locale/num_get/get/char/2.cc: Same.
6462 * testsuite/22_locale/num_get/get/char/3.cc: Same.
6463 * testsuite/22_locale/num_get/get/char/5.cc: Same.
6464 * testsuite/22_locale/num_get/get/char/6.cc: Same.
6465 * testsuite/22_locale/num_get/get/wchar_t/1.cc: Same.
6466 * testsuite/22_locale/num_get/get/wchar_t/2.cc: Same.
6467 * testsuite/22_locale/num_get/get/wchar_t/3.cc: Same.
6468 * testsuite/22_locale/num_get/get/wchar_t/5.cc: Same.
6469 * testsuite/22_locale/num_get/get/wchar_t/6.cc: Same.
6470 * testsuite/22_locale/num_put/put/char/1.cc: Same.
6471 * testsuite/22_locale/num_put/put/char/2.cc: Same.
6472 * testsuite/22_locale/num_put/put/char/3.cc: Same.
6473 * testsuite/22_locale/num_put/put/char/5.cc: Same.
6474 * testsuite/22_locale/num_put/put/wchar_t/1.cc: Same.
6475 * testsuite/22_locale/num_put/put/wchar_t/2.cc: Same.
6476 * testsuite/22_locale/num_put/put/wchar_t/3.cc: Same.
6477 * testsuite/22_locale/num_put/put/wchar_t/5.cc: Same.
6478 * testsuite/22_locale/numpunct/members/char/1.cc: Same.
6479 * testsuite/22_locale/numpunct/members/char/2.cc: Same.
6480 * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Same.
6481 * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Same.
6482 * testsuite/22_locale/numpunct_byname/1.cc: Same.
6483 * testsuite/22_locale/numpunct_byname/2.cc: Same.
6484 * testsuite/22_locale/time_get/date_order/char/1.cc: Same.
6485 * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Same.
6486 * testsuite/22_locale/time_get/get_date/char/1.cc: Same.
6487 * testsuite/22_locale/time_get/get_date/char/2.cc: Same.
6488 * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Same.
6489 * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Same.
6490 * testsuite/22_locale/time_get/get_monthname/char/1.cc: Same.
6491 * testsuite/22_locale/time_get/get_monthname/char/2.cc: Same.
6492 * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Same.
6493 * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Same.
6494 * testsuite/22_locale/time_get/get_time/char/1.cc: Same.
6495 * testsuite/22_locale/time_get/get_time/char/2.cc: Same.
6496 * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Same.
6497 * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Same.
6498 * testsuite/22_locale/time_get/get_weekday/char/1.cc: Same.
6499 * testsuite/22_locale/time_get/get_weekday/char/2.cc: Same.
6500 * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Same.
6501 * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Same.
6502 * testsuite/22_locale/time_get/get_year/char/1.cc: Same.
6503 * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Same.
6504 * testsuite/22_locale/time_put/put/char/1.cc: Same.
6505 * testsuite/22_locale/time_put/put/char/2.cc: Same.
6506 * testsuite/22_locale/time_put/put/char/3.cc: Same.
6507 * testsuite/22_locale/time_put/put/char/4.cc: Same.
6508 * testsuite/22_locale/time_put/put/char/5.cc: Same.
6509 * testsuite/22_locale/time_put/put/char/6.cc: Same.
6510 * testsuite/22_locale/time_put/put/char/7.cc: Same.
6511 * testsuite/22_locale/time_put/put/char/8.cc: Same.
6512 * testsuite/22_locale/time_put/put/wchar_t/1.cc: Same.
6513 * testsuite/22_locale/time_put/put/wchar_t/2.cc: Same.
6514 * testsuite/22_locale/time_put/put/wchar_t/3.cc: Same.
6515 * testsuite/22_locale/time_put/put/wchar_t/4.cc: Same.
6516 * testsuite/22_locale/time_put/put/wchar_t/5.cc: Same.
6517 * testsuite/22_locale/time_put/put/wchar_t/6.cc: Same.
6518 * testsuite/22_locale/time_put/put/wchar_t/7.cc: Same.
6519 * testsuite/22_locale/time_put/put/wchar_t/8.cc: Same.
6520 * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Same.
6521 * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Same.
6522 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc: Same.
6523 * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Same.
6524 * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Same.
6526 2003-04-14 Andreas Tobler <toa@pop.agri.ch>
6528 * configure.target (_cpu_incdir_fullpath): Solaris 2.9 uses
6529 solaris includes, not generic.
6531 2003-04-14 Loren J. Rittle <ljrittle@acm.org>
6533 * testsuite/26_numerics/c99_classification_macros_c.cc: Add XFAIL.
6535 * include/std/std_bitset.h (_M_do_find_next): Fix -Wall nit.
6536 * include/bits/concept_check.h: Fix multi-line comment.
6537 * testsuite/17_intro/headers.cc (dg-options): Add -Wall -Wsystem-header
6538 when target is *-*-freebsd*.
6540 2003-04-14 Nathan Myers <ncm@cantrip.org>
6541 Paolo Carlini <pcarlini@unitus.it>
6543 PR libstdc++/9701 (in_avail())
6544 * include/std/std_streambuf.h (in_avail): Simplify, in_avail
6545 doesn't care if there is anything in some putback cell.
6546 * testsuite/27_io/basic_streambuf/in_avail/char/9701-3.cc: Add.
6548 * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Remove some
6549 unused string literals.
6551 2003-04-14 Paolo Carlini <pcarlini@unitus.it>
6553 * include/bits/fstream.tcc (basic_filebuf::setbuf): Don't set
6554 _M_out_end, _M_set_indeterminate() does it.
6556 2003-04-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6558 * os/hpux/ctype_inline.h: Replace with gnu-linux version.
6560 2003-04-12 David Edelsohn <edelsohn@gnu.org>
6562 * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
6563 Change basic_streambuf instantiation to "unsigned char".
6564 * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
6566 2003-04-12 Paolo Carlini <pcarlini@unitus.it>
6568 Remove _M_buf_size_opt, use directly _M_buf_size instead.
6569 * include/bits/fstream.tcc
6570 (basic_filebuf::_M_allocate_internal_buffer, setbuf): Remove
6571 references to _M_buf_size_opt.
6572 * include/bits/sstream.tcc (basic_stringbuf::overflow): Likewise.
6573 * include/bits/streambuf.tcc (__copy_streambufs): Likewise, rename
6574 __bufsize to __in_avail and __size_opt to __buf_size.
6575 * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf): Likewise.
6576 * include/std/std_sstream.h (_M_stringbuf_init, setbuf): Likewise.
6577 * include/std/std_streambuf.h (~basic_streambuf(),
6578 basic_streambuf()): Likewise, remove _M_buf_size_opt member.
6579 * testsuite/27_io/basic_filebuf/close/char/3.cc: Set _M_buf_size.
6580 * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
6581 * testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Likewise.
6582 * testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Likewise.
6583 * testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Likewise.
6584 * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Likewise.
6585 * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Likewise.
6586 * testsuite/27_io/basic_filebuf/snextc/char/1.cc: Likewise.
6587 * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
6588 * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
6589 * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
6590 * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.
6592 2003-04-12 Paolo Carlini <pcarlini at unitus dot it>
6594 * include/ext/stdio_filebuf.h
6595 (stdio_filebuf::stdio_filebuf(int, openmode, bool, size_t),
6596 stdio_filebuf::stdio_filebuf(__c_file*, openmode, size_t):
6597 _M_buf_size_opt == 0 only means "not to use an allocated buffer"
6598 since a stack-based buffer is used for small values of the size_t
6600 * include/bits/fstream.tcc (basic_filebuf::_M_really_overflow).
6601 If _M_buf_size != 0 flush out the buffer (any kind, stack-based too).
6602 * testsuite/ext/stdio_filebuf_2.cc: New testfile.
6604 2003-04-12 Paolo Carlini <pcarlini@unitus.it>
6607 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: New.
6608 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Ditto.
6610 2003-04-11 Benjamin Kosnik <bkoz@redhat.com>
6612 * testsuite/22_locale/locale/cons/3.cc: Split.
6613 * testsuite/22_locale/locale/cons/7222-c.cc: New.
6614 * testsuite/22_locale/locale/cons/7222-env.cc: New.
6615 Check before trying to create a locale from the environment.
6616 * testsuite/27_io/ios_base/state/1.cc (test02): Use "C" locale.
6617 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
6620 2003-04-11 Benjamin Kosnik <bkoz@redhat.com>
6622 * testsuite/22_locale/ctype/is/char/3.cc (test03): Use the classic
6623 locale to construct this hybrid locale, not the global locale.
6625 2003-04-11 Benjamin Kosnik <bkoz@redhat.com>
6627 * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Add
6628 instantiation for AIX.
6629 * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
6630 * testsuite/25_algorithms/min_max.cc: Same.
6632 2003-04-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6634 * basic_file_stdio.cc (__basic_file<char>::close): Don't flush stream
6635 twice. Always set _M_cfile to 0 when stream was open.
6637 2003-04-09 Benjamin Kosnik <bkoz@redhat.com>
6639 Reshuffle 27_io testsuite.
6640 * testsuite/27_io/filebuf.cc,
6641 filebuf_members-1.tst, filebuf_members-1.txt, filebuf_members.cc,
6642 filebuf_virtuals-1.tst, filebuf_virtuals-1.txt,
6643 filebuf_virtuals-2.tst, filebuf_virtuals-3.tst,
6644 filebuf_virtuals.cc, fpos.cc, fstream.cc, fstream_members.cc,
6645 ifstream.cc, ifstream_members-1.tst, ifstream_members-1.txt,
6646 ifstream_members.cc, instantiations.cc, ios.cc,
6647 ios_base_callbacks.cc, ios_base_members_static-1.tst,
6648 ios_base_members_static.cc, ios_base_storage.cc,
6649 ios_base_types.cc, ios_ctor.cc, ios_init.cc,
6650 ios_manip_basefield.cc, ios_manip_fmtflags.cc, ios_members.cc,
6651 iostream.cc, iostream_members.cc, istream.cc,
6652 istream_exception.cc, istream_extractor_char.cc,
6653 istream_extractor_other-1.tst, istream_extractor_other-1.txt,
6654 istream_extractor_other-2.tst, istream_extractor_other.cc,
6655 istream_manip.cc, istream_seeks-1.tst, istream_seeks-1.txt,
6656 istream_seeks-2.tst, istream_seeks-3.tst, istream_seeks.cc,
6657 istream_sentry.cc, istream_unformatted-1.tst,
6658 istream_unformatted-1.txt, istream_unformatted.cc,
6659 istringstream.cc, istringstream_members.cc,
6660 narrow_stream_objects.cc, ofstream.cc, ofstream_members-1.tst,
6661 ofstream_members.cc, ostream.cc, ostream_exception.cc,
6662 ostream_fail.cc, ostream_inserter_arith.cc,
6663 ostream_inserter_char-1.tst, ostream_inserter_char-1.txt,
6664 ostream_inserter_char.cc, ostream_inserter_other-1.tst,
6665 ostream_inserter_other-2.tst, ostream_inserter_other.cc,
6666 ostream_manip.cc, ostream_seeks-1.tst, ostream_seeks.cc,
6667 ostream_sentry.cc, ostream_unformatted.cc, ostringstream.cc,
6668 ostringstream_members.cc, standard_manipulators.cc, streambuf.cc,
6669 streambuf_members.cc, stringbuf.cc, stringbuf_members.cc,
6670 stringbuf_virtuals.cc, stringstream.cc, stringstream_members.cc,
6671 wide_stream_objects.cc, istream_extractor_arith/01.cc,
6672 istream_extractor_arith/02.cc, istream_extractor_arith/03.cc,
6673 istream_extractor_arith/06.cc, istream_extractor_arith/07.cc,
6674 istream_extractor_arith/08.cc, istream_extractor_arith/09.cc,
6675 istream_extractor_arith/10.cc, istream_extractor_arith/11.cc,
6676 istream_extractor_arith/12.cc, istream_extractor_arith/13.cc:
6678 * 27_io/basic_filebuf/1.cc: New.
6679 * 27_io/basic_filebuf/2.cc: New.
6680 * 27_io/basic_filebuf/3.cc: New.
6681 * 27_io/basic_filebuf/4.cc: New.
6682 * 27_io/basic_filebuf/close/char/1.cc: New.
6683 * 27_io/basic_filebuf/close/char/2.cc: New.
6684 * 27_io/basic_filebuf/close/char/3.cc: New.
6685 * 27_io/basic_filebuf/close/char/4879.cc: New.
6686 * 27_io/basic_filebuf/close/char/9964.cc: New.
6687 * 27_io/basic_filebuf/imbue/char/1.cc: New.
6688 * 27_io/basic_filebuf/imbue/char/9322.cc: New.
6689 * 27_io/basic_filebuf/in_avail/char/1.cc: New.
6690 * 27_io/basic_filebuf/is_open/char/1.cc: New.
6691 * 27_io/basic_filebuf/open/char/1.cc: New.
6692 * 27_io/basic_filebuf/open/char/2.cc: New.
6693 * 27_io/basic_filebuf/open/char/3.cc: New.
6694 * 27_io/basic_filebuf/open/char/9507.cc: New.
6695 * 27_io/basic_filebuf/overflow/char/1.cc: New.
6696 * 27_io/basic_filebuf/overflow/char/3599.cc: New.
6697 * 27_io/basic_filebuf/overflow/char/9169.cc: New.
6698 * 27_io/basic_filebuf/overflow/char/9182-2.cc: New.
6699 * 27_io/basic_filebuf/overflow/char/9988.cc: New.
6700 * 27_io/basic_filebuf/sbumpc/char/1.cc: New.
6701 * 27_io/basic_filebuf/sbumpc/char/9825.cc: New.
6702 * 27_io/basic_filebuf/seekoff/char/1.cc: New.
6703 * 27_io/basic_filebuf/seekoff/char/2.cc: New.
6704 * 27_io/basic_filebuf/seekpos/char/1.cc: New.
6705 * 27_io/basic_filebuf/seekpos/char/2.cc: New.
6706 * 27_io/basic_filebuf/setbuf/char/1.cc: New.
6707 * 27_io/basic_filebuf/setbuf/char/2.cc: New.
6708 * 27_io/basic_filebuf/setbuf/char/3.cc: New.
6709 * 27_io/basic_filebuf/sgetc/char/1.cc: New.
6710 * 27_io/basic_filebuf/sgetn/char/1.cc: New.
6711 * 27_io/basic_filebuf/sgetn/char/2.cc: New.
6712 * 27_io/basic_filebuf/snextc/char/1.cc: New.
6713 * 27_io/basic_filebuf/sputbackc/char/1.cc: New.
6714 * 27_io/basic_filebuf/sputbackc/char/9425.cc: New.
6715 * 27_io/basic_filebuf/sputc/char/1.cc: New.
6716 * 27_io/basic_filebuf/sputc/char/1057.cc: New.
6717 * 27_io/basic_filebuf/sputc/char/9701-2.cc: New.
6718 * 27_io/basic_filebuf/sputn/char/1.cc: New.
6719 * 27_io/basic_filebuf/sputn/char/1057.cc: New.
6720 * 27_io/basic_filebuf/sputn/char/9701-1.cc: New.
6721 * 27_io/basic_filebuf/sungetc/char/1.cc: New.
6722 * 27_io/basic_filebuf/sync/char/1057.cc: New.
6723 * 27_io/basic_filebuf/sync/char/9182-1.cc: New.
6724 * 27_io/basic_filebuf/underflow/char/10097.cc: New.
6725 * 27_io/basic_fstream/1.cc: New.
6726 * 27_io/basic_fstream/2.cc: New.
6727 * 27_io/basic_fstream/3.cc: New.
6728 * 27_io/basic_fstream/4.cc: New.
6729 * 27_io/basic_fstream/rdbuf/char/2832.cc: New.
6730 * 27_io/basic_ifstream/1.cc: New.
6731 * 27_io/basic_ifstream/2.cc: New.
6732 * 27_io/basic_ifstream/3.cc: New.
6733 * 27_io/basic_ifstream/4.cc: New.
6734 * 27_io/basic_ifstream/cons/char/1.cc: New.
6735 * 27_io/basic_ifstream/open/char/1.cc: New.
6736 * 27_io/basic_ifstream/rdbuf/char/2832.cc: New.
6737 * 27_io/basic_ios/1.cc: New.
6738 * 27_io/basic_ios/2.cc: New.
6739 * 27_io/basic_ios/3.cc: New.
6740 * 27_io/basic_ios/4.cc: New.
6741 * 27_io/basic_ios/clear/char/1.cc: New.
6742 * 27_io/basic_ios/cons/char/1.cc: New.
6743 * 27_io/basic_ios/cons/char/2.cc: New.
6744 * 27_io/basic_ios/cons/char/3.cc: New.
6745 * 27_io/basic_ios/copyfmt/char/1.cc: New.
6746 * 27_io/basic_ios/copyfmt/char/2.cc: New.
6747 * 27_io/basic_ios/exceptions/char/1.cc: New.
6748 * 27_io/basic_ios/locales/char/1.cc: New.
6749 * 27_io/basic_iostream/1.cc: New.
6750 * 27_io/basic_iostream/2.cc: New.
6751 * 27_io/basic_iostream/3.cc: New.
6752 * 27_io/basic_iostream/4.cc: New.
6753 * 27_io/basic_istream/1.cc: New.
6754 * 27_io/basic_istream/2.cc: New.
6755 * 27_io/basic_istream/3.cc: New.
6756 * 27_io/basic_istream/4.cc: New.
6757 * 27_io/basic_istream/exceptions/char/9561.cc: New.
6758 * 27_io/basic_istream/extractors_arithmetic/char/01.cc: New.
6759 * 27_io/basic_istream/extractors_arithmetic/char/02.cc: New.
6760 * 27_io/basic_istream/extractors_arithmetic/char/03.cc: New.
6761 * 27_io/basic_istream/extractors_arithmetic/char/06.cc: New.
6762 * 27_io/basic_istream/extractors_arithmetic/char/07.cc: New.
6763 * 27_io/basic_istream/extractors_arithmetic/char/08.cc: New.
6764 * 27_io/basic_istream/extractors_arithmetic/char/09.cc: New.
6765 * 27_io/basic_istream/extractors_arithmetic/char/10.cc: New.
6766 * 27_io/basic_istream/extractors_arithmetic/char/11.cc: New.
6767 * 27_io/basic_istream/extractors_arithmetic/char/12.cc: New.
6768 * 27_io/basic_istream/extractors_arithmetic/char/13.cc: New.
6769 * 27_io/basic_istream/extractors_character/char/1.cc: New.
6770 * 27_io/basic_istream/extractors_character/char/2.cc: New.
6771 * 27_io/basic_istream/extractors_character/char/3.cc: New.
6772 * 27_io/basic_istream/extractors_character/char/9826.cc: New.
6773 * 27_io/basic_istream/extractors_other/char/1.cc: New.
6774 * 27_io/basic_istream/extractors_other/char/2.cc: New.
6775 * 27_io/basic_istream/extractors_other/char/3.cc: New.
6776 * 27_io/basic_istream/extractors_other/char/9318-in.cc: New.
6777 * 27_io/basic_istream/extractors_other/char/9424-in.cc: New.
6778 * 27_io/basic_istream/get/char/1.cc: New.
6779 * 27_io/basic_istream/get/char/2.cc: New.
6780 * 27_io/basic_istream/getline/char/1.cc: New.
6781 * 27_io/basic_istream/getline/char/2.cc: New.
6782 * 27_io/basic_istream/getline/char/3.cc: New.
6783 * 27_io/basic_istream/ignore/char/1.cc: New.
6784 * 27_io/basic_istream/ignore/char/6360.cc: New.
6785 * 27_io/basic_istream/ignore/char/7220.cc: New.
6786 * 27_io/basic_istream/peek/char/1.cc: New.
6787 * 27_io/basic_istream/peek/char/6414.cc: New.
6788 * 27_io/basic_istream/putback/char/1.cc: New.
6789 * 27_io/basic_istream/read/char/1.cc: New.
6790 * 27_io/basic_istream/read/char/2.cc: New.
6791 * 27_io/basic_istream/read/char/3.cc: New.
6792 * 27_io/basic_istream/readsome/char/6746-1.cc: New.
6793 * 27_io/basic_istream/readsome/char/6746-2.cc: New.
6794 * 27_io/basic_istream/readsome/char/8258.cc: New.
6795 * 27_io/basic_istream/seekg/char/2346-fstream.cc: New.
6796 * 27_io/basic_istream/seekg/char/2346-sstream.cc: New.
6797 * 27_io/basic_istream/seekg/char/8348-1.cc: New.
6798 * 27_io/basic_istream/seekg/char/8348-2.cc: New.
6799 * 27_io/basic_istream/seekg/char/fstream.cc: New.
6800 * 27_io/basic_istream/seekg/char/sstream.cc: New.
6801 * 27_io/basic_istream/sentry/char/1.cc: New.
6802 * 27_io/basic_istream/sentry/char/2.cc: New.
6803 * 27_io/basic_istream/sentry/char/3.cc: New.
6804 * 27_io/basic_istream/sentry/char/3983-fstream.cc: New.
6805 * 27_io/basic_istream/sentry/char/3983-sstream.cc: New.
6806 * 27_io/basic_istream/tellg/char/1.cc: New.
6807 * 27_io/basic_istream/tellg/char/8348.cc: New.
6808 * 27_io/basic_istream/tellg/char/fstream.cc: New.
6809 * 27_io/basic_istream/tellg/char/sstream.cc: New.
6810 * 27_io/basic_istream/ws/char/1.cc: New.
6811 * 27_io/basic_istringstream/1.cc: New.
6812 * 27_io/basic_istringstream/2.cc: New.
6813 * 27_io/basic_istringstream/3.cc: New.
6814 * 27_io/basic_istringstream/4.cc: New.
6815 * 27_io/basic_istringstream/rdbuf/char/2832.cc: New.
6816 * 27_io/basic_istringstream/str/char/1.cc: New.
6817 * 27_io/basic_ofstream/1.cc: New.
6818 * 27_io/basic_ofstream/2.cc: New.
6819 * 27_io/basic_ofstream/3.cc: New.
6820 * 27_io/basic_ofstream/4.cc: New.
6821 * 27_io/basic_ofstream/cons/char/2.cc: New.
6822 * 27_io/basic_ofstream/open/char/1.cc: New.
6823 * 27_io/basic_ofstream/rdbuf/char/2832.cc: New.
6824 * 27_io/basic_ostream/1.cc: New.
6825 * 27_io/basic_ostream/2.cc: New.
6826 * 27_io/basic_ostream/3.cc: New.
6827 * 27_io/basic_ostream/4.cc: New.
6828 * 27_io/basic_ostream/cons/char/9827.cc: New.
6829 * 27_io/basic_ostream/endl/char/1.cc: New.
6830 * 27_io/basic_ostream/ends/char/1.cc: New.
6831 * 27_io/basic_ostream/ends/char/2.cc: New.
6832 * 27_io/basic_ostream/exceptions/char/9561.cc: New.
6833 * 27_io/basic_ostream/flush/char/1.cc: New.
6834 * 27_io/basic_ostream/inserters_arithmetic/char/1.cc: New.
6835 * 27_io/basic_ostream/inserters_arithmetic/char/2.cc: New.
6836 * 27_io/basic_ostream/inserters_arithmetic/char/3.cc: New.
6837 * 27_io/basic_ostream/inserters_arithmetic/char/4.cc: New.
6838 * 27_io/basic_ostream/inserters_arithmetic/char/4402.cc: New.
6839 * 27_io/basic_ostream/inserters_arithmetic/char/5.cc: New.
6840 * 27_io/basic_ostream/inserters_arithmetic/char/6.cc: New.
6841 * 27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc: New.
6842 * 27_io/basic_ostream/inserters_character/char/1.cc: New.
6843 * 27_io/basic_ostream/inserters_character/char/2.cc: New.
6844 * 27_io/basic_ostream/inserters_character/char/3.cc: New.
6845 * 27_io/basic_ostream/inserters_character/char/4.cc: New.
6846 * 27_io/basic_ostream/inserters_character/char/5.cc: New.
6847 * 27_io/basic_ostream/inserters_character/char/6.cc: New.
6848 * 27_io/basic_ostream/inserters_character/char/8.cc: New.
6849 * 27_io/basic_ostream/inserters_character/wchar_t/7.cc: New.
6850 * 27_io/basic_ostream/inserters_character/wchar_t/8.cc: New.
6851 * 27_io/basic_ostream/inserters_other/char/1.cc: New.
6852 * 27_io/basic_ostream/inserters_other/char/2.cc: New.
6853 * 27_io/basic_ostream/inserters_other/char/3.cc: New.
6854 * 27_io/basic_ostream/inserters_other/char/4.cc: New.
6855 * 27_io/basic_ostream/inserters_other/char/9318-out.cc: New.
6856 * 27_io/basic_ostream/inserters_other/char/9424-out.cc: New.
6857 * 27_io/basic_ostream/sentry/char/1.cc: New.
6858 * 27_io/basic_ostream/sentry/char/2.cc: New.
6859 * 27_io/basic_ostream/sentry/char/3983-fstream.cc: New.
6860 * 27_io/basic_ostream/sentry/char/3983-sstream.cc: New.
6861 * 27_io/basic_ostream/tellp/char/1.cc: New.
6862 * 27_io/basic_ostream/tellp/char/2.cc: New.
6863 * 27_io/basic_ostringstream/1.cc: New.
6864 * 27_io/basic_ostringstream/2.cc: New.
6865 * 27_io/basic_ostringstream/3.cc: New.
6866 * 27_io/basic_ostringstream/4.cc: New.
6867 * 27_io/basic_ostringstream/cons/char/3.cc: New.
6868 * 27_io/basic_ostringstream/rdbuf/char/2832.cc: New.
6869 * 27_io/basic_ostringstream/str/char/1.cc: New.
6870 * 27_io/basic_ostringstream/str/char/2.cc: New.
6871 * 27_io/basic_streambuf/1.cc: New.
6872 * 27_io/basic_streambuf/2.cc: New.
6873 * 27_io/basic_streambuf/3.cc: New.
6874 * 27_io/basic_streambuf/cons/char/1.cc: New.
6875 * 27_io/basic_streambuf/imbue/char/1.cc: New.
6876 * 27_io/basic_streambuf/imbue/char/9322.cc: New.
6877 * 27_io/basic_streambuf/overflow/char/1.cc: New.
6878 * 27_io/basic_streambuf/overflow/char/2.cc: New.
6879 * 27_io/basic_streambuf/overflow/char/3599.cc: New.
6880 * 27_io/basic_streambuf/sgetc/char/1.cc: New.
6881 * 27_io/basic_streambuf/sgetn/char/1.cc: New.
6882 * 27_io/basic_streambuf/sputbackc/char/9538.cc: New.
6883 * 27_io/basic_streambuf/sputc/char/1057.cc: New.
6884 * 27_io/basic_streambuf/sputn/char/1.cc: New.
6885 * 27_io/basic_streambuf/sputn/char/1057.cc: New.
6886 * 27_io/basic_streambuf/sync/char/1057.cc: New.
6887 * 27_io/basic_stringbuf/1.cc: New.
6888 * 27_io/basic_stringbuf/2.cc: New.
6889 * 27_io/basic_stringbuf/3.cc: New.
6890 * 27_io/basic_stringbuf/4.cc: New.
6891 * 27_io/basic_stringbuf/5.cc: New.
6892 * 27_io/basic_stringbuf/imbue/char/1.cc: New.
6893 * 27_io/basic_stringbuf/imbue/char/9322.cc: New.
6894 * 27_io/basic_stringbuf/in_avail/char/1.cc: New.
6895 * 27_io/basic_stringbuf/overflow/char/2.cc: New.
6896 * 27_io/basic_stringbuf/overflow/char/3599.cc: New.
6897 * 27_io/basic_stringbuf/overflow/char/9988.cc: New.
6898 * 27_io/basic_stringbuf/sbumpc/char/1.cc: New.
6899 * 27_io/basic_stringbuf/sbumpc/char/9825.cc: New.
6900 * 27_io/basic_stringbuf/seekoff/char/1.cc: New.
6901 * 27_io/basic_stringbuf/seekoff/char/2.cc: New.
6902 * 27_io/basic_stringbuf/seekpos/char/1.cc: New.
6903 * 27_io/basic_stringbuf/seekpos/char/2.cc: New.
6904 * 27_io/basic_stringbuf/setbuf/char/1.cc: New.
6905 * 27_io/basic_stringbuf/setbuf/char/2.cc: New.
6906 * 27_io/basic_stringbuf/setbuf/char/3.cc: New.
6907 * 27_io/basic_stringbuf/sgetc/char/1.cc: New.
6908 * 27_io/basic_stringbuf/sgetn/char/1.cc: New.
6909 * 27_io/basic_stringbuf/snextc/char/1.cc: New.
6910 * 27_io/basic_stringbuf/sputbackc/char/1.cc: New.
6911 * 27_io/basic_stringbuf/sputbackc/char/9425.cc: New.
6912 * 27_io/basic_stringbuf/sputc/char/1.cc: New.
6913 * 27_io/basic_stringbuf/sputc/char/1057.cc: New.
6914 * 27_io/basic_stringbuf/sputc/char/9404-1.cc: New.
6915 * 27_io/basic_stringbuf/sputn/char/1.cc: New.
6916 * 27_io/basic_stringbuf/sputn/char/1057.cc: New.
6917 * 27_io/basic_stringbuf/sputn/char/9404-2.cc: New.
6918 * 27_io/basic_stringbuf/str/char/1.cc: New.
6919 * 27_io/basic_stringbuf/str/char/2.cc: New.
6920 * 27_io/basic_stringbuf/str/char/3.cc: New.
6921 * 27_io/basic_stringbuf/str/char/3955.cc: New.
6922 * 27_io/basic_stringbuf/sungetc/char/1.cc: New.
6923 * 27_io/basic_stringbuf/sync/char/1057.cc: New.
6924 * 27_io/basic_stringstream/1.cc: New.
6925 * 27_io/basic_stringstream/2.cc: New.
6926 * 27_io/basic_stringstream/3.cc: New.
6927 * 27_io/basic_stringstream/4.cc: New.
6928 * 27_io/basic_stringstream/rdbuf/char/2832.cc: New.
6929 * 27_io/basic_stringstream/str/char/1.cc: New.
6930 * 27_io/basic_stringstream/str/char/2.cc: New.
6931 * 27_io/basic_stringstream/str/char/3.cc: New.
6932 * 27_io/basic_stringstream/str/char/4.cc: New.
6933 * 27_io/fpos/1.cc: New.
6934 * 27_io/fpos/2.cc: New.
6935 * 27_io/fpos/3.cc: New.
6936 * 27_io/ios_base/callbacks/1.cc: New.
6937 * 27_io/ios_base/state/1.cc: New.
6938 * 27_io/ios_base/storage/1.cc: New.
6939 * 27_io/ios_base/storage/2.cc: New.
6940 * 27_io/ios_base/storage/3.cc: New.
6941 * 27_io/ios_base/sync_with_stdio/1.cc: New.
6942 * 27_io/ios_base/sync_with_stdio/2.cc: New.
6943 * 27_io/manipulators/adjustfield/char/1.cc: New.
6944 * 27_io/manipulators/adjustfield/char/2.cc: New.
6945 * 27_io/manipulators/basefield/char/1.cc: New.
6946 * 27_io/manipulators/standard/char/1.cc: New.
6947 * 27_io/manipulators/standard/char/2.cc: New.
6948 * 27_io/objects/char/1.cc: New.
6949 * 27_io/objects/char/2.cc: New.
6950 * 27_io/objects/char/2523-1_xin.cc: New.
6951 * 27_io/objects/char/2523-1_xin.in: New.
6952 * 27_io/objects/char/2523-2_xin.cc: New.
6953 * 27_io/objects/char/2523-2_xin.in: New.
6954 * 27_io/objects/char/3045.cc: New.
6955 * 27_io/objects/char/3647.cc: New.
6956 * 27_io/objects/char/3_xin.cc: New.
6957 * 27_io/objects/char/3_xin.in: New.
6958 * 27_io/objects/char/4_xin.cc: New.
6959 * 27_io/objects/char/4_xin.in: New.
6960 * 27_io/objects/char/5268.cc: New.
6961 * 27_io/objects/char/5280_xin.cc: New.
6962 * 27_io/objects/char/5280_xin.in: New.
6963 * 27_io/objects/char/6548_xin.cc: New.
6964 * 27_io/objects/char/6548_xin.in: New.
6965 * 27_io/objects/char/6648-1_xin.cc: New.
6966 * 27_io/objects/char/6648-1_xin.in: New.
6967 * 27_io/objects/char/6648-2_xin.cc: New.
6968 * 27_io/objects/char/6648-2_xin.in: New.
6969 * 27_io/objects/char/7744_xin.cc: New.
6970 * 27_io/objects/char/7744_xin.in: New.
6971 * 27_io/objects/wchar_t/1.cc: New.
6972 * 27_io/types/1.cc: New.
6973 * 27_io/types/2.cc: New.
6974 * data/filebuf_members-1.tst: New.
6975 * data/filebuf_members-1.txt: New.
6976 * data/filebuf_virtuals-1.tst: New.
6977 * data/filebuf_virtuals-1.txt: New.
6978 * data/filebuf_virtuals-2.tst: New.
6979 * data/filebuf_virtuals-3.tst: New.
6980 * data/ifstream_members-1.tst: New.
6981 * data/ifstream_members-1.txt: New.
6982 * data/ios_base_members_static-1.tst: New.
6983 * data/istream_extractor_other-1.tst: New.
6984 * data/istream_extractor_other-1.txt: New.
6985 * data/istream_extractor_other-2.tst: New.
6986 * data/istream_seeks-1.tst: New.
6987 * data/istream_seeks-1.txt: New.
6988 * data/istream_seeks-2.tst: New.
6989 * data/istream_seeks-3.tst: New.
6990 * data/istream_unformatted-1.tst: New.
6991 * data/istream_unformatted-1.txt: New.
6992 * data/ofstream_members-1.tst: New.
6993 * data/ostream_inserter_char-1.tst: New.
6994 * data/ostream_inserter_char-1.txt: New.
6995 * data/ostream_inserter_other-1.tst: New.
6996 * data/ostream_inserter_other-2.tst: New.
6997 * data/ostream_seeks-1.tst: New.
6999 2003-04-09 Benjamin Kosnik <bkoz@redhat.com>
7001 * include/bits/sstream.tcc (basic_stringbuf::seekpos): Remove
7002 requirement that __mode must be strict input or output.
7004 * include/std/std_streambuf.h (basic_streambuf::setp): Set
7007 * include/std/std_sstream.h (basic_strinbuf::str): Zero length
7008 output string shouldn't core.
7009 (basic_stringbuf::_M_really_sync): Add base argument. Remove rturn
7011 * include/bits/sstream.tcc: Adjust _M_really_sync bits here.
7013 * include/bits/istream.tcc (basic_istream::putback): Set gcount to
7016 2003-04-09 Benjamin Kosnik <bkoz@redhat.com>
7018 * testsuite/data: New directory.
7019 * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify
7020 to copy files from the testsuite data directory.
7021 (libstdc++-v3-list-sourcefiles): Add another test list filter, for
7022 testfiles containing _xin, which now means this is an interactive
7023 test and should be run with the interactive dejagnu hooks.
7024 * testsuite/Makefile.am: Remove testsuite_* files.
7025 * testsuite/Makefile.in: Regenerate.
7027 2003-04-09 Zack Weinberg <zack@codesourcery.com>
7029 * docs/html/install.html: Document complete list of locales
7030 required by test suite. Document procedure for installing
7031 said locales under Debian. Solicit instructions for other
7034 2003-04-08 Alexandre Oliva <aoliva@redhat.com>
7036 * include/bits/sstream.tcc (overflow): Make sure operands of min
7037 and max have the same type.
7039 2003-04-04 Jerry Quinn <jlquinn@optonline.net>
7042 * src/ios.cc (ios_base::_M_init): Remove _M_callbacks
7045 2003-03-31 Paolo Carlini <pcarlini@unitus.it>
7047 * include/std/std_streambuf.h (_M_out_buf_size()): Remove.
7048 * include/bits/fstream.tcc (_M_allocate_internal_buffer):
7049 Don't set _M_out_end.
7050 (basic_filebuf::overflow): Replace _M_out_buf_size() with
7051 this->_M_out_cur && this->_M_out_cur < this->_M_out_end.
7052 * include/bits/sstream.tcc (basic_stringbuf::overflow):
7053 Replace _M_out_buf_size() with this->_M_out_cur < this->_M_out_end;
7054 * include/bits/streambuf.tcc (basic_streambuf::sputc):
7055 Replace _M_out_buf_size() with _M_out_cur && _M_out_cur < _M_out_end.
7056 (basic_streambuf::xsputn): Replace _M_out_buf_size() with
7057 _M_out_end - _M_out_cur.
7058 (__copy_streambufs): Likewise.
7059 * include/std/std_fstream.h (_M_set_determinate): Set
7062 2003-03-30 Paolo Carlini <pcarlini@unitus.it>
7064 * include/bits/fstream.tcc (basic_filebuf::showmanyc,
7065 _M_convert_to_external, _M_really_overflow, seekoff): Fix
7066 test for synced buffer.
7067 * include/std/std_fstream.h (sync): Likewise.
7068 * src/fstream.cc (basic_filebuf<char>::_M_underflow_common,
7069 basic_filebuf<wchar_t>::_M_underflow_common): Likewise.
7071 2003-03-28 Benjamin Kosnik <bkoz@redhat.com>
7073 * include/std/std_sstream.h (basic_istringstream): Adjust
7075 (basic_ostringstream): Same.
7076 (basic_stringstream): Same.
7077 * include/std/std_fstream.h (basic_ifstream): Adjust initialization.
7078 (basic_ofstream): Same.
7079 (basic_fstream): Same.
7080 * include/std/std_ostream.h (basic_ostrem): Add protected ctor
7081 that does not call init.
7082 * include/std/std_istream.h (basic_istream): Same.
7083 (basic_iostream): Construct istream, ostream uninitialized, use
7084 init to initialize just once. Add protected ctor that does not
7087 2003-03-28 Paolo Carlini <pcarlini@unitus.it>
7088 Nathan Myers <ncm@cantrip.org>
7091 * include/bits/fstream.tcc (basic_filebuf<>::open): Don't
7093 (basic_filebuf<>::showmanyc): Use the information provided
7094 by codecvt and __basic_file<>::showmanyc_helper to implement
7095 a non-trivial showmanyc.
7096 * config/io/basic_file_stdio.h
7097 (__basic_file<>::showmanyc_helper): New, declare.
7098 * config/io/basic_file_stdio.cc
7099 (__basic_file<>::showmanyc_helper): Define.
7100 (__basic_file<>::_M_open_mode): Don't set O_NONBLOCK.
7101 (__basic_file<char>::open): Don't call fcntl().
7102 * acinclude.m4 (GLIBCPP_CHECK_S_ISREG_OR_S_IFREG,
7103 GLIBCPP_CHECK_POLL): New macros.
7104 * configure.in: Call here.
7105 * acconfig.h: Add #undefs for the corresponding symbols.
7106 * aclocal.m4: Regenerate.
7107 * configure: Regenerate.
7108 * config.h.in: Regenerate.
7110 2003-03-24 Benjamin Kosnik <bkoz@redhat.com>
7112 * config/linker-map.gnu: Remove string export restrictions.
7114 2003-03-24 Paolo Carlini <pcarlini@unitus.it>
7116 * testsuite/21_strings/basic_string/find/char/1.cc: Remove
7117 find_first_of, find_last_of and find_last_not_of tests.
7118 * testsuite/21_strings/basic_string/find/char/2.cc: find_first_of
7119 tests here, new file.
7120 * testsuite/21_strings/basic_string/find/wchar_t/1.cc: Likewise,
7121 remove wchar_t find_first_of, find_last_of and find_last_not_of tests.
7122 * testsuite/21_strings/basic_string/find/wchar_t/2.cc: Likewise,
7123 wchar_t find_first_of tests here, new file.
7124 * testsuite/21_strings/basic_string/rfind/char/2.cc: find_last_of
7126 * testsuite/21_strings/basic_string/rfind/char/3.cc: find_last_not_of
7128 * testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: likewise,
7129 wchar_t find_last_of tests here.
7130 * testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: likewise,
7131 wchar_t find_last_not_of tests here.
7133 2003-03-22 Loren J. Rittle <ljrittle@acm.org>
7135 * config/os/hpux/ctype_noninline.h (ctype<char>::classic_table):
7136 Correct return value.
7138 2003-03-21 Jerry Quinn <jlquinn@optonline.net>
7141 * include/bits/c++config (_GLIBCPP_FAST_MATH): Define.
7142 * include/std/std_complex.h (norm): Use faster,
7143 less accurate computation for builtin float types under --fast-math.
7145 2003-03-21 Magnus Fromreide <gnats@magfr.user.lysator.liu.se>
7147 * testsuite/testsuite_hooks.h: Fix warning nits.
7149 2003-03-19 Alexandre Oliva <aoliva@redhat.com>
7151 * config/cpu/mips/atomicity.h (__exchange_and_add, __atomic_add):
7152 Only .set mips2 for the o32 ABI.
7154 2003-03-19 Paolo Carlini <pcarlini@unitus.it>
7156 * testsuite/21_strings/char_traits/requirements/char/1.cc:
7157 Test char not wchar_t.
7159 2003-03-18 Paolo Carlini <pcarlini@unitus.it>
7161 * testsuite/21_strings/basic_string/append/wchar_t/1.cc:
7162 Correct size, taking into account sizeof(wchar_t).
7164 2003-03-18 Paolo Carlini <pcarlini@unitus.it>
7166 Reshuffle 21_strings testsuite.
7167 * testsuite/21_strings/append.cc, c_strings.cc, invariants.cc,
7168 assign.cc, ctor_copy_dtor.cc, nonmember.cc, capacity.cc,
7169 element_access.cc, operations.cc, char_traits_requirements.cc,
7170 find.cc, replace.cc, char_traits_typedefs.cc, insert.cc, rfind.cc,
7171 compare.cc, inserters_extractors.cc, substr.cc: Split up, add
7172 wchar_t tests as follows.
7173 * 21_strings/basic_string/append/char/1.cc: New.
7174 * 21_strings/basic_string/append/wchar_t/1.cc: New.
7175 * 21_strings/basic_string/assign/char/1.cc: New.
7176 * 21_strings/basic_string/assign/char/2.cc: New.
7177 * 21_strings/basic_string/assign/char/3.cc: New.
7178 * 21_strings/basic_string/assign/wchar_t/1.cc: New.
7179 * 21_strings/basic_string/assign/wchar_t/2.cc: New.
7180 * 21_strings/basic_string/assign/wchar_t/3.cc: New.
7181 * 21_strings/basic_string/capacity/1.cc: New.
7182 * 21_strings/basic_string/capacity/char/1.cc: New.
7183 * 21_strings/basic_string/capacity/char/2.cc: New.
7184 * 21_strings/basic_string/capacity/wchar_t/1.cc: New.
7185 * 21_strings/basic_string/capacity/wchar_t/2.cc: New.
7186 * 21_strings/basic_string/compare/char/1.cc: New.
7187 * 21_strings/basic_string/compare/wchar_t/1.cc: New.
7188 * 21_strings/basic_string/cons/char/1.cc: New.
7189 * 21_strings/basic_string/cons/char/2.cc: New.
7190 * 21_strings/basic_string/cons/char/3.cc: New.
7191 * 21_strings/basic_string/cons/char/4.cc: New.
7192 * 21_strings/basic_string/cons/char/5.cc: New.
7193 * 21_strings/basic_string/cons/wchar_t/1.cc: New.
7194 * 21_strings/basic_string/cons/wchar_t/2.cc: New.
7195 * 21_strings/basic_string/cons/wchar_t/3.cc: New.
7196 * 21_strings/basic_string/cons/wchar_t/4.cc: New.
7197 * 21_strings/basic_string/cons/wchar_t/5.cc: New.
7198 * 21_strings/basic_string/element_access/char/1.cc: New.
7199 * 21_strings/basic_string/element_access/char/2.cc: New.
7200 * 21_strings/basic_string/element_access/char/3.cc: New.
7201 * 21_strings/basic_string/element_access/wchar_t/1.cc: New.
7202 * 21_strings/basic_string/element_access/wchar_t/2.cc: New.
7203 * 21_strings/basic_string/element_access/wchar_t/3.cc: New.
7204 * 21_strings/basic_string/find/char/1.cc: New.
7205 * 21_strings/basic_string/find/wchar_t/1.cc: New.
7206 * 21_strings/basic_string/insert/char/1.cc: New.
7207 * 21_strings/basic_string/insert/char/2.cc: New.
7208 * 21_strings/basic_string/insert/wchar_t/1.cc: New.
7209 * 21_strings/basic_string/insert/wchar_t/2.cc: New.
7210 * 21_strings/basic_string/inserters_extractors/char/1.cc: New.
7211 * 21_strings/basic_string/inserters_extractors/char/4.cc: New.
7212 * 21_strings/basic_string/inserters_extractors/char/5.cc: New.
7213 * 21_strings/basic_string/inserters_extractors/char/6.cc: New.
7214 * 21_strings/basic_string/inserters_extractors/char/7.cc: New.
7215 * 21_strings/basic_string/inserters_extractors/char/8.cc: New.
7216 * 21_strings/basic_string/inserters_extractors/char/9.cc: New.
7217 * 21_strings/basic_string/inserters_extractors/wchar_t/1.cc: New.
7218 * 21_strings/basic_string/inserters_extractors/wchar_t/4.cc: New.
7219 * 21_strings/basic_string/inserters_extractors/wchar_t/5.cc: New.
7220 * 21_strings/basic_string/inserters_extractors/wchar_t/6.cc: New.
7221 * 21_strings/basic_string/inserters_extractors/wchar_t/7.cc: New.
7222 * 21_strings/basic_string/inserters_extractors/wchar_t/8.cc: New.
7223 * 21_strings/basic_string/inserters_extractors/wchar_t/9.cc: New.
7224 * 21_strings/basic_string/operators/char/1.cc: New.
7225 * 21_strings/basic_string/operators/char/2.cc: New.
7226 * 21_strings/basic_string/operators/wchar_t/1.cc: New.
7227 * 21_strings/basic_string/operators/wchar_t/2.cc: New.
7228 * 21_strings/basic_string/replace/char/1.cc: New.
7229 * 21_strings/basic_string/replace/char/2.cc: New.
7230 * 21_strings/basic_string/replace/char/3.cc: New.
7231 * 21_strings/basic_string/replace/char/4.cc: New.
7232 * 21_strings/basic_string/replace/char/5.cc: New.
7233 * 21_strings/basic_string/replace/wchar_t/1.cc: New.
7234 * 21_strings/basic_string/replace/wchar_t/2.cc: New.
7235 * 21_strings/basic_string/replace/wchar_t/3.cc: New.
7236 * 21_strings/basic_string/replace/wchar_t/4.cc: New.
7237 * 21_strings/basic_string/replace/wchar_t/5.cc: New.
7238 * 21_strings/basic_string/rfind/char/1.cc: New.
7239 * 21_strings/basic_string/rfind/char/2.cc: New.
7240 * 21_strings/basic_string/rfind/char/3.cc: New.
7241 * 21_strings/basic_string/rfind/wchar_t/1.cc: New.
7242 * 21_strings/basic_string/rfind/wchar_t/2.cc: New.
7243 * 21_strings/basic_string/rfind/wchar_t/3.cc: New.
7244 * 21_strings/basic_string/substr/char/1.cc: New.
7245 * 21_strings/basic_string/substr/wchar_t/1.cc: New.
7246 * 21_strings/c_strings/char/1.cc: New.
7247 * 21_strings/c_strings/char/2.cc: New.
7248 * 21_strings/c_strings/wchar_t/1.cc: New.
7249 * 21_strings/c_strings/wchar_t/2.cc: New.
7250 * 21_strings/char_traits/requirements/char/1.cc: New.
7251 * 21_strings/char_traits/requirements/wchar_t/1.cc: New.
7252 * 21_strings/char_traits/typedefs/char/1.cc: New.
7254 2003-03-17 Paolo Carlini <pcarlini@unitus.it>
7255 Petur Runolfsson <peturr02@ru.is>
7258 * src/fstream.cc (basic_filebuf<char>::_M_underflow_common,
7259 basic_filebuf<wchar_t>::_M_underflow_common):
7260 if (gptr() < egptr()) return *gptr().
7261 * testsuite/27_io/filebuf_virtuals.cc (test16): Add.
7263 * testsuite/27_io/filebuf_members.cc (test_04): Minor
7264 changes: unlink fifo before making it, fix spelling error.
7266 2003-03-17 Benjamin Kosnik <bkoz@redhat.com>
7268 * testsuite/Makefile.am (CLEANFILES): Add tmp*.
7269 * testsuite/Makefile.in: Regenerate.
7270 * testsuite/27_io/filebuf_members.cc: Consistently name tmp files.
7273 2003-03-17 Petur Runolfsson <peturr02@ru.is>
7276 * include/bits/fstream.tcc (basic_filebuf::close):
7277 Always close file, even when write fails.
7278 * testsuite/27_io/filebuf_members.cc (test_07): New test.
7280 2003-03-17 Danny Smith <dannysmith@users.sourceforge.net>
7282 * libsupc++/Makefile.am (C_COMPILE): Remove.
7283 (LTCOMPILE): Likewise.
7284 * libsupc++/Makefile.in: Regenerate.
7286 2003-03-14 Benjamin Kosnik <bkoz@redhat.com>
7288 * testsuite/23_containers/bitset_members.cc: Add test variable.
7289 * testsuite/23_containers/map_insert.cc: Same.
7290 * testsuite/22_locale/ctype/cons/char/1.cc: Same.
7291 * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Same.
7292 * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
7293 * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
7294 * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
7295 * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Same.
7296 * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Same.
7297 * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
7298 * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
7299 * testsuite/27_io/istream_exception.cc: Same.
7300 * testsuite/27_io/filebuf_virtuals.cc: Same.
7301 * testsuite/27_io/stringbuf_virtuals.cc: Same.
7302 * testsuite/27_io/ostream_inserter_arith.cc: Same.
7303 * testsuite/26_numerics/valarray_operators.cc: Same.
7304 * testsuite/26_numerics/slice.cc: Same.
7305 * testsuite/26_numerics/slice_array_assignment.cc: Same.
7306 * testsuite/24_iterators/istream_iterator.cc: Same.
7307 * mkcheck.in (TESTS_FILE): Use dejagnu-generated file if possible.
7309 2003-03-14 Petur Runolfsson <peturr02@ru.is>
7313 * config/locale/generic/ctype_members.cc,
7314 * config/locale/gnu/ctype_members.cc
7315 (ctype<wchar_t>::do_widen(char)): Cast argument to
7316 unsigned char before passing to btowc.
7317 (ctype<wchar_t>::do_widen(const char*, const char*, wchar_t*)):
7318 Convert characters with btowc instead of mbsrtowcs.
7319 (ctype<wchar_t>::do_narrow(const wchar_t*, const wchar_t*,
7321 Convert characters with wctob instead of wcsrtombs.
7322 * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: New test.
7323 * testsuite/22_locale/ctype/widen/wchar_t/2.cc: New test.
7324 * testsuite/22_locale/ctype/widen/wchar_t/3.cc: New test.
7326 2003-03-14 Benjamin Kosnik <bkoz@redhat.com>
7328 * include/stdc++.h: New.
7329 * libsupc++/exception_defines.h (__EXCEPTION_DEFINES_H): Add guard.
7330 * include/Makefile.am (stamp-std-precompile): Generate stdc++.h.gch
7331 * include/Makefile.in: Regenerate.
7332 * testsuite_flags.in (--build-cxx): Add, but don't use PCHFLAGS.
7333 (--cxxflags): Put -g -O2 here.
7334 * testsuite/libstdc++-v3.dg/dg.exp: Remove -g -O2 here.
7336 2003-03-14 Loren J. Rittle <ljrittle@acm.org>
7338 * testsuite/testsuite_hooks.h: Suppress runtime exception thrown by
7339 missing named locale.
7341 2003-03-14 Andreas Schwab <schwab@suse.de>
7343 * configure.in: Only append to makefiles that are newly created to
7344 avoid multiple multi-do/multi-clean rules.
7345 * configure: Rebuilt.
7347 2003-03-13 Jonathan Wakely <redi@gcc.gnu.org>
7349 * docs/html/configopts.html, docs/html/documentation.html,
7350 docs/html/explanations.html, docs/html/install.html,
7351 docs/html/19_diagnostics/howto.html, docs/html/faq/index.html: Fix
7352 invalid XHTML and make page header style consistent.
7354 2003-03-12 Jonathan Wakely <redi@gcc.gnu.org>
7356 * docs/html/faq/index.html: Explain memory "leaks" due to allocators.
7357 * docs/html/faq/index.txt: Regenerate.
7358 * docs/html/debug.html: Add a bit to allocator text and fix XHTML.
7360 2003-03-12 Andreas Schwab <schwab@suse.de>
7362 * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
7363 glibcpp_toolexeclibdir.
7364 * aclocal.m4, configure: Rebuilt.
7366 2003-03-11 Jonathan Wakely <redi@gcc.gnu.org>
7368 * docs/html/faq/index.html: Update text about location of headers.
7369 * docs/html/faq/index.txt: Regenerate.
7371 2003-03-11 Carlo Wood <carlo@alinoe.com>
7373 * include/bits/demangle.h: Prepend accessors of
7374 class qualifier with 'get_' in order to fix warnings
7375 when compiling with -Wshadow.
7377 2003-03-11 Loren J. Rittle <ljrittle@acm.org>
7379 * config/os/bsd/freebsd/ctype_inline.h: Support _M_table
7381 * testsuite/22_locale/ctype/cons/char/1.cc: Fix typo.
7383 * testsuite/testsuite_hooks.h (run_tests_wrapped_env): Do not
7384 report lack of setenv().
7386 2003-03-09 Paolo Carlini <pcarlini@unitus.it>
7388 * config/io/basic_file_stdio.cc: include <unistd.h>.
7390 2003-03-09 Paolo Carlini <pcarlini@unitus.it>
7391 Nathan Myers <ncm@cantrip.org>
7394 * config/io/basic_file_stdio.h (__basic_file<>::xsgetn, xsputn,
7395 seekoff, seekpos): Add a boolean parameter __stdio.
7396 * config/io/basic_file_stdio.cc (__basic_file<>::xsgetn, xsputn,
7397 seekoff, seekpos): If __stdio == true, use fread (fwrite, fseek/ftell,
7398 fseek/ftell, respectively), otherwise read (write, lseek, lseek,
7400 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external,
7401 _M_really_overflow, seekoff): Use the boolean parameter in the calls.
7402 * include/std/std_fstream.h (sync): Likewise.
7403 * src/fstream.cc (basic_filebuf<>::_M_underflow_common): Likewise.
7404 * src/ios.cc (ios_base::Init::_S_ios_create(bool)): Revert
7405 libstdc++/8399 commit involving isatty(0).
7406 * acinclude.m4 (GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1): Remove.
7407 (GLIBCPP_CHECK_UNISTD_SUPPORT): Remove
7408 * configure.in: Remove call.
7409 * aclocal.m4: Regenerate.
7410 * config.h.in: Regenerate.
7411 * configure: Regenerate.
7412 * testsuite/27_io/narrow_stream_objects.cc (test11): Add.
7414 2003-03-09 Paolo Carlini <pcarlini@unitus.it>
7417 * include/bits/fstream.tcc (overflow): don't write EOF to file.
7418 * testsuite/27_io/filebuf_virtuals.cc (test15): Add.
7420 2003-03-08 Jerry Quinn <jlquinn@optonline.net>
7423 * include/bits/basic_ios.h (_M_setstate): New.
7424 * include/bits/ostream.tcc (operator<<): Use it.
7425 * include/bits/istream.tcc (operator>>): Use it.
7426 * include/std/std_ostream.h (operator<<): Make friends.
7427 * include/std/std_istream.h (operator>>): Make friends.
7428 * testsuite/27_io/ostream_exception.cc,
7429 testsuite/27_io/istream_exception.cc: New tests.
7431 2003-03-08 Benjamin Kosnik <bkoz@redhat.com>
7433 * include/bits/locale_facets.tcc: Fix typo.
7435 2003-03-08 Loren J. Rittle <ljrittle@acm.org>
7437 * testsuite/26_numerics/c99_classification_macros_c.cc: Tweak test.
7439 * config/locale/generic/c_locale.cc
7440 (locale::facet::_S_create_c_locale): Throw runtime exception when
7441 unsupported language is specified.
7442 * testsuite/testsuite_hooks.h
7443 (run_test_wrapped_generic_locale_exception_catcher): New function.
7444 * testsuite/testsuite_hooks.cc (run_tests_wrapped_locale):
7445 Suppress runtime exception thrown by generic implementation.
7446 (run_tests_wrapped_env): Likewise.
7447 (run_test_wrapped_generic_locale_exception_catcher): New function.
7448 * testsuite/22_locale/collate/compare/char/1.cc: New test wrap.
7449 * testsuite/22_locale/collate/compare/char/2.cc: New test wrap.
7450 * testsuite/22_locale/collate/compare/char/3.cc: New test wrap.
7451 * testsuite/22_locale/collate/hash/char/2.cc: New test wrap.
7452 * testsuite/22_locale/collate/transform/char/2.cc: New test wrap.
7453 * testsuite/22_locale/collate/transform/char/3.cc: New test wrap.
7454 * testsuite/22_locale/collate_byname/1.cc: New test wrap.
7455 * testsuite/22_locale/ctype/is/char/2.cc: New test wrap.
7456 * testsuite/22_locale/facet/2.cc: New test wrap.
7457 * testsuite/22_locale/locale/cons/4.cc: New test wrap.
7458 * testsuite/22_locale/locale/cons/5.cc: New test wrap.
7459 * testsuite/22_locale/locale/cons/7.cc: New test wrap.
7460 * testsuite/22_locale/messages/members/char/1.cc: New test wrap.
7461 * testsuite/22_locale/messages/members/char/2.cc: New test wrap.
7462 * testsuite/22_locale/messages/members/char/3.cc: New test wrap.
7463 * testsuite/22_locale/messages_byname/1.cc: New test wrap.
7464 * testsuite/22_locale/money_get/get/char/1.cc: New test wrap.
7465 * testsuite/22_locale/money_get/get/char/2.cc: New test wrap.
7466 * testsuite/22_locale/money_get/get/char/3.cc: New test wrap.
7467 * testsuite/22_locale/money_get/get/char/4.cc: New test wrap.
7468 * testsuite/22_locale/money_put/put/char/1.cc: New test wrap.
7469 * testsuite/22_locale/money_put/put/char/2.cc: New test wrap.
7470 * testsuite/22_locale/money_put/put/char/3.cc: New test wrap.
7471 * testsuite/22_locale/moneypunct/members/char/2.cc: New test wrap.
7472 * testsuite/22_locale/moneypunct_byname/1.cc: New test wrap.
7473 * testsuite/22_locale/num_get/get/char/1.cc: New test wrap.
7474 * testsuite/22_locale/num_get/get/char/2.cc: New test wrap.
7475 * testsuite/22_locale/num_get/get/char/3.cc: New test wrap.
7476 * testsuite/22_locale/num_get/get/char/5.cc: New test wrap.
7477 * testsuite/22_locale/num_get/get/char/6.cc: New test wrap.
7478 * testsuite/22_locale/num_put/put/char/1.cc: New test wrap.
7479 * testsuite/22_locale/num_put/put/char/2.cc: New test wrap.
7480 * testsuite/22_locale/num_put/put/char/3.cc: New test wrap.
7481 * testsuite/22_locale/num_put/put/char/5.cc: New test wrap.
7482 * testsuite/22_locale/numpunct/members/char/1.cc: New test wrap.
7483 * testsuite/22_locale/numpunct/members/char/2.cc: New test wrap.
7484 * testsuite/22_locale/numpunct_byname/1.cc: New test wrap.
7485 * testsuite/22_locale/numpunct_byname/2.cc: New test wrap.
7486 * testsuite/22_locale/time_get/date_order/char/1.cc: New test wrap.
7487 * testsuite/22_locale/time_get/get_date/char/1.cc: New test wrap.
7488 * testsuite/22_locale/time_get/get_date/char/2.cc: New test wrap.
7489 * testsuite/22_locale/time_get/get_monthname/char/1.cc: New test wrap.
7490 * testsuite/22_locale/time_get/get_monthname/char/2.cc: New test wrap.
7491 * testsuite/22_locale/time_get/get_time/char/1.cc: New test wrap.
7492 * testsuite/22_locale/time_get/get_time/char/2.cc: New test wrap.
7493 * testsuite/22_locale/time_get/get_weekday/char/1.cc: New test wrap.
7494 * testsuite/22_locale/time_get/get_weekday/char/2.cc: New test wrap.
7495 * testsuite/22_locale/time_get/get_year/char/1.cc: New test wrap.
7496 * testsuite/22_locale/time_put/put/char/1.cc: New test wrap.
7497 * testsuite/22_locale/time_put/put/char/2.cc: New test wrap.
7498 * testsuite/22_locale/time_put/put/char/3.cc: New test wrap.
7499 * testsuite/22_locale/time_put/put/char/4.cc: New test wrap.
7500 * testsuite/22_locale/time_put/put/char/5.cc: New test wrap.
7501 * testsuite/22_locale/time_put/put/char/6.cc: New test wrap.
7502 * testsuite/22_locale/time_put/put/char/7.cc: New test wrap.
7503 * testsuite/22_locale/time_put/put/char/8.cc: New test wrap.
7504 * testsuite/27_io/filebuf_virtuals.cc: New test wrap.
7505 * testsuite/27_io/ios_members.cc: New test wrap.
7506 * testsuite/27_io/ostream_inserter_arith.cc (test02): Make void.
7508 * testsuite/27_io/streambuf_members.cc: New test wrap.
7509 * testsuite/27_io/stringbuf_virtuals.cc: New test wrap.
7511 2003-03-08 Paolo Carlini <pcarlini@unitus.it>
7512 Petur Runolfsson <peturr02@ru.is>
7515 * include/bits/streambuf.tcc (__copy_streambufs): Use
7516 sgetn-sputn only when sputn cannot fail, otherwise fall back
7517 to safe snextc-sputc.
7518 * testsuite/27_io/streambuf_members.cc (test11, test12): Add.
7520 2003-03-08 Jerry Quinn <jlquinn@optonline.net>
7522 * include/bits/locale_facets.tcc (num_put::do_put(bool)): Use
7523 locale cache for truename and falsename.
7525 2003-03-08 Jerry Quinn <jlquinn@optonline.net>
7527 * src/ios.cc (ios_base::ios_base): Correct order of _M_word and
7528 _M_word_size initialization.
7530 2003-03-07 Paolo Carlini <pcarlini@unitus.it>
7532 * include/bits/fstream.tcc (_M_convert_to_external):
7533 Set __elen to zero if codecvt::out eventually fails.
7535 2003-03-07 Paolo Carlini <pcarlini@unitus.it>
7538 * include/bits/fstream.tcc (_M_really_overflow): Check
7539 for _M_convert_to_external possible failures.
7540 * include/std/std_fstream.h (sync): Check _M_really_overflow
7541 return value and return -1 in case of failure.
7542 * testsuite/27_io/filebuf_virtuals.cc (test13, test14): Add.
7544 2003-03-07 Paolo Carlini <pcarlini@unitus.it>
7547 * include/bits/istream.tcc (operator>>(_CharT*),
7548 operator>>(basic_string&), ws): Pass a char_type to __ctype.is.
7549 * testsuite/27_io/stringstream.cc (test02): Add.
7551 * include/bits/istream.tcc (operator>>(_CharT*)):
7552 Assign a char_type to *__s.
7554 2003-03-07 Petur Runolfsson <peturr02@ru.is>
7557 * include/bits/locale_facets.tcc
7558 (collate::do_compare, collate::do_transform):
7559 Handle nul characters in input.
7560 * testsuite/22_locale/collate/compare/char/3.cc: New test.
7561 * testsuite/22_locale/collate/compare/wchar_t/3.cc: New test.
7562 * testsuite/22_locale/collate/transform/char/3.cc: New test.
7563 * testsuite/22_locale/collate/transform/wchar_t/3.cc: New test.
7565 2003-03-07 Jerry Quinn <jlquinn@optonline.net>
7567 * include/bits/streambuf_iterator.h (_M_put): Set _M_failed if
7569 * testsuite/27_io/ostream_fail.cc: New test.
7571 2003-03-07 Matthias Klose <doko@debian.org>
7573 * Makefile.am (AM_MAKEFLAGS): Also pass gxx_include_dir.
7574 FLAGS_TO_PASS: Set to AM_MAKEFLAGS
7575 * Makefile.in: Regenerate.
7576 * libsupc++/Makefile.am: Express glibcppinstalldir in terms
7578 AM_MAKEFLAGS: Pass gxx_include_dir.
7579 * libsupc++/Makefile.in: Regenerate.
7581 2003-03-06 Jerry Quinn <jlquinn@optonline.net>
7583 * testsuite/27_io/ios_base_storage.cc (test02): Set exception
7584 mask. Test setting small-numbered pword and iword slots. Test
7585 behavior at limit of numeric_limits::max. Check that values are
7586 still good after failures.
7588 2003-03-06 Jerry Quinn <jlquinn@optonline.net>
7590 * src/ios.cc (ios_base::_M_init): Remove _M_word_size.
7591 (ios_base::ios_base): Set _M_word, _M_word_size.
7592 (ios_base::~ios_base): Remove redundant test.
7593 * testsuite/27_io/ios_base_storage.cc (test03): New.
7595 2003-03-04 Alexandre Oliva <aoliva@redhat.com>
7597 * src/strstream.cc, include/bits/basic_string.tcc: Remove
7598 incorrect whitespace added in my previous change.
7600 2003-03-05 Carlo Wood <carlo@alinoe.com>
7602 * include/bits/ios_base.h(ios_base::Init::_S_initialized()): Added
7603 _S_initialized() in order to allow debugging libraries to detect
7604 when the std streams are initialized from an overloaded operator
7607 2003-03-05 Benjamin Kosnik <bkoz@redhat.com>
7609 * libsupc++/demangle.h: Move to..
7610 * include/bits/demangle.h: ...here.
7611 * src/demangle.cc: Adjust include.
7612 * include/Makefile.am (bits_headers): Add.
7613 * include/Makefile.in: Regenerate.
7615 2003-03-04 Benjamin Kosnik <bkoz@redhat.com>
7617 * src/globals.cc: Clarify comments, remove c_locale_imp_compat.
7619 * config/linker-map.gnu: Filter typeinfo and vtable info.
7621 2003-03-04 Jerry Quinn <jlquinn@optonline.net>
7623 * src/ios.cc (ios_base::_M_grow_words): Don't delete _M_word on
7624 new failure. Throw exception if badbit and exception mask when ix
7625 >= numeric_limits<int>::max().
7627 2003-03-04 Alexandre Oliva <aoliva@redhat.com>
7629 * src/strstream.cc (strstreambuf::overflow): Make sure operands of
7630 min and max have the same type.
7631 * include/bits/basic_string.tcc (append, rfind, compare): Likewise.
7633 2003-03-04 Benjamin Kosnik <bkoz@redhat.com>
7635 * include/Makefile.am (allstamps): Remove stamp-std-precompile.
7636 * include/Makefile.in: Regenerate.
7638 2003-03-03 Benjamin Kosnik <bkoz@redhat.com>
7640 * testsuite/abi_check.cc (report_symbol_info): Add version info.
7642 * config/linker-map.gnu: Hide more stuff.
7643 * include/Makefile.am: Cleanups.
7644 * include/Makefile.in: Regenerate.
7646 2003-02-27 Jerry Quinn <jlquinn@optonline.net>
7648 * config/locale/generic/messages_members.h (messages::messages):
7649 Remove name from unused parameter.
7651 2003-02-27 Benjamin Kosnik <bkoz@redhat.com>
7653 * src/Makefile.am (sources): Add demangle.cc.
7656 * src/Makefile.in: Regenerate.
7657 * libsupc++/Makefile.am: Remove old __cxa_demangle bits.
7658 * libsupc++/Makefile.in: Regenerate.
7660 * testsuite/testsuite_hooks.h
7661 (__gnu_cxx_test::verify_demangle): New.
7662 * testsuite/testsuite_hooks.cc: Define.
7664 2003-02-27 Carlo Wood <carlo@alinoe.com>
7666 * src/demangle.cc: New.
7667 * libsupc++/demangle.h: New.
7669 2003-02-27 Benjamin Kosnik <bkoz@redhat.com>
7670 Carlo Wood <carlo@alinoe.com>
7672 * testsuite/demangle/abi_examples/01.cc: New.
7673 * testsuite/demangle/abi_examples/02.cc: New.
7674 * testsuite/demangle/abi_examples/03.cc: New.
7675 * testsuite/demangle/abi_examples/04.cc: New.
7676 * testsuite/demangle/abi_examples/05.cc: New.
7677 * testsuite/demangle/abi_examples/06.cc: New.
7678 * testsuite/demangle/abi_examples/07.cc: New.
7679 * testsuite/demangle/abi_examples/08.cc: New.
7680 * testsuite/demangle/abi_examples/09.cc: New.
7681 * testsuite/demangle/abi_examples/10.cc: New.
7682 * testsuite/demangle/abi_examples/11.cc: New.
7683 * testsuite/demangle/abi_examples/12.cc: New.
7684 * testsuite/demangle/abi_examples/13.cc: New.
7685 * testsuite/demangle/abi_examples/14.cc: New.
7686 * testsuite/demangle/abi_examples/15.cc: New.
7687 * testsuite/demangle/abi_examples/16.cc: New.
7688 * testsuite/demangle/abi_examples/17.cc: New.
7689 * testsuite/demangle/abi_examples/18.cc: New.
7690 * testsuite/demangle/abi_examples/19.cc: New.
7691 * testsuite/demangle/abi_examples/20.cc: New.
7692 * testsuite/demangle/abi_examples/21.cc: New.
7693 * testsuite/demangle/abi_examples/22.cc: New.
7694 * testsuite/demangle/abi_examples/23.cc: New.
7695 * testsuite/demangle/abi_examples/24.cc: New.
7696 * testsuite/demangle/abi_examples/25.cc: New.
7697 * testsuite/demangle/abi_examples/26.cc: New.
7698 * testsuite/demangle/abi_text/01.cc: New.
7699 * testsuite/demangle/abi_text/02.cc: New.
7700 * testsuite/demangle/abi_text/03.cc: New.
7701 * testsuite/demangle/abi_text/04.cc: New.
7702 * testsuite/demangle/abi_text/05.cc: New.
7703 * testsuite/demangle/abi_text/06.cc: New.
7704 * testsuite/demangle/abi_text/07.cc: New.
7705 * testsuite/demangle/abi_text/08.cc: New.
7706 * testsuite/demangle/abi_text/09.cc: New.
7707 * testsuite/demangle/abi_text/10.cc: New.
7708 * testsuite/demangle/abi_text/11.cc: New.
7709 * testsuite/demangle/abi_text/12.cc: New.
7710 * testsuite/demangle/abi_text/13.cc: New.
7711 * testsuite/demangle/abi_text/14.cc: New.
7712 * testsuite/demangle/regression/3111-1.cc: New.
7713 * testsuite/demangle/regression/3111-2.cc: New.
7714 * testsuite/demangle/regression/7986-01.cc: New.
7715 * testsuite/demangle/regression/7986-02.cc: New.
7716 * testsuite/demangle/regression/7986-03.cc: New.
7717 * testsuite/demangle/regression/7986-04.cc: New.
7718 * testsuite/demangle/regression/7986-05.cc: New.
7719 * testsuite/demangle/regression/7986-06.cc: New.
7720 * testsuite/demangle/regression/7986-07.cc: New.
7721 * testsuite/demangle/regression/7986-08.cc: New.
7722 * testsuite/demangle/regression/7986-09.cc: New.
7723 * testsuite/demangle/regression/7986-10.cc: New.
7724 * testsuite/demangle/regression/7986-11.cc: New.
7725 * testsuite/demangle/regression/7986-12.cc: New.
7726 * testsuite/demangle/regression/7986.cc: New.
7727 * testsuite/demangle/regression/8897.cc: New.
7728 * testsuite/demangle/regression/cw-01.cc: New.
7729 * testsuite/demangle/regression/cw-02.cc: New.
7730 * testsuite/demangle/regression/cw-03.cc: New.
7731 * testsuite/demangle/regression/cw-04.cc: New.
7732 * testsuite/demangle/regression/cw-05.cc: New.
7733 * testsuite/demangle/regression/cw-06.cc: New.
7734 * testsuite/demangle/regression/cw-07.cc: New.
7735 * testsuite/demangle/regression/cw-08.cc: New.
7736 * testsuite/demangle/regression/cw-09.cc: New.
7737 * testsuite/demangle/regression/cw-10.cc: New.
7738 * testsuite/demangle/regression/cw-11.cc: New.
7739 * testsuite/demangle/regression/cw-12.cc: New.
7740 * testsuite/demangle/regression/cw-13.cc: New.
7741 * testsuite/demangle/regression/cw-14.cc: New.
7742 * testsuite/demangle/regression/old.cc: New.
7744 2003-02-25 Phil Edwards <pme@gcc.gnu.org>
7746 * docs/doxygen/Intro.3: Update with new (proper) names.
7747 * docs/doxygen/TODO: Update.
7748 * docs/doxygen/run_doxygen: More comments, fix up man pages.
7749 Fake entries for standard typedefs.
7750 * docs/doxygen/user.cfg.in: Turn INLINE_INHERITED_MEMB back on.
7751 * docs/html/documentation.html: Top-level man page is now called
7753 * include/std/std_limits.h: Doxygenate.
7755 2003-02-25 Scott Snyder <snyder@fnal.gov>
7758 * include/bits/stl_map.h (lower_bound, upper_bound, equal_range):
7759 Correct documentation.
7760 * include/bits/stl_multimap.h (lower_bound, upper_bound,
7761 equal_range): Likewise.
7763 2003-02-24 Paolo Carlini <pcarlini@unitus.it>
7767 (basic_filebuf<char/wchar_t>::_M_underflow_common): When
7768 __bump is true (uflow), always increment the read pointer
7769 (_M_in_cur) before returning successfully.
7770 * testsuite/27_io/filebuf_virtuals.cc (test12): Add.
7772 2003-02-24 Paolo Carlini <pcarlini@unitus.it>
7773 Nathan Myers <ncm@cantrip.org>
7775 PR libstdc++/9404, PR libstdc++/9701 (partial)
7776 (aka pptr == epptr implies overflow)
7777 * include/bits/fstream.tcc (_M_allocate_internal_buffer):
7778 Consistently, _M_out_end points to the end of the buffer just
7780 (overflow): Tweak to use _M_out_buf_size().
7781 (_M_convert_to_external): The role of the old _M_out_end is
7782 now played by _M_out_lim.
7783 (_M_really_overflow): Likewise.
7784 (seekoff): Likewise.
7785 (setbuf): _M_out_end points to the end of the external buffer.
7786 * include/bits/sstream.tcc (overflow): Rewrote, taking into
7787 account the resolution of DR 169 (TC).
7788 (seekoff): Use _M_string.capacity(); ios_base::end is now _M_out_lim.
7789 (seekpos): Use _M_string.capacity(); tweak.
7790 * include/bits/streambuf.tcc (sputc, xsputn): Remove comments.
7791 * include/std/std_fstream.h (sync): The role of the old
7792 _M_out_end is now played by _M_out_lim.
7793 (_M_set_indeterminate): Use _M_set_determinate.
7794 (_M_set_determinate): _M_out_end is now _M_out_lim.
7795 (_M_is_indeterminate): Likewise.
7796 * include/std/std_sstream.h (str()): _M_out_end is now _M_out_lim.
7797 (_M_stringbuf_init): Don't set _M_buf_size, unused for sstreams,
7798 which have the information readily available as _M_string.capacity();
7799 for ate and app modes, pass the string size to _M_really_sync.
7800 (_M_really_sync): Consistently set _M_out_end and _M_out_lim, to
7801 point to the end of the buffer (i.e., epptr) and to the string end,
7803 * include/std/std_streambuf.h: tweak comments, add _M_out_lim,
7804 which points to the right limit of the used put area.
7805 (_M_out_cur_move): The role of the old _M_out_end is now played
7807 (_M_out_buf_size): Simplify: now (when _M_out_cur) return simply
7808 _M_out_end - _M_out_cur (i.e., pptr), _very_ close to the letter
7810 (basic_streambuf()): Initialize _M_out_lim too.
7811 * testsuite/27_io/filebuf_virtuals.cc (test10): Trivial tweak.
7812 * testsuite/27_io/filebuf_virtuals.cc (test11): Add.
7813 * testsuite/27_io/stringbuf_virtuals.cc (test09): Add.
7815 2003-02-24 Benjamin Kosnik <bkoz@redhat.com>
7817 * testsuite/27_io/ios_base_storage.cc (main): Call
7820 2003-02-21 Jerry Quinn <jlquinn@optonline.net>
7822 * include/bits/locale_facets.tcc (_M_convert_float): Replace
7823 numpunct facet accesses with data from __locale_cache.
7825 2003-02-20 Phil Edwards <pme@gcc.gnu.org>
7827 * docs/html/faq/index.html (3.9): New note, wchar_t on FreeBSD.
7828 * docs/html/faq/index.txt: Regenerate.
7830 2003-02-20 Phil Edwards <pme@gcc.gnu.org>
7832 * config/linker-map.gnu: Also export locking symbols needed for the
7833 generic atomicity.h case.
7835 2003-02-20 Alexandre Oliva <aoliva@redhat.com>
7837 * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
7839 * configure: Rebuilt.
7841 2003-02-19 Paolo Carlini <pcarlini@unitus.it>
7843 * include/bits/sstream.tcc (overflow): According to
7844 27.7.1.3, p5, actual output is performed by sputc(c).
7846 2003-02-19 Phil Edwards <pme@gcc.gnu.org>
7849 * include/bits/stl_alloc.h: Remove all traces of assert().
7851 2003-02-18 Paolo Carlini <pcarlini@unitus.it>
7853 * include/std/std_sstream.h (str()): the size of the
7854 current string may be different from the initial one
7855 whenever _M_out_end > _M_out_beg.
7856 * testsuite/27_io/stringbuf_members.cc (test07): Add.
7858 2003-02-18 Paolo Carlini <pcarlini@unitus.it>
7861 * include/bits/stl_alloc.h (__pool_alloc::allocate): Remove assert.
7863 2003-02-17 Benjamin Kosnik <bkoz@redhat.com>
7865 * include/bits/basic_ios.tcc (copyfmt): Copy locale data as well.
7866 * testsuite/27_io/ios_members.cc (test03): New.
7868 2003-02-17 Jerry Quinn <jlquinn@optonline.net>
7870 * include/bits/basic_ios.h (basic_ios::_M_cache_locale): Declare.
7871 (basic_ios::_M_cache_facets): Move into above.
7872 * include/bits/basic_ios.tcc (basic_ios::copyfmt): Rebuild locale
7874 (basic_ios::imbue): Force locale cache to be built.
7875 (basic_ios::_M_init): Create and initialize locale cache.
7876 * include/bits/ios_base.h (__locale_cache_base): Declare.
7877 (ios_base::_M_locale_cache): New.
7878 (ios_base::_M_cache): Define.
7879 * include/bits/locale_facets.h: (__num_base): Fix comment. Add
7881 (__locale_cache_base,__locale_cache<_CharT>): New classes.
7882 (__locale_cache<char>, __locale_cache<wchar_t>): New specializations.
7883 * include/bits/locale_facets.tcc (num_put::_M_convert_int): Use locale
7884 cache literal string, grouping flag, thousands separator.
7885 (__locale_cache<_CharT>::__locale_cache): New.
7886 (__locale_cache<_CharT>::_M_init): New.
7887 * src/ios.cc: Clear _M_locale_cache in constructor.
7888 * src/locale-inst.cc (__locale_cache<char>, __locale_cache<_char_t>):
7891 2003-02-17 Paolo Carlini <pcarlini@unitus.it>
7893 * src/locale-inst.cc: Do not include <cassert>.
7894 * src/locale.cc: Likewise.
7896 2003-02-17 Paolo Carlini <pcarlini@unitus.it>
7899 * include/std/std_fstream.h: Declare underflow and uflow
7900 specializations, change generic definitions to do nothing.
7901 * src/fstream.cc: Add underflow and uflow specializations.
7903 2003-02-17 Paolo Carlini <pcarlini@unitus.it>
7906 * include/bits/fstream.tcc (_M_convert_to_external):
7907 Deal correctly with noconv, as prescribed by 27.8.1.4,p8.
7908 * testsuite/27_io/filebuf_virtuals.cc (test10): Add.
7910 2003-02-13 Benjamin Kosnik <bkoz@redhat.com>
7912 * include/bits/c++config (_GLIBCPP_EXTERN_TEMPLATE): Define.
7913 * include/bits/basic_ios.tcc: Guard use of extern template.
7914 * include/std/std_iomanip.h: Same.
7915 * include/bits/streambuf.tcc: Same.
7916 * include/bits/stl_alloc.h: Same.
7917 * include/bits/locale_facets.tcc: Same.
7918 * include/bits/ostream.tcc: Same.
7919 * include/bits/istream.tcc: Same.
7920 * include/bits/fstream.tcc: Same.
7921 * include/bits/basic_string.tcc: Same.
7923 2003-02-13 Paolo Carlini <pcarlini@unitus.it>
7925 * include/bits/ostream.tcc (sentry::sentry): Improve
7926 performance-wise the fix for libstdc++/9563.
7928 2003-02-12 Phil Edwards <pme@gcc.gnu.org>
7930 * config/cpu/generic/atomicity.h (_Atomic_add_mutex): Fix declaration.
7931 (_GLIBCPP_NEED_GENERIC_MUTEX): Define for this file.
7932 (_Atomic_add_mutex_once, __gthread_atomic_add_mutex_once): Declare
7933 when we don't have static mutex initialization.
7934 (__exchange_and_add): Use _Atomic_add_mutex_once.
7935 * src/misc-inst.cc: Definitions of all the above.
7937 2003-02-12 Paolo Carlini <pcarlini@unitus.it>
7940 * include/bits/ostream.tcc (sentry::sentry): Check
7941 the state of the stream after the preparation.
7942 * testsuite/27_io/ostream_sentry.cc (test02): Add.
7944 2003-02-11 Benjamin Kosnik <bkoz@redhat.com>
7946 * include/Makefile.am (stamp-std-precompile): Add rule.
7947 * include/Makefile.in: Regenerated.
7949 2003-02-11 Jerry Quinn <jlquinn@optonline.net>
7950 Benjamin Kosnik <benjamin@redhat.com>
7952 * include/bits/locale_facets.h (__num_base): Add _S_atoms_out.
7953 Add indexes into this array.
7954 (__num_base::_S_atoms): To _S_atoms_in.
7955 (num_put::_M_insert): Rename to _M_pad.
7956 (num_put::_M_convert_int): Adjust remove __mod, __modl arguments.
7957 (num_put::_M_widen_int): Rename to _M_group_int.
7958 (num_put::_M_widen_float): Rename to _M_group_float.
7959 * include/bits/locale_facets.tcc (__int_to_char): New inline
7960 function and adapter functions.
7961 (num_put::_M_group_int): Streamline.
7962 (num_put::_M_group_float): Streamline.
7963 (num_put::_M_convert_int): Remove unused parameter names. Choose
7964 large enough buffer for text. Use __int_to_char instead of
7965 __convert_from_v. Formatted text is now at the end of the buffer.
7966 (num_put::_M_convert_float): Preliminary fixups.
7967 * src/locale-inst.cc (__convert_from_v<long long>): Add ifdef.
7968 (__int_to_char<unsigned long long>): Same.
7969 (__int_to_char<char, unsigned long>): New.
7970 (__int_to_char<char, unsigned long long>): New.
7971 (__int_to_char<wchar_t, unsigned long>): New.
7972 (__int_to_char<wchar_t, unsigned long long>): New.
7974 2003-02-11 Scott Snyder <snyder@fnal.gov>
7977 * include/bits/fstream.tcc (seekoff): Avoid operator+
7980 2003-02-11 Paolo Carlini <pcarlini@unitus.it>
7983 * include/ext/stdio_filebuf.h
7984 (stdio_filebuf(int, std::ios_base::openmode, bool, int_type),
7985 stdio_filebuf(std::__c_file*, std::ios_base::openmode, int_type)):
7986 Change to take a __size parameter of type size_t, not
7987 of type (template parameter dependent) int_type.
7988 * src/ios.cc (ios_base::Init::_S_ios_create): Change type of
7989 size vars to size_t.
7990 * testsuite/ext/stdio_filebuf.cc: Add.
7992 2003-02-11 Paolo Carlini <pcarlini@unitus.it>
7993 Petur Runolfsson <peturr02@ru.is>
7996 * include/bits/streambuf.tcc (__copy_streambufs):
7997 Don't conditionalize the copy to __testput.
7998 * testsuite/27_io/streambuf_members.cc (test09, test10): Add.
8000 2002-02-11 DJ Delorie <dj@redhat.com>
8002 * acinclude.m4: Check for native targets that can't link at
8003 this point in the build.
8004 * aclocal.m4: Regenerate.
8005 * configure: Regenerate.
8007 2003-02-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8009 * hppa/atomicity.h (__Atomicity_lock<__inst>::_S_atomicity_lock):
8011 (__exchange_and_add, __atomic_add): Use PA 2.0 ordered store to reset
8014 2003-02-07 Paolo Carlini <pcarlini@unitus.it>
8016 * testsuite/27_io/filebuf_virtuals.cc (test08): Fix for
8017 unsigned char platforms.
8019 2003-02-06 Paolo Carlini <pcarlini@unitus.it>
8022 * include/std/std_istream.h
8023 (basic_istream::sentry::operator bool()): Make const.
8024 * include/std/std_ostream.h
8025 (basic_ostream::sentry::operator bool()): Likewise.
8026 * testsuite/27_io/istream_sentry.cc (test03): Add.
8027 * testsuite/27_io/ostream_sentry.cc: Add.
8029 2003-02-06 Paolo Carlini <pcarlini@unitus.it>
8032 Implement resolution of DR 231 (Ready)
8033 * include/bits/locale_facets.h (__num_base::_S_format_float):
8034 Change declaration: return void, remove __prec parameter.
8035 * src/locale.cc (__num_base::_S_format_float): Implement
8036 resolution of DR 231.
8037 * include/bits/locale_facets.tcc (num_put::_M_convert_float):
8038 Tweak uses. Check for negative precision.
8039 * testsuite/22_locale/num_put/put/char/6.cc: Add
8040 * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
8042 2003-02-06 Peter Soetens <peter.soetens@mech.kuleuven.ac.be>
8044 * config/io/basic_file_libio.h: Fixups.
8045 * config/io/c_io_libio.h: Same.
8046 * libio/Makefile.am: Same.
8047 * libio/Makefile.in: Regenerated.
8049 2003-02-06 Benjamin Kosnik <bkoz@redhat.com>
8051 * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc (test01):
8052 Explicitly use the "C" locale.
8053 * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc (test01): Same.
8055 2003-02-06 Petur Runolfsson <peturr02@ru.is>
8059 PR libstdc++/9028 (partial)
8065 (codecvt<wchar_t, char, mbstate_t>::do_encoding,
8066 codecvt<wchar_t, char, mbstate_t>::do_length,
8067 codecvt<wchar_t, char, mbstate_t>::do_max_length):
8069 * config/locale/generic/codecvt_members.cc: ...here.
8070 * config/locale/gnu/codecvt_members.cc: ...and here.
8072 * config/locale/generic/codecvt_members.cc,
8073 * config/locale/gnu/codecvt_members.cc
8074 (codecvt<wchar_t, char, mbstate_t>::do_encoding
8075 codecvt<wchar_t, char, mbstate_t>::do_in,
8076 codecvt<wchar_t, char, mbstate_t>::do_length,
8077 codecvt<wchar_t, char, mbstate_t>::do_max_length,
8078 codecvt<wchar_t, char, mbstate_t>::do_out):
8079 New implementation that handles stateless encodings,
8082 * config/locale/generic/codecvt_members.cc,
8083 * config/locale/gnu/codecvt_members.cc,
8084 * config/locale/ieee_1003.1-2001/codecvt_specializations.h,
8085 * include/bits/codecvt.h,
8087 (codecvt::length, codecvt::do_length):
8088 Change type of first argument of length and do_length from
8089 'const state_type&' to 'state_type&' according to DR 75.
8091 * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Cleanup.
8092 * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: New test.
8093 * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: New test.
8094 * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: New test.
8095 * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc:
8096 Cleanup and check for correct return value from encoding
8098 * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: New test.
8099 * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: New test.
8100 * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: New test.
8101 * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Cleanup.
8102 * testsuite/22_locale/codecvt/in/wchar_t/2.cc: New test.
8103 * testsuite/22_locale/codecvt/in/wchar_t/3.cc: New test.
8104 * testsuite/22_locale/codecvt/in/wchar_t/4.cc: New test.
8105 * testsuite/22_locale/codecvt/in/wchar_t/5.cc: New test.
8106 * testsuite/22_locale/codecvt/in/wchar_t/6.cc: New test.
8107 * testsuite/22_locale/codecvt/in/wchar_t/7.cc: New test.
8108 * testsuite/22_locale/codecvt/in/wchar_t/8.cc: New test.
8109 * testsuite/22_locale/codecvt/in/wchar_t/9.cc: New test.
8110 * testsuite/22_locale/codecvt/length/char/1.cc: Cleanup.
8111 * testsuite/22_locale/codecvt/length/char/2.cc: New test.
8112 * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Cleanup.
8113 * testsuite/22_locale/codecvt/length/wchar_t/2.cc: New test.
8114 * testsuite/22_locale/codecvt/length/wchar_t/3.cc: New test.
8115 * testsuite/22_locale/codecvt/length/wchar_t/4.cc: New test.
8116 * testsuite/22_locale/codecvt/length/wchar_t/5.cc: New test.
8117 * testsuite/22_locale/codecvt/length/wchar_t/6.cc: New test.
8118 * testsuite/22_locale/codecvt/length/wchar_t/7.cc: New test.
8119 * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Cleanup.
8120 * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: New test.
8121 * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: New test.
8122 * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: New test.
8123 * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Cleanup.
8124 * testsuite/22_locale/codecvt/out/wchar_t/2.cc: New test.
8125 * testsuite/22_locale/codecvt/out/wchar_t/3.cc: New test.
8126 * testsuite/22_locale/codecvt/out/wchar_t/4.cc: New test.
8127 * testsuite/22_locale/codecvt/out/wchar_t/5.cc: New test.
8128 * testsuite/22_locale/codecvt/out/wchar_t/6.cc: New test.
8129 * testsuite/22_locale/codecvt/out/wchar_t/7.cc: New test.
8130 * testsuite/22_locale/codecvt/unicode/1.cc: New test.
8131 * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Cleanup.
8132 * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: New test.
8133 * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: New test.
8134 * testsuite/22_locale/codecvt/unshfit/wchar_t/4.cc: New test.
8136 2003-02-05 Benjamin Kosnik <bkoz@redhat.com>
8138 * include/bits/locale_facets.tcc (time_put::do_put): Use __write.
8139 (money_put::do_put): Same.
8141 2003-02-05 Jerry Quinn <jlquinn@optonline.net>
8143 * include/bits/ios_base.h (ios_base): Document reserved storage.
8145 * include/bits/locale_facets.h: (struct __pad): Comment on
8147 (__verify_grouping): Same.
8148 (__add_grouping): Same.
8149 * include/bits/locale_facets.tcc (__verify_grouping): Move
8150 comments to declaration.
8151 (__add_grouping): Same.
8153 * include/bits/locale_facets.tcc:
8154 (__write<_CharT, _OutIter>): New function.
8155 (__write<_CharT>): New function specialization.
8156 (num_put::_M_insert): Remove explicit loop over iterator. Use
8158 (num_put::_M_widen_float): Remove __basefield.
8159 (num_put::_M_widen_int): Move __basefield to within grouping block.
8161 * include/bits/streambuf_iterator.h: Include <streambuf>.
8162 (ostreambuf_iterator::_M_put): Add.
8164 2003-02-05 Paolo Carlini <pcarlini@unitus.it>
8166 * testsuite/26_numerics/valarray_name_lookup.cc: Fix typo.
8168 2003-02-04 Nathan Myers <ncm@cantrip.org>
8170 * testsuite/25_algorithms/min_max.cc (test02): Add.
8172 2003-02-04 Paolo Carlini <pcarlini@unitus.it>
8174 PR libstdc++/9439, PR libstdc++/9425
8175 * config/io/basic_file_stdio.cc
8176 (__basic_file<char>::seekoff, seekpos): Return -1L if
8178 * include/bits/fstream.tcc (basic_filebuf::seekoff):
8179 Check _M_file.seekoff return value; always return
8180 pos_type(off_type(-1)) in case of failure.
8181 (basic_filebuf::pbackfail): Check this->seekoff return
8182 value and return traits_type::eof() in case of failure.
8183 * testsuite/27_io/filebuf_virtuals.cc (test09): Add.
8185 2003-02-04 Jerry Quinn <jlquinn@optonline.net>
8187 * include/std/std_ostream.h (ostream::_M_write): Declare.
8188 * ostream.tcc (ostream::_M_write): Define.
8189 (basic_ostream::write): Use it.
8190 (operator<<(basic_ostream, _CharT)): Ditto.
8191 (operator<<(basic_ostream, char)): Ditto.
8192 (operator<<(basic_ostream, _CharT*)): Ditto.
8193 (operator<<(basic_ostream, char*)): Ditto.
8194 (operator<<(basic_ostream, basic_string)): Ditto.
8196 2003-02-04 Benjamin Kosnik <bkoz@redhat.com>
8198 * testsuite/26_numerics/valarray_name_lookup.cc: Fix.
8200 2002-02-04 Jonathan Wakely <redi@gcc.gnu.org>
8202 * docs/html/27_io/howto.html: Link to Dietmar Kuehl's IOStream page,
8203 add HTML comment about updating links if numbering changes.
8205 2003-02-04 Paolo Carlini <pcarlini@unitus.it>
8208 * include/bits/streambuf.tcc (sputbackc): Access
8209 this->gptr()[-1] only if _M_in_beg < _M_in_cur.
8210 * testsuite/27_io/filebuf_virtuals.cc (test08): Add.
8212 2003-02-04 Paolo Carlini <pcarlini@unitus.it>
8215 * include/bits/fstream.tcc (open): If the 'ate' repositioning
8216 operation fails, calls close _and_ returns a null pointer
8217 to indicate failure (27.8.1.3,4).
8218 * testsuite/27_io/filebuf_members.cc (test_06): Add.
8220 2003-02-04 Petur Runolfsson <peturr02@ru.is>
8222 * testsuite/27_io/filebuf_members.cc (test_04): Remove exit(0).
8224 2002-02-04 Jonathan Wakely <redi@gcc.gnu.org>
8226 * docs/html/27_io/howto.html: New section on stdio_filebuf.
8227 * docs/html/ext/howto.html: Move stdio_filebuf notes to 27_io.
8228 * docs/html/documentation.html: Regenerate.
8230 2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
8232 * docs/html/17_intro/porting.texi: Update to GFDL 1.2.
8233 * docs/html/17_intro/porting.html: Regenerate.
8235 2003-02-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
8236 Phil Edwards <pme@gcc.gnu.org>
8238 * include/std/std_bitset.h: Replace CHAR_BIT with __CHAR_BIT__, use
8239 numeric_limits for bits-per-word values.
8240 (_Base_bitset::_M_do_count, _Base_bitset<1>::_M_do_count):
8241 Use __builtin_popcountl instead.
8242 (_Base_bitset::_M_do_find_first, _Base_bitset::_M_do_find_next,
8243 _Base_bitset<1>::_M_do_find_first, _Base_bitset<1>::_M_do_find_next):
8244 Use __builtin_ctzl instead.
8245 (_S_bit_count, _S_first_one): Remove.
8246 * config/linker-map.gnu (GLIBCPP_3.4): Remove std::_S_bit_count.
8247 * src/Makefile.am (sources): Remove bitset.cc.
8248 * src/bitset.cc: Delete file.
8249 * src/Makefile.in: Regenerate.
8251 2003-02-03 Phil Edwards <pme@gcc.gnu.org>
8253 PR libstdc++/9527, PR libstdc++/8713
8254 * docs/html/install.html: Mention glibc version requirement.
8255 * docs/html/faq/index.html (3.8): New note, glibc 2.2.5+ is needed
8256 with 3.2.1+ (formatting bugfixes).
8257 * docs/html/faq/index.txt: Regenerate.
8259 2003-02-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
8262 * include/bits/valarray_before.h (_UnBase::operator[]): Apply unary
8265 * include/bits/valarray_before.h (__not_equal_to): Use != instead
8268 * testsuite/26_numerics/valarray_operators.cc: New test.
8270 2003-02-01 Phil Edwards <pme@gcc.gnu.org>
8272 * docs/html/faq/index.html: Correct link to libg++ information.
8273 * docs/html/faq/index.txt: Regenerated.
8275 2003-02-01 Paolo Carlini <pcarlini@unitus.it>
8276 Benjamin Kosnik <bkoz@redhat.com>
8278 Const correctness issue:
8279 http://gcc.gnu.org/ml/libstdc++/2003-01/msg00370.html
8280 * include/bits/locale_classes.h
8281 (locale::_Impl::_M_facets): Change type to const facet**.
8282 (locale::_Impl::_M_install_facet): Change declaration to
8284 (locale::facet::_M_references): Make mutable.
8285 (locale::facet::_M_add_reference): Declare const.
8286 (locale::facet::_M_remove_reference): Likewise.
8287 * include/bits/locale_facets.tcc
8288 (use_facet(const locale&)): Tweak for const facet** _M_facets.
8289 (has_facet(const locale&)): Likewise.
8291 (locale::facet::_M_add_reference): Adjust definition.
8292 (locale::facet::_M_remove_reference): Likewise.
8294 (locale::_Impl::_Impl(const _Impl&, size_t)): Tweak for
8295 const facet** _M_facets.
8296 (locale::_Impl::_Impl(const char*, size_t)): Likewise.
8297 (locale::_Impl::_Impl(facet**, size_t, bool)): Likewise.
8298 (locale::_Impl::_M_install_facet): Adjust definition to take
8299 const facet* and for const facet** _M_facets.
8300 * testsuite/22_locale/locale/cons/8.cc: Add.
8302 2003-01-29 Mark Mitchell <mark@codesourcery.com>
8304 * include/std/std_limits.h (numeric_limits<float>::has_infinity):
8305 Use __FLT_HAS_INIFINITY__ to initialize.
8306 (numeric_limits<float>::has_quiet_NaN): Likewise.
8307 (numeric_limits<double>::has_infinity): Use __DBL_HAS_INIFINITY__
8309 (numeric_limits<double>::has_quiet_NaN): Likewise.
8310 (numeric_limits<long double>::has_infinity): Use
8311 __LDBL_HAS_INIFINITY__ to initialize.
8312 (numeric_limits<long_double>::has_quiet_NaN): Likewise.
8314 2003-01-28 Nathan Sidwell <nathan@codesourcery.com>
8317 * libsupc++/tinfo.cc (__vmi_class_type_info::__do_dyncast): Cope
8318 with bases which are very ambiguous.
8320 2003-01-28 Danny Smith <dannysmith@users.sourceforge.net>
8322 * src/Makefile.am (CONFIG_CXXFLAGS): Reverse order of
8323 @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@.
8324 * libsupc++/Makefile.am (CONFIG_CXXFLAGS): Likewise.
8325 * src/Makefile.in: Regenerate.
8326 * libsupc++/Makefile.in: Regenerate.
8328 2003-01-27 Alexandre Oliva <aoliva@redhat.com>
8330 * acinclude.m4 (glibcpp_toolexeclibdir): Instead of
8331 $(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless
8332 version_specific_libs is enabled.
8333 * aclocal.m4, configure: Rebuilt.
8335 2003-01-24 Nathan Sidwell <nathan@codesourcery.com>
8337 * include/bits/valarray_meta.h: Remove, split into ...
8338 * include/bits/valarray_before.h: ... this, and ...
8339 * include/bits/valarray_after.h: ... this.
8340 * include/std/std_valarray.h: Adjust.
8341 * include/Makefile.am (bits_headers): Adjust.
8342 * include/Makefile.in: Regenerate.
8344 2003-01-24 Andreas Schwab <schwab@suse.de>
8346 * config/linker-map.gnu: Fix for size_t variance.
8348 2003-01-23 Petur Runolfsson <peturr02@ru.is>
8351 * include/std/std_streambuf.h
8352 (basic_streambuf::basic_streambuf,
8353 basic_streambuf::~basic_streambuf,
8354 basic_streambuf::getloc, basic_streambuf::imbue):
8355 Remove _M_buf_locale_init
8356 * include/bits/fstream.tcc (basic_filebuf::imbue): Likewise
8357 * testsuite/27_io/filebuf_virtuals.cc (test08): Add.
8358 * testsuite/27_io/streambuf_members.cc (test08): Add.
8359 * testsuite/27_io/stringbuf_virtuals.cc (test08): Add.
8361 2003-01-23 Benjamin Kosnik <bkoz@redhat.com>
8363 Revert include ordering.
8364 * config/locale/generic/c_locale.h: Add include guards.
8365 * config/locale/gnu/c_locale.h: Same.
8366 * include/bits/locale_classes.h: Remove cctype include.
8367 * include/std/std_iosfwd.h: Add c++locale.h, cctype includes.
8368 * include/std/std_fstream.h: Remove streambuf include.
8369 * include/std/std_sstream.h: Remove streambuf include.
8371 2003-01-23 Benjamin Kosnik <bkoz@redhat.com>
8373 * configure.in (libtool_VERSION): To 6:0:0.
8374 * configure: Regenerated.
8375 * config/linker-map.gnu: Clean.
8377 * src/misc-inst.cc: Remove instantiations.
8379 * include/bits/stl_alloc.h (__malloc_alloc_template):
8381 (__default_alloc_template): To __pool_alloc.
8382 * src/stl-inst.cc: Same.
8383 * include/backward/alloc.h: Update.
8384 * testsuite/ext/allocators.cc: Update.
8386 * src/globals.cc (__gnu_cxx): Remove _GLIBCPP_ASM_SYMVER. Should
8387 really try to remove these if possible.
8388 * src/locale.cc (std): Same.
8390 * testsuite/abi_check.cc (check_version): Add.
8392 2003-01-22 Benjamin Kosnik <bkoz@redhat.com>
8393 Sysoltsev Slawa <Vyatcheslav.Sysoltsev@intel.com>
8394 Mark Mitchell <mark@codesourcery.com>
8397 * include/std/std_fstream.h (basic_filebuf::uflow): Declare.
8398 (basic_filebuf::underflow): Declare.
8401 2003-01-22 Benjamin Kosnik <bkoz@redhat.com>
8403 * include/bits/locale_facets.h: Move non-facet classes requiring
8405 * include/bits/locale_classes.h: New.
8406 * include/bits/Makefile.am (bits_headers_src): Add locale_classes.h.
8407 * include/bits/Makefile.in: Regenerate.
8409 * include/bits/locale_facets.tcc (__convert_from_v): Move to...
8410 * config/locale/gnu/c_locale.h: ...here.
8411 * config/locale/generic/c_locale.h: Same.
8413 * include/bits/locale_facets.tcc: Move declarations to...
8414 * include/bits/locale_facets.h: ...here.
8415 * include/bits/basic_ios.h: Tweak includes accordingly.
8416 * include/std/std_sstream.h: Add streambuf include.
8417 * include/std/std_fstream.h: Ditto.
8418 * include/std/std_locale.h: Add locale_classes.h include.
8419 * include/std/std_iosfwd.h: Tweak.
8420 * src/concept-inst.cc: Add iterator include.
8422 * config/linker-map.gnu: Specify __cxa functions, mark __cxa_dyn_*
8423 bits as unexported in the future.
8425 2003-01-21 Benjamin Kosnik <bkoz@redhat.com>
8427 Reshuffle 22_locale testsuite.
8428 * 22_locale/(codecvt.cc money_get.cc
8429 codecvt_members_char_char.cc money_get_members_char.cc
8430 codecvt_members_unicode_char.cc money_get_members_wchar_t.cc
8431 codecvt_members_unicode_wchar_t.cc moneypunct_byname.cc
8432 codecvt_members_wchar_t_char.cc moneypunct.cc collate_byname.cc
8433 moneypunct_members_char.cc collate.cc moneypunct_members_wchar_t.cc
8434 collate_members_char.cc money_put.cc collate_members_wchar_t.cc
8435 money_put_members_char.cc ctor_copy_dtor.cc
8436 money_put_members_wchar_t.cc ctype.cc num_get.cc ctype_is_char.cc
8437 num_get_members_char.cc ctype_is_wchar_t.cc num_get_members_wchar_t.cc
8438 ctype_members_char.cc numpunct_byname.cc ctype_members_wchar_t.cc
8439 numpunct.cc ctype_narrow_char.cc numpunct_members_char.cc
8440 ctype_narrow_wchar_t.cc numpunct_members_wchar_t.cc ctype_scan_char.cc
8441 num_put.cc ctype_scan_wchar_t.cc num_put_members_char.cc
8442 ctype_to_char.cc num_put_members_wchar_t.cc ctype_to_wchar_t.cc
8443 operators.cc ctype_widen_char.cc static_members.cc
8444 ctype_widen_wchar_t.cc time_get.cc facet.cc time_get_members_char.cc
8445 global_templates.cc time_get_members_wchar_t.cc, members.cc,
8446 time_put.cc, messages_byname.cc, time_put_members_char.cc,
8447 messages.cc, time_put_members_wchar_t.cc, messages_members_char.cc):
8448 Split up into individual test cases...
8449 * 22_locale/codecvt/1.cc: New.
8450 * 22_locale/codecvt/2.cc: New.
8451 * 22_locale/codecvt/always_noconv/char/1.cc: New.
8452 * 22_locale/codecvt/always_noconv/char/wrapped_env.cc: New.
8453 * 22_locale/codecvt/always_noconv/char/wrapped_locale.cc: New.
8454 * 22_locale/codecvt/always_noconv/wchar_t/1.cc: New.
8455 * 22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc: New.
8456 * 22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc: New.
8457 * 22_locale/codecvt/encoding/char/1.cc: New.
8458 * 22_locale/codecvt/encoding/char/wrapped_env.cc: New.
8459 * 22_locale/codecvt/encoding/char/wrapped_locale.cc: New.
8460 * 22_locale/codecvt/encoding/wchar_t/1.cc: New.
8461 * 22_locale/codecvt/encoding/wchar_t/wrapped_env.cc: New.
8462 * 22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc: New.
8463 * 22_locale/codecvt/in/char/1.cc: New.
8464 * 22_locale/codecvt/in/char/wrapped_env.cc: New.
8465 * 22_locale/codecvt/in/char/wrapped_locale.cc: New.
8466 * 22_locale/codecvt/in/wchar_t/1.cc: New.
8467 * 22_locale/codecvt/in/wchar_t/wrapped_env.cc: New.
8468 * 22_locale/codecvt/in/wchar_t/wrapped_locale.cc: New.
8469 * 22_locale/codecvt/length/char/1.cc: New.
8470 * 22_locale/codecvt/length/char/wrapped_env.cc: New.
8471 * 22_locale/codecvt/length/char/wrapped_locale.cc: New.
8472 * 22_locale/codecvt/length/wchar_t/1.cc: New.
8473 * 22_locale/codecvt/length/wchar_t/wrapped_env.cc: New.
8474 * 22_locale/codecvt/length/wchar_t/wrapped_locale.cc: New.
8475 * 22_locale/codecvt/max_length/char/1.cc: New.
8476 * 22_locale/codecvt/max_length/char/wrapped_env.cc: New.
8477 * 22_locale/codecvt/max_length/char/wrapped_locale.cc: New.
8478 * 22_locale/codecvt/max_length/wchar_t/1.cc: New.
8479 * 22_locale/codecvt/max_length/wchar_t/wrapped_env.cc: New.
8480 * 22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc: New.
8481 * 22_locale/codecvt/out/char/1.cc: New.
8482 * 22_locale/codecvt/out/char/wrapped_env.cc: New.
8483 * 22_locale/codecvt/out/char/wrapped_locale.cc: New.
8484 * 22_locale/codecvt/out/wchar_t/1.cc: New.
8485 * 22_locale/codecvt/out/wchar_t/wrapped_env.cc: New.
8486 * 22_locale/codecvt/out/wchar_t/wrapped_locale.cc: New.
8487 * 22_locale/codecvt/unicode/char.cc: New.
8488 * 22_locale/codecvt/unicode/wchar_t.cc: New.
8489 * 22_locale/codecvt/unshift/char/1.cc: New.
8490 * 22_locale/codecvt/unshift/char/wrapped_env.cc: New.
8491 * 22_locale/codecvt/unshift/char/wrapped_locale.cc: New.
8492 * 22_locale/codecvt/unshift/wchar_t/1.cc: New.
8493 * 22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: New.
8494 * 22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc: New.
8495 * 22_locale/collate/1.cc: New.
8496 * 22_locale/collate/2.cc: New.
8497 * 22_locale/collate/compare/char/1.cc: New.
8498 * 22_locale/collate/compare/char/2.cc: New.
8499 * 22_locale/collate/compare/char/wrapped_env.cc: New.
8500 * 22_locale/collate/compare/char/wrapped_locale.cc: New.
8501 * 22_locale/collate/compare/wchar_t/1.cc: New.
8502 * 22_locale/collate/compare/wchar_t/2.cc: New.
8503 * 22_locale/collate/compare/wchar_t/wrapped_env.cc: New.
8504 * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: New.
8505 * 22_locale/collate/hash/char/1.cc: New.
8506 * 22_locale/collate/hash/char/2.cc: New.
8507 * 22_locale/collate/hash/char/wrapped_env.cc: New.
8508 * 22_locale/collate/hash/char/wrapped_locale.cc: New.
8509 * 22_locale/collate/hash/wchar_t/1.cc: New.
8510 * 22_locale/collate/hash/wchar_t/2.cc: New.
8511 * 22_locale/collate/hash/wchar_t/wrapped_env.cc: New.
8512 * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: New.
8513 * 22_locale/collate/transform/char/2.cc: New.
8514 * 22_locale/collate/transform/char/wrapped_env.cc: New.
8515 * 22_locale/collate/transform/char/wrapped_locale.cc: New.
8516 * 22_locale/collate/transform/wchar_t/2.cc: New.
8517 * 22_locale/collate/transform/wchar_t/wrapped_env.cc: New.
8518 * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: New.
8519 * 22_locale/collate_byname/1.cc: New.
8520 * 22_locale/ctype/1.cc: New.
8521 * 22_locale/ctype/2.cc: New.
8522 * 22_locale/ctype/cons/char/1.cc: New.
8523 * 22_locale/ctype/cons/char/wrapped_env.cc: New.
8524 * 22_locale/ctype/cons/char/wrapped_locale.cc: New.
8525 * 22_locale/ctype/is/char/1.cc: New.
8526 * 22_locale/ctype/is/char/2.cc: New.
8527 * 22_locale/ctype/is/char/3.cc: New.
8528 * 22_locale/ctype/is/char/wrapped_env.cc: New.
8529 * 22_locale/ctype/is/char/wrapped_locale.cc: New.
8530 * 22_locale/ctype/is/wchar_t/1.cc: New.
8531 * 22_locale/ctype/is/wchar_t/2.cc: New.
8532 * 22_locale/ctype/is/wchar_t/wrapped_env.cc: New.
8533 * 22_locale/ctype/is/wchar_t/wrapped_locale.cc: New.
8534 * 22_locale/ctype/narrow/char/1.cc: New.
8535 * 22_locale/ctype/narrow/char/2.cc: New.
8536 * 22_locale/ctype/narrow/char/wrapped_env.cc: New.
8537 * 22_locale/ctype/narrow/char/wrapped_locale.cc: New.
8538 * 22_locale/ctype/narrow/wchar_t/1.cc: New.
8539 * 22_locale/ctype/narrow/wchar_t/2.cc: New.
8540 * 22_locale/ctype/narrow/wchar_t/wrapped_env.cc: New.
8541 * 22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: New.
8542 * 22_locale/ctype/scan/char/1.cc: New.
8543 * 22_locale/ctype/scan/char/wrapped_env.cc: New.
8544 * 22_locale/ctype/scan/char/wrapped_locale.cc: New.
8545 * 22_locale/ctype/scan/wchar_t/1.cc: New.
8546 * 22_locale/ctype/scan/wchar_t/wrapped_env.cc: New.
8547 * 22_locale/ctype/scan/wchar_t/wrapped_locale.cc: New.
8548 * 22_locale/ctype/to/char/1.cc: New.
8549 * 22_locale/ctype/to/char/wrapped_env.cc: New.
8550 * 22_locale/ctype/to/char/wrapped_locale.cc: New.
8551 * 22_locale/ctype/to/wchar_t/1.cc: New.
8552 * 22_locale/ctype/to/wchar_t/wrapped_env.cc: New.
8553 * 22_locale/ctype/to/wchar_t/wrapped_locale.cc: New.
8554 * 22_locale/ctype/widen/char/1.cc: New.
8555 * 22_locale/ctype/widen/char/wrapped_env.cc: New.
8556 * 22_locale/ctype/widen/char/wrapped_locale.cc: New.
8557 * 22_locale/ctype/widen/wchar_t/1.cc: New.
8558 * 22_locale/ctype/widen/wchar_t/wrapped_env.cc: New.
8559 * 22_locale/ctype/widen/wchar_t/wrapped_locale.cc: New.
8560 * 22_locale/facet/1.cc: New.
8561 * 22_locale/facet/2.cc: New.
8562 * 22_locale/global_templates/1.cc: New.
8563 * 22_locale/locale/cons/1.cc: New.
8564 * 22_locale/locale/cons/2.cc: New.
8565 * 22_locale/locale/cons/3.cc: New.
8566 * 22_locale/locale/cons/4.cc: New.
8567 * 22_locale/locale/cons/5.cc: New.
8568 * 22_locale/locale/cons/6.cc: New.
8569 * 22_locale/locale/cons/7.cc: New.
8570 * 22_locale/locale/global_locale_objects/1.cc: New.
8571 * 22_locale/locale/global_locale_objects/2.cc: New.
8572 * 22_locale/locale/global_locale_objects/3.cc: New.
8573 * 22_locale/locale/operations/1.cc: New.
8574 * 22_locale/locale/operations/2.cc: New.
8575 * 22_locale/messages/1.cc: New.
8576 * 22_locale/messages/2.cc: New.
8577 * 22_locale/messages/members/char/1.cc: New.
8578 * 22_locale/messages/members/char/2.cc: New.
8579 * 22_locale/messages/members/char/3.cc: New.
8580 * 22_locale/messages/members/char/wrapped_env.cc: New.
8581 * 22_locale/messages/members/char/wrapped_locale.cc: New.
8582 * 22_locale/messages_byname/1.cc: New.
8583 * 22_locale/money_get/1.cc: New.
8584 * 22_locale/money_get/2.cc: New.
8585 * 22_locale/money_get/get/char/1.cc: New.
8586 * 22_locale/money_get/get/char/2.cc: New.
8587 * 22_locale/money_get/get/char/3.cc: New.
8588 * 22_locale/money_get/get/char/4.cc: New.
8589 * 22_locale/money_get/get/char/5.cc: New.
8590 * 22_locale/money_get/get/char/6.cc: New.
8591 * 22_locale/money_get/get/char/7.cc: New.
8592 * 22_locale/money_get/get/char/8.cc: New.
8593 * 22_locale/money_get/get/char/wrapped_env.cc: New.
8594 * 22_locale/money_get/get/char/wrapped_locale.cc: New.
8595 * 22_locale/money_get/get/wchar_t/1.cc: New.
8596 * 22_locale/money_get/get/wchar_t/2.cc: New.
8597 * 22_locale/money_get/get/wchar_t/3.cc: New.
8598 * 22_locale/money_get/get/wchar_t/4.cc: New.
8599 * 22_locale/money_get/get/wchar_t/5.cc: New.
8600 * 22_locale/money_get/get/wchar_t/6.cc: New.
8601 * 22_locale/money_get/get/wchar_t/7.cc: New.
8602 * 22_locale/money_get/get/wchar_t/8.cc: New.
8603 * 22_locale/money_get/get/wchar_t/wrapped_env.cc: New.
8604 * 22_locale/money_get/get/wchar_t/wrapped_locale.cc: New.
8605 * 22_locale/money_put/1.cc: New.
8606 * 22_locale/money_put/2.cc: New.
8607 * 22_locale/money_put/put/char/1.cc: New.
8608 * 22_locale/money_put/put/char/2.cc: New.
8609 * 22_locale/money_put/put/char/3.cc: New.
8610 * 22_locale/money_put/put/char/4.cc: New.
8611 * 22_locale/money_put/put/char/5.cc: New.
8612 * 22_locale/money_put/put/char/6.cc: New.
8613 * 22_locale/money_put/put/char/wrapped_env.cc: New.
8614 * 22_locale/money_put/put/char/wrapped_locale.cc: New.
8615 * 22_locale/money_put/put/wchar_t/1.cc: New.
8616 * 22_locale/money_put/put/wchar_t/2.cc: New.
8617 * 22_locale/money_put/put/wchar_t/3.cc: New.
8618 * 22_locale/money_put/put/wchar_t/4.cc: New.
8619 * 22_locale/money_put/put/wchar_t/5.cc: New.
8620 * 22_locale/money_put/put/wchar_t/6.cc: New.
8621 * 22_locale/money_put/put/wchar_t/wrapped_env.cc: New.
8622 * 22_locale/money_put/put/wchar_t/wrapped_locale.cc: New.
8623 * 22_locale/moneypunct/1.cc: New.
8624 * 22_locale/moneypunct/2.cc: New.
8625 * 22_locale/moneypunct/3.cc: New.
8626 * 22_locale/moneypunct/members/char/1.cc: New.
8627 * 22_locale/moneypunct/members/char/2.cc: New.
8628 * 22_locale/moneypunct/members/char/wrapped_env.cc: New.
8629 * 22_locale/moneypunct/members/char/wrapped_locale.cc: New.
8630 * 22_locale/moneypunct/members/wchar_t/1.cc: New.
8631 * 22_locale/moneypunct/members/wchar_t/2.cc: New.
8632 * 22_locale/moneypunct/members/wchar_t/wrapped_env.cc: New.
8633 * 22_locale/moneypunct/members/wchar_t/wrapped_locale.cc: New.
8634 * 22_locale/moneypunct_byname/1.cc: New.
8635 * 22_locale/num_get/1.cc: New.
8636 * 22_locale/num_get/2.cc: New.
8637 * 22_locale/num_get/get/char/1.cc: New.
8638 * 22_locale/num_get/get/char/2.cc: New.
8639 * 22_locale/num_get/get/char/3.cc: New.
8640 * 22_locale/num_get/get/char/4.cc: New.
8641 * 22_locale/num_get/get/char/5.cc: New.
8642 * 22_locale/num_get/get/char/6.cc: New.
8643 * 22_locale/num_get/get/char/wrapped_env.cc: New.
8644 * 22_locale/num_get/get/char/wrapped_locale.cc: New.
8645 * 22_locale/num_get/get/wchar_t/1.cc: New.
8646 * 22_locale/num_get/get/wchar_t/2.cc: New.
8647 * 22_locale/num_get/get/wchar_t/3.cc: New.
8648 * 22_locale/num_get/get/wchar_t/4.cc: New.
8649 * 22_locale/num_get/get/wchar_t/5.cc: New.
8650 * 22_locale/num_get/get/wchar_t/6.cc: New.
8651 * 22_locale/num_get/get/wchar_t/wrapped_env.cc: New.
8652 * 22_locale/num_get/get/wchar_t/wrapped_locale.cc: New.
8653 * 22_locale/num_put/1.cc: New.
8654 * 22_locale/num_put/2.cc: New.
8655 * 22_locale/num_put/put/char/1.cc: New.
8656 * 22_locale/num_put/put/char/2.cc: New.
8657 * 22_locale/num_put/put/char/3.cc: New.
8658 * 22_locale/num_put/put/char/4.cc: New.
8659 * 22_locale/num_put/put/char/5.cc: New.
8660 * 22_locale/num_put/put/char/wrapped_env.cc: New.
8661 * 22_locale/num_put/put/char/wrapped_locale.cc: New.
8662 * 22_locale/num_put/put/wchar_t/1.cc: New.
8663 * 22_locale/num_put/put/wchar_t/2.cc: New.
8664 * 22_locale/num_put/put/wchar_t/3.cc: New.
8665 * 22_locale/num_put/put/wchar_t/4.cc: New.
8666 * 22_locale/num_put/put/wchar_t/5.cc: New.
8667 * 22_locale/num_put/put/wchar_t/wrapped_env.cc: New.
8668 * 22_locale/num_put/put/wchar_t/wrapped_locale.cc: New.
8669 * 22_locale/numpunct/1.cc: New.
8670 * 22_locale/numpunct/2.cc: New.
8671 * 22_locale/numpunct/members/char/1.cc: New.
8672 * 22_locale/numpunct/members/char/2.cc: New.
8673 * 22_locale/numpunct/members/char/wrapped_env.cc: New.
8674 * 22_locale/numpunct/members/char/wrapped_locale.cc: New.
8675 * 22_locale/numpunct/members/wchar_t/1.cc: New.
8676 * 22_locale/numpunct/members/wchar_t/2.cc: New.
8677 * 22_locale/numpunct/members/wchar_t/wrapped_env.cc: New.
8678 * 22_locale/numpunct/members/wchar_t/wrapped_locale.cc: New.
8679 * 22_locale/numpunct_byname/1.cc: New.
8680 * 22_locale/numpunct_byname/2.cc: New.
8681 * 22_locale/time_get/1.cc: New.
8682 * 22_locale/time_get/2.cc: New.
8683 * 22_locale/time_get/date_order/char/1.cc: New.
8684 * 22_locale/time_get/date_order/char/wrapped_env.cc: New.
8685 * 22_locale/time_get/date_order/char/wrapped_locale.cc: New.
8686 * 22_locale/time_get/date_order/wchar_t/1.cc: New.
8687 * 22_locale/time_get/date_order/wchar_t/wrapped_env.cc: New.
8688 * 22_locale/time_get/date_order/wchar_t/wrapped_locale.cc: New.
8689 * 22_locale/time_get/get_date/char/1.cc: New.
8690 * 22_locale/time_get/get_date/char/2.cc: New.
8691 * 22_locale/time_get/get_date/char/3.cc: New.
8692 * 22_locale/time_get/get_date/char/wrapped_env.cc: New.
8693 * 22_locale/time_get/get_date/char/wrapped_locale.cc: New.
8694 * 22_locale/time_get/get_date/wchar_t/1.cc: New.
8695 * 22_locale/time_get/get_date/wchar_t/2.cc: New.
8696 * 22_locale/time_get/get_date/wchar_t/3.cc: New.
8697 * 22_locale/time_get/get_date/wchar_t/wrapped_env.cc: New.
8698 * 22_locale/time_get/get_date/wchar_t/wrapped_locale.cc: New.
8699 * 22_locale/time_get/get_monthname/char/1.cc: New.
8700 * 22_locale/time_get/get_monthname/char/2.cc: New.
8701 * 22_locale/time_get/get_monthname/char/3.cc: New.
8702 * 22_locale/time_get/get_monthname/char/wrapped_env.cc: New.
8703 * 22_locale/time_get/get_monthname/char/wrapped_locale.cc: New.
8704 * 22_locale/time_get/get_monthname/wchar_t/1.cc: New.
8705 * 22_locale/time_get/get_monthname/wchar_t/2.cc: New.
8706 * 22_locale/time_get/get_monthname/wchar_t/3.cc: New.
8707 * 22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc: New.
8708 * 22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc: New.
8709 * 22_locale/time_get/get_time/char/1.cc: New.
8710 * 22_locale/time_get/get_time/char/2.cc: New.
8711 * 22_locale/time_get/get_time/char/3.cc: New.
8712 * 22_locale/time_get/get_time/char/wrapped_env.cc: New.
8713 * 22_locale/time_get/get_time/char/wrapped_locale.cc: New.
8714 * 22_locale/time_get/get_time/wchar_t/1.cc: New.
8715 * 22_locale/time_get/get_time/wchar_t/2.cc: New.
8716 * 22_locale/time_get/get_time/wchar_t/3.cc: New.
8717 * 22_locale/time_get/get_time/wchar_t/wrapped_env.cc: New.
8718 * 22_locale/time_get/get_time/wchar_t/wrapped_locale.cc: New.
8719 * 22_locale/time_get/get_weekday/char/1.cc: New.
8720 * 22_locale/time_get/get_weekday/char/2.cc: New.
8721 * 22_locale/time_get/get_weekday/char/3.cc: New.
8722 * 22_locale/time_get/get_weekday/char/wrapped_env.cc: New.
8723 * 22_locale/time_get/get_weekday/char/wrapped_locale.cc: New.
8724 * 22_locale/time_get/get_weekday/wchar_t/1.cc: New.
8725 * 22_locale/time_get/get_weekday/wchar_t/2.cc: New.
8726 * 22_locale/time_get/get_weekday/wchar_t/3.cc: New.
8727 * 22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc: New.
8728 * 22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc: New.
8729 * 22_locale/time_get/get_year/char/1.cc: New.
8730 * 22_locale/time_get/get_year/char/3.cc: New.
8731 * 22_locale/time_get/get_year/char/wrapped_env.cc: New.
8732 * 22_locale/time_get/get_year/char/wrapped_locale.cc: New.
8733 * 22_locale/time_get/get_year/wchar_t/1.cc: New.
8734 * 22_locale/time_get/get_year/wchar_t/3.cc: New.
8735 * 22_locale/time_get/get_year/wchar_t/wrapped_env.cc: New.
8736 * 22_locale/time_get/get_year/wchar_t/wrapped_locale.cc: New.
8737 * 22_locale/time_put/1.cc: New.
8738 * 22_locale/time_put/2.cc: New.
8739 * 22_locale/time_put/put/char/1.cc: New.
8740 * 22_locale/time_put/put/char/10.cc: New.
8741 * 22_locale/time_put/put/char/2.cc: New.
8742 * 22_locale/time_put/put/char/3.cc: New.
8743 * 22_locale/time_put/put/char/4.cc: New.
8744 * 22_locale/time_put/put/char/5.cc: New.
8745 * 22_locale/time_put/put/char/6.cc: New.
8746 * 22_locale/time_put/put/char/7.cc: New.
8747 * 22_locale/time_put/put/char/8.cc: New.
8748 * 22_locale/time_put/put/char/9.cc: New.
8749 * 22_locale/time_put/put/char/wrapped_env.cc: New.
8750 * 22_locale/time_put/put/char/wrapped_locale.cc: New.
8751 * 22_locale/time_put/put/wchar_t/1.cc: New.
8752 * 22_locale/time_put/put/wchar_t/10.cc: New.
8753 * 22_locale/time_put/put/wchar_t/2.cc: New.
8754 * 22_locale/time_put/put/wchar_t/3.cc: New.
8755 * 22_locale/time_put/put/wchar_t/4.cc: New.
8756 * 22_locale/time_put/put/wchar_t/5.cc: New.
8757 * 22_locale/time_put/put/wchar_t/6.cc: New.
8758 * 22_locale/time_put/put/wchar_t/7.cc: New.
8759 * 22_locale/time_put/put/wchar_t/8.cc: New.
8760 * 22_locale/time_put/put/wchar_t/9.cc: New.
8761 * 22_locale/time_put/put/wchar_t/wrapped_env.cc: New.
8762 * 22_locale/time_put/put/wchar_t/wrapped_locale.cc: New.
8764 2003-01-16 Jeffrey D. Oldham <oldham@codesourcery.com>
8766 * config/locale/generic/messages_members.h
8767 (messages_byname<_CharT>::messages_byname): Use this-> to refer to
8768 unqualified members of base clasess.
8770 2003-01-16 Mark Mitchell <mark@codesourcery.com>
8771 Jeffrey Oldham <oldham@codesourcery.com>
8773 * config/locale/gnu/messages_members.h: Use this-> to refer to
8774 unqualified members of base clasess.
8775 * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Likewise.
8776 * include/bits/codecvt.h: Likewise.
8777 * include/bits/deque.tcc: Likewise.
8778 * include/bits/fstream.tcc: Likewise.
8779 * include/bits/istream.tcc: Likewise.
8780 * include/bits/list.tcc: Likewise.
8781 * include/bits/locale_facets.h: Likewise.
8782 * include/bits/ostream.tcc: Likewise.
8783 * include/bits/sstream.tcc: Likewise.
8784 * include/bits/stl_bvector.h: Likewise.
8785 * include/bits/stl_deque.h: Likewise.
8786 * include/bits/stl_list.h: Likewise.
8787 * include/bits/stl_tree.h: Likewise.
8788 * include/bits/stl_vector.h: Likewise.
8789 * include/bits/vector.tcc: Likewise.
8790 * include/ext/ropeimpl.h: Likewise.
8791 * include/ext/stdio_filebuf.h: Likewise.
8792 * include/ext/stl_rope.h: Likewise.
8793 * include/std/std_fstream.h: Likewise.
8794 * include/std/std_sstream.h: Likewise.
8796 2003-01-15 Phil Edwards <pme@gcc.gnu.org>
8798 * include/bits/basic_string.tcc (_S_string_copy): Unused, remove.
8800 2003-01-15 Benjamin Kosnik <bkoz@redhat.com>
8802 * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Substitute
8803 GLIBCPP_TEST_WCHAR_T if building wchar_t bits in the library.
8804 * aclocal.m4: Regenerate.
8805 * configure: Regenerate.
8806 * testsuite/Makefile.am (all-local): Add conditional rule to
8807 generate testsuite_wchar_t.
8808 * testsuite/Makefile.in: Regenerate.
8809 * testsuite/lib/libstdc++-v3-dg.exp
8810 (libstdc++-v3-list-sourcefiles): Remove wchar_t files if
8811 testsuite_wchar_t is not present in the build directory.
8812 * testsuite/libstdc++-v3.dg/dg.exp: Add -g -O2 to DEFAULT_CXXFLAGS.
8813 Remove setulimit bits.
8814 * testsuite/26_numerics/complex_value.cc: Set to noopts.
8815 * testsuite/Makefile.am (CLEANFILES): Add.
8816 * testsuite/Makefile.in: Regenerate.
8818 2003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
8820 * config/os/hpux/os_defines.h (_GLIBCPP_GTHREAD_USE_WEAK): Define for
8823 2003-01-14 Jeffrey D. Oldham <oldham@codesourcery.com>
8825 Further conform g++'s __vmi_class_type_info to the C++ ABI
8827 * libsupc++/cxxabi.h
8828 (__vmi_class_type_info::__flags_masks): Remove enumerations not
8829 required by the specification.
8831 2003-01-12 Benjamin Kosnik <bkoz@redhat.com>
8833 Renames, namespaces for testsuite utilities.
8834 * testsuite/testsuite_hooks.h: Put into namespace __gnu_cxx_test.
8835 (gnu_allocator_tracker): Rename to allocation_tracker.
8836 (gnu_new_allocator): Rename to tracker_alloc.
8837 (__set_testsuite_memlimit): Rename to set_memory_limits.
8838 (gnu_assignment_operator): Rename to assignment_operator.
8839 (gnu_destructor): Rename to destructor.
8840 (gnu_copy_tracker): Rename to copy_tracker.
8841 (gnu_char, gnu_int, gnu_long): Rename to pod_char, pod_int, pod_long.
8842 (run_tests_wrapped_locale): New.
8843 (run_tests_wrapped_env): New.
8844 * testsuite/testsuite_hooks.cc: Same.
8845 (class locale_data): Add.
8846 (class enviornment_variable): Add.
8847 (class not_found): Add.
8848 * testsuite/testsuite_allocator.h: Same.
8849 * testsuite/testsuite_allocator.cc: Same.
8850 * testsuite/23_containers/deque_ctor.cc
8851 (test_copy_ctor_exception_safety): Change gnu_allocator_tracker to
8853 Change gnu_new_allocator to tracker_alloc.
8854 Change gnu_counting_struct to counter.
8855 Change gnu_copy_tracker to copy_tracker.
8856 Change gnu_copy_constructor to copy_constructor.
8857 Change gnu_assignment_operator to assignment_operator.
8859 * testsuite/23_containers/vector_capacity.cc: Same.
8860 * testsuite/23_containers/vector_ctor.cc (test01): Same.
8861 * testsuite/23_containers/list_modifiers.cc: Change
8862 gnu_copy_tracker to copy_tracker.
8863 * testsuite/21_strings/ctor_copy_dtor.cc (main): Change
8864 __set_testsuite_memlimit to set_memory_limits.
8865 * testsuite/21_strings/insert.cc (main): Same.
8866 * testsuite/27_io/filebuf.cc: Change gnu_char to pod_char.
8867 * testsuite/27_io/stringstream.cc: Same.
8868 * testsuite/27_io/stringbuf.cc: Same.
8869 * testsuite/27_io/streambuf.cc: Same.
8870 * testsuite/27_io/ostream.cc: Same.
8871 * testsuite/27_io/istream.cc: Same.
8872 * testsuite/27_io/fstream.cc: Same.
8873 * testsuite/lib/libstdc++-v3-dg.exp
8874 (libstdc++-v3-list-sourcefiles): Additionally handle files two and
8875 three levels deeper in glob patterns.
8877 2003-01-11 Phil Edwards <pme@gcc.gnu.org>
8879 * docs/doxygen/tables.html: Finished now.
8880 * docs/doxygen/user.cfg.in: Update to latest version of Doxygen.
8881 * include/bits/basic_ios.h (basic_ios::rdbuf): Add example to
8884 * include/bits/deque.tcc, include/bits/stl_alloc.h,
8885 include/bits/stl_deque.h, include/bits/stl_list.h,
8886 include/bits/stl_vector.h: Remove _GLIBCPP_DEPRECATED bits scheduled
8889 2003-01-09 Benjamin Kosnik <bkoz@redhat.com>
8891 * configure.in: Revert.
8892 * configure: Regenerate.
8894 2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
8896 * include/Makefile.am (install-data-local): Prepend
8897 $(DESTDIR) to destination paths in all (un)installation
8898 commands. Use ${c_base_builddir} and ${std_builddir}
8899 as destination subdirectories to achieve consistency with
8900 preceding mkinstalldirs commands. No effect because both
8901 variables contain "." only.
8902 * include/Makefile.in: Regenerate.
8904 2003-01-08 Benjamin Kosnik <bkoz@redhat.com>
8906 * include/Makefile.am (stamp-*): Add checks for existing stamps.
8907 * include/Makefile.in: Regenerate.
8909 * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): Correct comment.
8910 * aclocal.m4: Regenerate.
8912 * configure.in: Don't add new multi-do rules every time the
8913 directory is reconfigured.
8914 * configure: Regenerate.
8916 2003-01-08 Brad Spencer <spencer@infointeractive.com>
8917 Nathan Myers <ncm@cantrip.org>
8919 * src/Makefile.am (stamp-debug): Clean.
8920 * src/Makefile.in: Regenerate.
8922 2003-01-07 Benjamin Kosnik <bkoz@redhat.com>
8925 * Makefile.am (distclean-multi): Fix.
8926 * Makefile.in: Regenerate.
8928 2003-01-06 Benjamin Kosnik <bkoz@redhat.com>
8930 * include/bits/locale_facets.h (messages): Move ctor, dtor
8932 (__timepunct): Same.
8933 * config/locale/gnu/messages_members.h (messages): Add dtor, ctor
8934 definitions. Conditionalize for GNU systems.
8935 * config/locale/generic/messages_members.h (messages): Add dtor, ctor
8937 * config/locale/gnu/time_members.h (messages): New. Add dtor, ctor
8938 definitions. Conditionalize for GNU systems.
8939 * config/locale/generic/time_members.h (messages): New. Add dtor, ctor
8941 * include/bits/localefwd.h (locale::facet::_S_c_name): Add.
8942 * src/locale.cc: Define.
8943 * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool):
8945 * config/locale/gnu/time_members.h: Use it.
8946 * config/locale/gnu/messages_members.h: Use it.
8947 * config/linker-map.gnu: Add locale::facets details.
8948 * include/Makefile.am (target_headers_extra): Add time_members.h.
8949 * include/Makefile.in: Regenerate.
8950 * acinclude.m4: Export CTIME_H.
8951 * aclocal.m4: Regenerate.
8952 * configure: Regnerate.
8954 2003-01-06 Paolo Carlini <pcarlini@unitus.it>
8957 (codecvt<char, char, mbstate_t>::do_in, do_out):
8958 Tweak parameters to avoid unused parameter warnings.
8960 2003-01-06 Paolo Carlini <pcarlini@unitus.it>
8963 * include/bits/locale_facets.cc (num_put::_M_convert_float):
8964 Limit __prec to digits10 + 2, not digits10 + 1, taking into
8965 account the possibility of %{g,G} conversion specifiers
8966 inside _S_format_float.
8967 * testsuite/27_io/ostream_inserter_arith.cc (test06): Add.
8969 2003-01-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8971 * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init,
8972 libstdc++-v3-list-sourcefiles): Additionally handle files one
8973 level deeper in glob patterns.
8975 * testsuite/27_io/istream_extractor_arith.cc: Delete, split...
8976 * testsuite/27_io/istream_extractor_arith/01.cc,
8977 testsuite/27_io/istream_extractor_arith/02.cc,
8978 testsuite/27_io/istream_extractor_arith/03.cc,
8979 testsuite/27_io/istream_extractor_arith/06.cc,
8980 testsuite/27_io/istream_extractor_arith/07.cc,
8981 testsuite/27_io/istream_extractor_arith/08.cc,
8982 testsuite/27_io/istream_extractor_arith/09.cc,
8983 testsuite/27_io/istream_extractor_arith/10.cc,
8984 testsuite/27_io/istream_extractor_arith/11.cc,
8985 testsuite/27_io/istream_extractor_arith/12.cc,
8986 testsuite/27_io/istream_extractor_arith/13.cc: ... to new files.
8987 * testsuite/27_io/istream_extractor_arith/12.cc: Add XFAIL for
8990 2003-01-05 Paolo Carlini <pcarlini@unitus.it>
8994 (codecvt<char, char, mbstate_t>::do_in, do_out):
8995 Implement the resolution of DR19 (TC).
8996 * testsuite/22_locale/codecvt_members_char_char.cc
8999 2003-01-02 Jason Merrill <jason@redhat.com>
9001 * config/cpu/i486/atomicity.h (__exchange_and_add, __atomic_add):
9002 *__mem is also an output.
9003 * config/cpu/m68k/atomicity.h (__exchange_and_add): Likewise.