1 2004-01-12 Paolo Carlini <pcarlini@suse.de>
3 * include/bits/locale_facets.h (struct __numpunct_cache):
4 Add members _M_truename_len and _M_falsename_len, caching
5 the lengths of _M_truename and _M_falsename.
6 (__numpunct_cache<>::_M_cache): Assign the latter.
7 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
8 num_put::do_put(bool)): Use the new members, thus avoiding
9 computing string lengths again and again.
10 * config/locale/generic/numeric_members.cc
11 (numpunct<>::_M_initialize_numpunct): Assign the new members.
12 * config/locale/gnu/numeric_members.cc
13 (numpunct<>::_M_initialize_numpunct): Likewise.
15 2004-01-12 Mark Mitchell <mark@codesourcery.com>
17 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
18 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
20 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
21 and remove Cygwin XFAIL.
22 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
23 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
24 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
25 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
27 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
28 * testsuite/27_io/objects/char/7.cc: Likewise.
29 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
30 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
31 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
33 2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
35 * include/std/std_complex.h (std::complex<>::real): Return a
36 reference. Add non-const overload.
37 (std::complex<>::real): Likewise.
38 (std::real): Likewise.
39 (std::imag): Likewise.
40 (std::operator+): Tidy.
41 (std::operator-): Likewise.
42 (std::operator*): Likewise.
43 (std::operator/): Likewise.
44 (std::operator>>): Likewise.
46 2004-01-11 Paolo Carlini <pcarlini@suse.de>
49 * include/bits/fstream.tcc (imbue): Exploit the external
50 buffer to imbue 'on the fly' a new locale and convert its
51 remainder with the new codecvt facet.
52 (underflow): Tweak slightly to deal with this special case.
53 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
54 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
55 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
56 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
57 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
59 2004-01-10 Paolo Carlini <pcarlini@suse.de>
61 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
64 2004-01-10 Paolo Carlini <pcarlini@suse.de>
67 * include/bits/locale_classes.h (class locale): Fix category
69 * testsuite/22_locale/locale/13630.cc: Add.
71 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
73 * include/bits/locale_facets.h: Make a name really dependent. This
74 will be needed when Core Issue 224 is implemented.
76 2004-01-09 Paolo Carlini <pcarlini@suse.de>
78 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
79 * testsuite/performance/allocator_thread.cc: Likewise.
81 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
83 * crossconfig.m4: Add LFS, io bits to linux cross config.
84 * acconfig.h: Remove obsolete bits, reorder.
85 * config.h.in: Regenerate.
89 2004-01-07 Gawain Bolton <gp.bolton@computer.org>
91 * include/bits/stl_list.h:
92 * include/bits/list.tc:
94 Performance enhancements for destructor, push_front(),
95 push_back(), pop_front(), pop_back(), sort()
96 Eliminated static_casts where possible.
97 Moved code out of header files into new src/list.cc
98 implementation file for library where possible.
99 Remove inheritance from iterator class and create separate
100 classes for non-constant and constant iterators.
101 * include/bits/stl_tree.h (_Rb_tree class):
103 Only erase contents in destructor.
104 Eliminate unnecessary initialization in assignment operator.
105 Optimize for the nominal case by not checking whether
106 container is empty in clear().
107 Re-order test in _M_insert() to improve performance.
108 Move initialization of new node's left & right pointers to
109 src/tree.cc to where new node's colour is initialized
110 and to reduce the amount of inline code.
111 Use _M_leftmost() and _M_end() to improve readability where
113 Create separate classes for non-constant and constant
114 iterators to clarify code, avoid extra template parameters and
115 casting away constness.
117 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
119 * src/Makefile.am (sources): Add list.cc, tree.cc.
120 * src/stl_tree.cc: Move to...
121 * src/tree.cc: ...here.
123 * config/linker-map.gnu: Tweaks.
124 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
125 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
127 * bits/stl_vector.h: Column wrap comments.
129 2004-01-07 Loren J. Rittle <ljrittle@acm.org>
131 (re-open) PR libstdc++/12658
132 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
133 (locale::global): Likewise.
135 2004-01-07 Paolo Carlini <pcarlini@suse.de>
137 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
138 Remove redundant #include.
139 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
140 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
141 re-enable normal testing.
142 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
144 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
145 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
147 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
149 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
151 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
153 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
155 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
157 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
159 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
160 More properly, #include <locale>.
161 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
162 Remove redundant #include.
163 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
164 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
165 redundant DejaGnu directive.
166 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
169 2004-01-06 Benjamin Kosnik <bkoz@redhat.com>
170 Stefan Olsson <stefan@snon.net>
172 * scripts/check_performance: Use -pthread.
173 * testsuite/performance/allocator.cc: Tweaks, add list.
174 * testsuite/performance/allocator_thread.cc: New.
176 2004-01-06 Jerry Quinn <jlquinn@optonline.net>
178 * include/bits/locale_facets.h: Document public classes and
180 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
183 2004-01-06 Paolo Carlini <pcarlini@suse.de>
185 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
186 Remove redundant #includes.
187 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
189 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
191 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
192 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
193 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
194 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
195 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
196 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
197 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
198 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
199 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
200 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
201 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
202 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
203 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
204 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
205 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
207 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
209 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
211 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
213 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
215 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
216 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
217 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
219 2004-01-04 Paolo Carlini <pcarlini@suse.de>
221 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
222 Remove redundant #includes.
223 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
225 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
227 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
229 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
231 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
233 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
235 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
237 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
239 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
241 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
243 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
245 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
248 2004-01-04 Mark Mitchell <mark@codesourcery.com>
251 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
253 * testsuite/27_io/basic_fstream/4.cc: Likewise.
254 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
255 * testsuite/27_io/basic_ios/4.cc: Likewise.
256 * testsuite/27_io/basic_iostream/4.cc: Likewise.
257 * testsuite/27_io/basic_istream/4.cc: Likewise.
258 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
259 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
260 * testsuite/27_io/basic_ostream/4.cc: Likewise.
261 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
262 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
263 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
265 2004-01-04 Paolo Carlini <pcarlini@suse.de>
267 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
268 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
269 always use double underscored names.
270 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
272 * include/bits/locale_facets.h (struct __numpunct_cache):
273 Dimension _M_atoms_out and _M_atoms_in one position smaller.
274 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
277 2003-12-31 Paolo Carlini <pcarlini@suse.de>
279 * include/bits/locale_facets.tcc (num_get::_M_extract_int,
280 num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
281 _first_ look for thousands_sep, then for decimal_point and
283 (num_get::_M_extract_float): After the decimal_point or
284 'e'/'E', decimal_point and thousands_sep just break out the
286 * testsuite/22_locale/num_get/get/char/11.cc: Add tests.
287 * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
289 2003-12-30 Paolo Carlini <pcarlini@suse.de>
292 * include/bits/locale_facets.tcc (__verify_grouping):
293 Fix to deal properly with __grouping_tmp.size() >
295 * testsuite/22_locale/num_get/get/char/13.cc: New.
296 * testsuite/22_locale/num_get/get/wchar_t/13.cc: Ditto.
298 2003-12-29 Jerry Quinn <jlquinn@optonline.net>
300 * include/bits/locale_facets.h (ctype.narrow,widen): Add cast.
302 2003-12-29 Paolo Carlini <pcarlini@suse.de>
304 * acinclude.m4 (GLIBCXX_CHECK_LFS): Add -fno-exceptions
306 * aclocal.m4: Regenerate.
307 * configure: Likewise.
309 2003-12-29 Mark Mitchell <mark@codesourcery.com>
311 * acconfig.h: Add _GLIBCXX_USE_C99_MATH.
312 * acinclude.m4 (GLIBCXX_ENABLE_C99): Define GLIBCXX_USE_C99_MATH.
313 * configure.ac: Define HAVE_S_ISREG and HAVE_S_IFREG when
315 * aclocal.m4: Regenerated.
316 * config.h.in: Likewise.
317 * configure: Likewise.
318 * Makefile.in: Likewise.
319 * include/Makefile.in: Likewise.
320 * libmath/Makefile.in: Likewise.
321 * libsupc++/Makefile.in: Likewise.
322 * testsuite/Makefile.in: Likewise.
323 * src/Makefile.in: Likewise.
324 * po/Makefile.in: Likewise.
325 * include/c_std/std_cmath.h (_GLIBCXX_USE_C99): Replace with ...
326 (_GLIBCXX_USE_C99_MATH): ... this.
328 * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL for
330 * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
331 * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
332 * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
333 * testsuite/27_io/basic_istream/readsome/char/6476-2.cc: Likewise.
334 * testsuite/27_io/objects/char/9.cc: Likewise.
335 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
337 2003-12-28 Paolo Carlini <pcarlini@suse.de>
339 * include/ext/pool_allocator.h (class __pool_alloc): Use
340 operator new and operator delete.
342 2003-12-24 Andrew Pinski <pinskia@physics.uc.edu>
344 * config/cpu/i386/atomicity.h (__exchange_and_add): Fix output
348 * config/cpu/i386/atomicity.h: Split up read-write memory operand.
350 2003-12-23 Benjamin Kosnik <bkoz@redhat.com>
352 * include/ext/new_allocator.h (new_allocator): Proper allocator class.
353 (__new_alloc): Delete.
354 * include/ext/malloc_allocator.h (malloc_allocator): Same.
355 (__malloc_alloc): Delete.
356 * include/ext/mt_allocator.h: Same, but weakly.
357 * include/ext/debug_allocator.h: Convert to the new style.
358 * include/ext/pool_allocator.h: Use global new and delete directly.
359 * include/backward/alloc.h: Don't inject malloc_allocator, or
361 * testsuite/ext/allocators.cc: Minimal fixups for usage of new
362 classes. Comment out tests with __pool_alloc for now.
363 * testsuite/performance/allocator.cc: Same.
365 2003-12-22 Matt Austern <austern@apple.com>
367 * include/bits/stl_bvector.h (_Bvector_alloc_base): Eliminate.
368 (_Bvector_base): Inherit directly from word allocator.
369 * include/bits/stl_tree.h (_Rb_tree_alloc_base): Eliminate.
370 (_Rb_tree_base): Eliminate.
371 (_Rb_tree): Inherit directly from node allocator.
372 * include/ext/slist (_Alist_alloc_base): Eliminate.
373 (_Slist_base): Inherit direcly from node allocator.
375 2003-12-22 Benjamin Kosnik <bkoz@redhat.com>
377 * testsuite/18_support/numeric_limits.cc: Add _GLIBCXX_ASSERT to
378 dg-options in testcases that use VERIFY.
379 * testsuite/23_containers/vector/invalidation/1.cc: Same.
380 * testsuite/23_containers/vector/invalidation/2.cc: Same.
381 * testsuite/23_containers/vector/invalidation/3.cc: Same.
382 * testsuite/23_containers/vector/invalidation/4.cc: Same.
383 * testsuite/23_containers/vector/resize/1.cc: Same.
384 * testsuite/26_numerics/complex_value.cc: Same.
385 * testsuite/27_io/ios_base/storage/1.cc: Same.
386 * testsuite/27_io/ios_base/storage/2.cc: Same.
387 * testsuite/27_io/ios_base/storage/3.cc: Same.
388 * testsuite/27_io/manipulators/standard/char/2.cc: Same.
389 * testsuite/backward/11460.cc: Same.
390 * testsuite/backward/strstream_members.cc: Same.
392 * include/ext/hash_set (class hash_multiset): Fix typo.
394 2003-12-22 Benjamin Kosnik <bkoz@redhat.com>
396 * testsuite/27_io/objects/char/5.cc: Don't use stdc++.h.gch.
397 * testsuite/27_io/objects/wchar_t/5.cc: Same.
398 * docs/html/test.html: Add docs for constructing test files that
399 don't use stdc++.h.gch.
400 * scripts/testsuite_flags.in (PCHFLAGS): Move to --cxxpchflags.
401 * testsuite/libstdc++-dg/normal.exp: Compute DEFAULT_CXXFLAGS
404 * include/bits/ios_base.h (ios_base::Init::_S_initialized): Remove.
405 * src/ios_init.cc: Same.
406 * config/linker-map.gnu: Same.
407 * testsuite/27_io/ios_base/cons/copy_neg.cc: Adjust line numbers.
408 * testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
410 2003-12-22 Andrew Pinski <pinskia@physics.uc.edu>
413 * include/bits/stl_multiset.h (__gnu_norm::multiset): Define pointer
414 as allocator's pointer, likewise for reference, const_pointer, and
416 * include/bits/stl_set.h (__gnu_norm::set): Likewise.
417 * include/ext/hash_set (__gnu_ext::hash_set): Likewise.
418 (__gnu_ext::hash_multiset): Likewise.
420 2003-12-22 Paolo Carlini <pcarlini@suse.de>
422 * include/bits/locale_facets.tcc (num_get::_M_extract_int,
423 num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
424 first look for decimal_point and thousands_sep, when parsing
425 sign, leading zeros (and 0, Ox, 0X for integer types) too.
426 * testsuite/22_locale/num_get/get/char/12.cc: New.
427 * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
429 * testsuite/22_locale/num_get/get/char/11.cc: Add a comment.
430 * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
432 2003-12-20 Jason Merrill <jason@redhat.com>
434 * config/cpu/powerpc/atomicity.h: Fix oversight in previous
437 2003-12-20 Jerry Quinn <jlquinn@optonline.net>
439 * docs/doxygen/TODO: Update.
440 * include/bits/locale_classes.h (locale, facet, id): Document.
441 * include/bits/locale_facets.tcc (has_facet, use_facet): Document.
443 2003-12-19 Jason Merrill <jason@redhat.com>
445 * config/cpu/cris/atomicity.h: Remove memory clobbers.
446 * config/cpu/mips/atomicity.h: Likewise.
447 * config/cpu/i486/atomicity.h: Remove memory clobbers.
448 Split up read-write memory operand.
449 * config/cpu/m68k/atomicity.h: Likewise.
450 * config/cpu/powerpc/atomicity.h: Make memory I/O explicit.
451 * config/cpu/s390/atomicity.h: Likewise.
452 * config/cpu/sparc/atomicity.h: Likewise.
454 2003-12-20 Carlo Wood <carlo@alinoe.com>
457 namespace __gnu_cxx::demangler
458 (session<Allocator>::decode_encoding): Put the postfix
459 of the return type of (member) functions after the function
460 instead of after the return type.
462 2003-12-19 Jerry Quinn <jlquinn@optonline.net>
464 * include/bits/locale_facet.h
465 (__ctype_abstract_base,ctype<charT>,ctype<char>,ctype<wchar_t>):
468 2003-12-19 Paolo Carlini <pcarlini@suse.de>
470 * include/bits/locale_facets.tcc (num_get::_M_extract_int,
471 num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
472 first look for decimal_point and thousands_sep.
473 * testsuite/22_locale/num_get/get/char/11.cc: New.
474 * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
476 2003-12-19 Paolo Carlini <pcarlini@suse.de>
478 * include/bits/locale_facets.tcc (num_get::_M_extract_float):
479 When __found_sci becomes true stop eating thousands separators
480 and the decimal radix separator.
481 * testsuite/22_locale/num_get/get/char/9.cc: New.
482 * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
484 * config/locale/generic/c_locale.cc (__convert_to_v): Don't
485 check that *__sanity == '\0': parsing may stop earlier, still
487 * config/locale/gnu/c_locale.cc: Likewise.
488 * testsuite/22_locale/num_get/get/char/10.cc: New.
489 * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
490 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
491 Tweak in one place accordingly.
493 * testsuite/22_locale/money_get/get/char/1.cc: Fix typo.
494 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
496 2003-12-18 Benjamin Kosnik <bkoz@redhat.com>
498 * include/bits/stl_list.h: Formatting tweaks.
499 * include/bits/list.tcc: Same.
501 2003-12-18 Matt Austern <austern@apple.com>
503 * include/bits/demangle.h: Fix allocator type correctness,
504 i.e. make sure that when we instantiate a container with a value
505 type and an allocator, the allocator's value type matches the
507 * include/bits/stl_deque.h (_Deque_alloc_base): Eliminate.
508 (_Deque_base): inherit directly from the deque's allocator. Use
509 rebinding instead of _Alloc_traits. Pick up data members from
511 * include/bits/stl_list.h (_List_alloc_base): Eliminate.
512 (_List_base): Inherit directly from the list's allocator. Use
513 rebinding instead of _Alloc_traits. Pick up data members from
515 * include/bits/stl_vector.h (_Vector_alloc_base): Eliminate
516 (_Vector_base): Inherit directly from the vector's allocator. Use
517 rebinding instead of _Alloc_traits. Pick up data members from
519 * include/ext/hashtable.h: Fix allocator type correctness (the
520 vector of buckets must be passed an allocator for objects of
521 type _Node*). Use rebinding instead of _Alloc_traits.
523 2003-12-17 Paolo Carlini <pcarlini@suse.de>
525 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
526 Use narrow to get from __format[__i] a char __c representing a
527 formatting code, don't use it to compare *__beg to __format[__i].
528 * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: New.
530 2003-12-17 Paolo Carlini <pcarlini@suse.de>
532 * testsuite/performance/container_benchmark.cc: Tweak outputs.
534 * testsuite/performance/list_create_fill_sort.cc: Shrink a
537 * testsuite/testsuite_performance.h: Widen a few output fields.
539 * testsuite/performance/ifstream_extract_int.cc: New.
541 2003-12-16 Phil Edwards <phil@codesourcery.com>
543 * configure.ac (AM_INIT_AUTOMAKE): Don't warn about GNU Make.
544 * configure: Regenerated.
545 * Makefile.am (check-%): New catch-all forwarding target.
546 * Makefile.in: Regenerated.
548 2003-12-16 Paolo Carlini <pcarlini@suse.de>
550 * testsuite/performance/container_benchmark.cc: New, a
551 benchmark developed by Bjarne Stroustrup and Alexander
552 Stepanov and made available with no restrictions.
554 * testsuite/testsuite_performance.h (report_header): New,
555 useful to produce header lines in the reports.
557 2003-12-16 Jonathan Wakely <redi@gcc.gnu.org>
559 * docs/html/21_strings/howto.html: Document shrink-to-fit reserve().
560 * docs/html/faq/index.html: Reducing vector's capacity() to size().
561 * docs/html/documentation.html, docs/html/faq/index.txt: Regenerate.
563 2003-12-16 Paolo Carlini <pcarlini@suse.de>
565 * testsuite/performance/narrow_widen_char.cc: Tweak the
566 number of iterations for each test.
567 * testsuite/performance/narrow_widen_wchar_t.cc: Add a
568 missing clear_counters.
570 2003-12-16 Paolo Carlini <pcarlini@suse.de>
573 * include/bits/locale_facets.h: Add _M_bit and _M_wmask,
574 used to speed up the computation of ctype::do_is.
575 * config/locale/generic/ctype_members.cc
576 (_M_initialize_ctype): Fill _M_bit and _M_wmask.
577 (ctype::do_is): Use _M_bit and _M_wmask.
578 * config/locale/gnu/ctype_members.cc: Likewise.
579 * testsuite/performance/is_wchar_t.cc: New.
581 * testsuite/performance/narrow_widen_wchar_t.cc: Tweak
582 string literal (incorrect citation ;)
584 * include/bits/locale_facets.h: Minor tweaks, const
585 correctness, unsigned -> size_t.
587 2003-12-16 Jerry Quinn <jlquinn@optonline.net>
589 * include/bits/locale_facets.h (widen, narrow): Uncomment the
592 2003-12-15 Jerry Quinn <jlquinn@optonline.net>
594 * config/os/aix/ctype_noninline.h,
595 config/os/bsd/freebsd/ctype_noninline.h,
596 config/os/bsd/netbsd/ctype_noninline.h,
597 config/os/djgpp/ctype_noninline.h,
598 config/os/generic/ctype_noninline.h,
599 config/os/gnu-linux/ctype_noninline.h,
600 config/os/hpux/ctype_noninline.h,
601 config/os/irix/irix5.2/ctype_noninline.h,
602 config/os/irix/irix6.5/ctype_noninline.h,
603 config/os/mingw32/ctype_noninline.h,
604 config/os/newlib/ctype_noninline.h,
605 config/os/qnx/qnx6.1/ctype_noninline.h,
606 config/os/solaris/solaris2.5/ctype_noninline.h,
607 config/os/solaris/solaris2.6/ctype_noninline.h,
608 config/os/solaris/solaris2.7/ctype_noninline.h,
609 config/os/vxworks/ctype_noninline.h,
610 config/os/windiss/ctype_noninline.h (ctype): Initialize
612 * include/bits/locale_facets.h (_M_widen, _M_widen_ok,
613 _M_narrow, _M_narrow_ok): New.
614 (widen, narrow): Use tables to bypass virtual functions.
615 (_M_widen_init, _M_narrow_init): New.
617 2003-12-15 Carlo Wood <carlo@alinoe.com>
619 * include/bits/ios_base.h (Init::_S_initialized): Change into
621 * src/ios_init.cc (Init::_S_initialized): Add definition.
623 2003-12-15 Benjamin Kosnik <bkoz@redhat.com>
626 * include/Makefile.am (bits_headers): Add concurrence.h.
627 * include/Makefile.in: Regenerated.
628 * include/bits/concurrence.h: New.
629 * src/locale_init.cc: Use it.
630 (locale::locale): Lock critical regions.
631 (locale::global): Same.
633 2003-12-15 Benjamin Kosnik <bkoz@redhat.com>
635 * include/bits/basic_string.h: Change _*_references to _*_refcount.
636 * include/bits/locale_classes.h: Same.
637 * src/locale.cc: Same.
638 * src/locale_name.cc: Same.
639 * src/locale_init.cc: Same.
641 2003-12-15 Benjamin Kosnik <bkoz@redhat.com>
644 * include/bits/ios_base.h (Init::_S_ios_base_init): Change to
645 _S_refcount, make atomic.
646 * src/ios.cc: Adjust definition.
647 * src/ios_init.cc (ios_base::Init::Init): Use __exchange_and_add,
649 (ios_base::Init::~Init): Same.
650 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
651 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
653 2003-12-15 Paolo Carlini <pcarlini@suse.de>
655 * include/bits/locale_facets.tcc (num_get::do_get(bool&)):
656 Fail as soon as the begins of both truename and falsename
657 stop to match; always leave __beg one position beyond the
658 last char successfully matched.
659 * testsuite/22_locale/num_get/get/char/8.cc: New.
660 * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
662 2003-12-15 Paolo Carlini <pcarlini@suse.de>
664 * include/bits/locale_facets.h (_M_widen): Reserve space
665 for all the possible widened chars.
666 * config/locale/generic/ctype_members.cc (_M_initialize_ctype):
667 Compute at construction time all the possible widened chars.
668 (do_widen): Tweak, simplify.
669 * config/locale/gnu/ctype_members.cc: Likewise.
670 * testsuite/performance/narrow_widen_wchar_t.cc: Add tests
671 for the array versions.
673 2003-12-12 Paolo Carlini <pcarlini@suse.de>
674 Benjamin Kosnik <bkoz@redhat.com>
677 * include/bits/locale_facets.h (ctype<wchar_t>): Declare
678 _M_initialize_ctype() and _M_narrow_ok, _M_narrow and _M_widen.
679 * src/ctype.cc (ctype<wchar_t>::ctype(size_t),
680 ctype<wchar_t>::ctype(__c_locale, size_t)): Use
681 _M_initialize_ctype to fill _M_narrow and _M_widen.
682 (ctype_byname<wchar_t>::ctype_byname(const char*, size_t)):
684 * config/locale/generic/ctype_members.cc (do_narrow, do_widen)
685 Use _M_narrow and _M_widen when possible, instead of calling
686 wctob and btowc, respectively.
687 (_M_initialize_ctype): Define, it fills at construction time
688 _M_narrow and _M_widen.
689 * config/locale/gnu/ctype_members.cc: Likewise.
690 * testsuite/performance/narrow_widen_wchar_t.cc: New.
692 2003-12-12 Jonathan Wakely <redi@gcc.gnu.org>
694 * docs/html/faq/index.txt: Regenerate after adding <link> tags.
696 2003-12-11 Neil Ferguson <nferguso@eso.org>
697 Paolo Carlini <pcarlini@suse.de>
699 * include/bits/basic_string.tcc (reserve): Allow shrink-to-fit.
700 * testsuite/21_strings/basic_string/capacity/1.cc: Tweak.
701 * testsuite/21_strings/basic_string/capacity/char/1.cc: Ditto.
702 * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Ditto.
704 2003-12-10 Benjamin Kosnik <bkoz@redhat.com>
707 * testsuite/lib/libstdc++.exp (v3-init): Add
708 original_ld_library_path, calculate ld_library path, set
709 LD_LIBRARY_PATH to both. Based on libjava.exp.
711 2003-12-10 Benjamin Kosnik <bkoz@redhat.com>
712 Alexandre Oliva <aoliva@redhat.com>
715 * testsuite/Makefile.am (GLIBCXX_DIR): New.
717 (CXXLINK): Use both with -R so libtool links the correct libs.
719 2003-12-10 Paolo Carlini <pcarlini@suse.de>
722 * include/bits/fstream.tcc (underflow): Deal gracefully with
723 read errors: throw ios_base::failure.
725 2003-12-10 Benjamin Kosnik <bkoz@redhat.com>
728 * config/io/basic_file_stdio.cc (__basic_file::sys_open): Sync.
729 * testsuite/ext/stdio_filebuf/char/10063-1.cc: New.
730 * testsuite/ext/stdio_filebuf/char/10063-2.cc: New.
732 2003-12-10 Paolo Carlini <pcarlini@suse.de>
734 * include/bits/locale_facets.tcc (num_put::do_put(void*)):
735 Remove the try/catch, not necessary.
737 2003-12-10 Paolo Carlini <pcarlini@suse.de>
739 * testsuite/22_locale/locale/cons/12438.cc: Tweak memory
740 limit and iterations to avoid spurious failures on some
743 2003-12-09 Benjamin Kosnik <bkoz@redhat.com>
745 * config/linker-map.gnu: Remove private ios_base members from
748 * config/cpu/alpha/atomicity.h: Consistently format.
749 * config/cpu/cris/atomicity.h: Same.
750 * config/cpu/generic/atomicity.h: Same.
751 * config/cpu/hppa/atomicity.h: Same.
752 * config/cpu/i386/atomicity.h: Same.
753 * config/cpu/i486/atomicity.h: Same.
754 * config/cpu/ia64/atomicity.h: Same.
755 * config/cpu/m68k/atomicity.h: Same.
756 * config/cpu/mips/atomicity.h: Same.
757 * config/cpu/powerpc/atomicity.h: Same.
758 * config/cpu/s390/atomicity.h: Same.
759 * config/cpu/sparc/atomicity.h: Same.
761 2003-12-09 Benjamin Kosnik <bkoz@redhat.com>
764 * acinclude.m4 (GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS): Remove.
765 * aclocal.m4: Regenerate.
766 * configure.ac: Remove call to GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS.
767 * conigure: Regenerate.
768 * src/Makefile.am (libstdc___la_LDFLAGS): Remove LIBUNWIND_FLAGS.
769 * src/Makefile.in: Regenerate.
770 * docs/html/17_intro/configury.html: Modify.
772 2003-12-09 Paolo Carlini <pcaelini@suse.de>
774 * include/bits/demangle.h (struct implementation_details):
775 Keep in comments the names of the unused parameters.
777 2003-12-09 Paolo Carlini <pcaelini@suse.de>
779 * include/bits/demangle.h (struct implementation_details):
780 Fix unused parameters warning.
782 2003-12-09 Paolo Carlini <pcarlini@suse.de>
784 * include/bits/locale_facets.tcc (num_get::_M_extract_int):
785 Slightly streamline the code dealing with overflows and the
788 2003-12-09 Bernardo Innocenti <bernie@develer.com>
790 * include/ext/algorithm, include/ext/debug_allocator.h,
791 include/ext/enc_filebuf.h, include/ext/functional,
792 include/ext/hash_fun.h, include/ext/hash_map, include/ext/hash_set,
793 include/ext/hashtable.h, include/ext/iterator,
794 include/ext/malloc_allocator.h, include/ext/memory,
795 include/ext/mt_allocator.h, include/ext/numeric,
796 include/ext/pod_char_traits.h, include/ext/pool_allocator.h,
797 include/ext/rb_tree, include/ext/rope, include/ext/ropeimpl.h,
798 include/ext/slist, include/ext/stdio_filebuf.h,
799 include/ext/stdio_sync_filebuf.h: Remove trailing whitespace.
801 2003-12-09 Bernardo Innocenti <bernie@develer.com>
803 * include/debug/bitset, include/debug/debug.h, include/debug/deque,
804 include/debug/formatter.h, include/debug/hash_map.h,
805 include/debug/hash_multimap.h, include/debug/hash_multiset.h,
806 include/debug/hash_set, include/debug/hash_set.h, include/debug/list,
807 include/debug/map.h, include/debug/multimap.h,
808 include/debug/multiset.h, include/debug/safe_base.h,
809 include/debug/safe_iterator.h, include/debug/safe_iterator.tcc,
810 include/debug/safe_sequence.h, include/debug/set.h,
811 include/debug/string, include/debug/vector: Remove trailing whitespace.
813 2003-12-09 Bernardo Innocenti <bernie@develer.com>
815 * include/c_compatibility/iso646.h, include/c_compatibility/limits.h,
816 include/c_compatibility/locale.h, include/c_compatibility/stdio.h,
817 include/c_compatibility/string.h, include/c_compatibility/time.h,
818 include/c_compatibility/wchar.h, include/c_compatibility/wctype.h:
819 Remove trailing whitespace.
821 2003-12-09 Bernardo Innocenti <bernie@develer.com>
823 * include/c_std/cmath.tcc, include/c_std/std_cassert.h,
824 include/c_std/std_cctype.h, include/c_std/std_cmath.h,
825 include/c_std/std_cstddef.h, include/c_std/std_cstdio.h,
826 include/c_std/std_cstdlib.h, include/c_std/std_cstring.h,
827 include/c_std/std_cwchar.h, include/c_std/std_cwctype.h:
828 Remove trailing whitespace.
830 2003-12-09 Bernardo Innocenti <bernie@develer.com>
832 * include/c/std_cctype.h, include/c/std_cmath.h,
833 include/c/std_cstdlib.h include/c/std_cwchar.h,
834 include/c/std_cwctype.h: Remove trailing whitespace.
836 2003-12-09 Bernardo Innocenti <bernie@develer.com>
838 * include/backward/algo.h, include/backward/algobase.h,
839 include/backward/alloc.h, include/backward/complex.h,
840 include/backward/defalloc.h, include/backward/function.h,
841 include/backward/iterator.h, include/backward/new.h,
842 include/backward/ostream.h, include/backward/queue.h,
843 include/backward/rope.h, include/backward/stream.h,
844 include/backward/streambuf.h, include/backward/strstream,
845 include/backward/tempbuf.h, include/backward/tree.h,
846 include/backward/vector.h: Remove trailing whitespace.
848 2003-12-08 Paolo Carlini <pcarlini@suse.de>
850 * config/locale/generic/c_locale.cc (__convert_to_v(long&),
851 __convert_to_v(unsigned long&), __convert_to_v(long long&),
852 __convert_to_v(unsigned long long&): Remove.
853 (__convert_to_v(float&), __convert_to_v(double&),
854 __convert_to_v(long double&)): Remove last unused parameter.
855 * config/locale/gnu/c_locale.cc: Likewise.
856 * include/bits/locale_facets.h: Likewise.
857 (num_get::_M_extract_int): Update declaration.
858 (class __num_base): Tweak _S_ie and _S_iE according to the
860 * include/bits/locale_facets.tcc (num_get::_M_extract_int):
861 Provide directly the final _ValueT, not a string: accumulate
862 the result checking for overflow at each digit.
863 (num_get::do_get(bool&), num_get::do_get(long&),
864 num_get::do_get(unsigned short&), num_get::do_get(unsigned int&),
865 num_get::do_get(unsigned long&), num_get::do_get(long long&),
866 num_get::do_get(unsigned long long&), num_get::do_get(void*&)):
867 Use the new _M_extract_int, simplify.
868 * src/locale-inst.cc (num_get::_M_extract_int(long&),
869 num_get::_M_extract_int(unsigned short&),
870 num_get::_M_extract_int(unsigned int&),
871 num_get::_M_extract_int(unsigned long&),
872 num_get::_M_extract_int(long long&),
873 num_get::_M_extract_int(unsigned long long&): Instantiate.
874 * src/locale_facets.cc (__num_base::_S_atoms_in): Reorder
875 the chars in the natural order: abcdefABCDEF.
877 2003-12-08 David S. Miller <davem@redhat.com>
880 * config/cpu/sparc/atomicity.h (__exchange_and_add, __atomic_add):
881 Extend increment to _Atomic_word before giving to assembler.
883 2003-12-06 Benjamin Kosnik <bkoz@redhat.com>
885 * testsuite/ext/enc_filebuf/char/13189.cc: Guard for __enc_traits.
886 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
888 2003-12-06 Benjamin Kosnik <bkoz@redhat.com>
891 * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf):
892 Remove __del argument to file descriptor constructor.
893 * config/io/basic_file_stdio.h (__basic_file::sys_open): Remove
895 * config/io/basic_file_stdio.cc: Same.
897 2003-12-05 Benjamin Kosnik <bkoz@redhat.com>
900 * include/ext/enc_filebuf.h: Fix.
901 * include/bits/fstream.tcc: Tweak formatting.
902 * include/bits/postypes.h: Same.
903 * include/bits/sstream.tcc: Same.
904 * include/bits/streambuf.tcc: Same.
905 * testsuite/ext/stdio_filebuf.cc: Split.
906 * testsuite/ext/stdio_filebuf_2.cc: Split.
907 * testsuite/ext/stdio_sync_filebuf_char.cc: Split.
908 * testsuite/ext/stdio_sync_filebuf_wchar_t.cc: Split.
909 * testsuite/ext/enc_filebuf/char/13189.cc: New.
910 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: New.
911 * testsuite/ext/stdio_filebuf/char/1.cc: New.
912 * testsuite/ext/stdio_filebuf/char/2.cc: New.
913 * testsuite/ext/stdio_sync_filebuf/char/1.cc: New.
914 * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: New.
915 * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: New.
916 * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: New.
917 * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: New.
918 * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: New.
919 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: New.
920 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: New.
921 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: New.
922 * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: New.
924 2003-12-05 Carlo Wood <carlo@alinoe.com>
928 namespace __gnu_cxx::demangler
929 (enum substitution_nt): Removed trailing comma.
930 (implementation_details): Added.
931 (session<Allocator>::M_implementation_details): Added.
932 (session<Allocator>::session): Pass implementation_details.
933 (session<Allocator>::decode_encoding): Same.
934 (session<Allocator>::decode_real): Added.
935 (_GLIBCXX_DEMANGLER_STYLE_VOID _GLIBCXX_DEMANGLER_STYLE_LITERAL
936 _GLIBCXX_DEMANGLER_STYLE_LITERAL_INT
937 _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
938 _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Replaced with
939 implementation_details equivalent.
940 (session<Allocator>::decode_expression):
941 Use M_implementation_details instead of macros. Add extra parentheses
942 around 'larger than' operator in expressions in template arguments.
943 (session<Allocator>::decode_bare_function_type): Idem.
944 (session<Allocator>::decode_literal):
945 Idem, and call decode_real for floating literals.
946 (session<Allocator>::decode_type_with_postfix): Put the postfix
947 of the return type of (member) functions after the function
948 instead of after the return type. Also, put a space after the
949 prefix of qualified function pointers: "int (* const<space>".
950 * src/demangle.cc: include most dependent header file first.
951 * testsuite/demangle/regression/cw-16.cc: Updated two
952 and added three tests.
954 2003-12-04 Benjamin Kosnik <bkoz@redhat.com>
957 * include/bits/stl_algo.h (__random_number): Remove.
958 (random_shuffle): Use rand, as permitted by DR 395.
959 * include/ext/algorithm: Same.
960 * linkage.m4 (GLIBCXX_CHECK_STDLIB_SUPPORT): Remove lrand48.
962 * crossconfig.m4: Remove HAVE_DRAND48, HAVE_LRAND48.
963 * config.h.in: Regenerated.
967 2003-12-04 Paolo Carlini <pcarlini@suse.de>
970 * include/std/std_bitset.h (operator>>): Implement resolution
971 of DR 303 [WP]: use widen('0') and widen('1').
972 * docs/html/ext/howto.html: Add an entry for DR 303.
974 * include/std/std_bitset.h (operator>>): Implement the common
975 requirements of formatted input functions (27.6.1.2.1).
977 * include/std/std_bitset.h (operator>>): Set the failbit when
978 nothing was extracted and _Nb != 0.
979 * testsuite/23_containers/bitset/input/1.cc: New.
981 2003-12-03 Paolo Carlini <pcarlini@suse.de>
984 * include/bits/locale_facets.tcc (time_get::_M_extract_num):
985 Rewrite, stop the parsing as soon as a digit cannot possibly
986 lead to a final number within the bounds; otherwise, simplify,
987 avoiding __ctype.is() and atoi().
988 * testsuite/22_locale/time_get/get_date/char/12791.cc: New.
989 * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: New.
991 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
992 Minor tweak: a 4-digit integer cannot be bigger than 9999.
994 * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Use
995 type-correct wchar_t string literals.
996 * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
997 * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
998 * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
999 * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
1001 2003-12-02 Paolo Carlini <pcarlini@suse.de>
1003 * include/bits/locale_facets.tcc (time_get::do_get_year):
1004 Avoid using a basic_string and calling a full blown strtol
1005 (via __convert_to_v) for simple 2 or 4 digits, base 10,
1006 positive integers; simplify.
1008 2003-12-02 Paolo Carlini <pcarlini@suse.de>
1010 * config/locale/gnu/monetary_members.cc
1011 (money_base::_S_construct_pattern): For case 3: and 4:
1012 exchanging 'if (__precedes)' and 'if (__space)' allows
1013 to factor out a few more assignments.
1015 2003-12-01 Benjamin Kosnik <bkoz@redhat.com>
1017 * include/bits/basic_ios.h (basic_ios::setstate): Revert.
1018 * include/bits/istream.tcc: Only call setstate if __err != goodbit.
1019 * include/bits/ostream.tcc: Same.
1020 * testsuite/27_io/basic_ios/exceptions/char/2.cc: New.
1022 * testsuite/testsuite_io.h (__gnu_test::fail_streambuf): Make
1023 internal buffer non-static.
1025 2003-12-01 Benjamin Kosnik <bkoz@redhat.com>
1027 * docs/html/17_intro/C++STYLE: Add exception bits.
1028 * include/bits/fstream.tcc: Add location info to exception strings.
1030 * include/bits/stl_construct.h: Formatting tweaks.
1032 2003-12-01 Paolo Carlini <pcarlini@suse.de>
1035 * include/bits/allocator.h (allocator::construct): Implement
1036 resolution of DR 402 [Ready] (in Revision 28).
1037 * include/bits/allocator_traits.h (__allocator::construct):
1039 * include/bits/stl_construct.h (_Construct): Likewise.
1040 * testsuite/20_util/allocator_members.cc: Move to...
1041 * testsuite/20_util/allocator/1.cc: ... here.
1042 * testsuite/20_util/allocator/10378.cc: New.
1043 * docs/html/ext/howto.html: Add an entry for DR 402.
1045 2003-11-30 Paolo Carlini <pcarlini@suse.de>
1047 * config/locale/gnu/codecvt_members.cc (codecvt::do_in,
1048 codecvt::do_length): More minor tweaks.
1050 2003-11-30 Paolo Carlini <pcarlini@suse.de>
1052 * config/locale/gnu/codecvt_members.cc (codecvt::do_in):
1053 Minor stylistic tweak.
1055 2003-11-30 Paolo Carlini <pcarlini@suse.de>
1057 * include/bits/locale_facets.tcc (num_put::do_put(..., bool)):
1058 Minor tweaks, consistent with the style used in other facets.
1060 2003-11-29 Paolo Carlini <pcarlini@suse.de>
1062 * include/bits/fstream.tcc (underflow): Minor tweaks in
1063 preparation for libstdc++/13217.
1065 2003-11-29 Paolo Carlini <pcarlini@suse.de>
1067 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc:
1068 Tweak for a few small problems (fix timings, use VERIFY..)
1070 2003-11-28 Paolo Carlini <pcarlini@suse.de>
1072 * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: Remove.
1073 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: New,
1074 the original third testcase for libstdc++/13171 belong here.
1076 2003-11-28 Paolo Carlini <pcarlini@suse.de>
1078 * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc:
1079 Remove extraneous wchar_t lines.
1081 2003-11-27 Paolo Carlini <pcarlini@suse.de>
1085 * include/bits/fstream.tcc (underflow): Throw ios_base::failure
1086 upon incomplete or invalid byte sequences in the file.
1087 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: New.
1088 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: New.
1089 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: New.
1091 2003-11-27 Paolo Carlini <pcarlini@suse.de>
1093 * include/std/std_streambuf.h (__copy_streambufs): Remove
1094 the first, unused, basic_ios<> parameter.
1095 * src/streambuf-inst.cc: Likewise.
1096 * include/bits/streambuf.tcc: Likewise.
1097 * include/bits/istream.tcc (operator>>(__streambuf_type*)):
1098 Tweak accordingly the call.
1099 * include/bits/ostream.tcc (operator<<(__streambuf_type*)):
1102 * include/bits/streambuf.tcc (__copy_streambufs): Remove
1103 redundant try/catch.
1105 2003-11-26 Benjamin Kosnik <bkoz@redhat.com>
1111 * include/bits/basic_ios.h (basic_ios::setstate): Elide if goodbit.
1112 (basic_ios::_M_setstate): Consolidate common error handling code.
1113 * include/bits/basic_ios.tcc: Tweak.
1114 * include/bits/fstream.tcc: Tweak.
1115 * include/bits/istream.tcc: Use _M_setstate for common exception
1116 handling. Move setstate calls after catch.
1117 (basic_istream::tellg): Check for exceptions thrown by streambuf
1119 (basic_istream::seekg): Same.
1120 * include/bits/ostream.tcc: Same, but for ostream.
1121 (basic_ostream::flush): Check for exceptions thrown by streambuf
1123 (basic_istream::tellp): Same.
1124 (basic_istream::seekp): Same.
1125 * include/bits/locale_facets.tcc: Tweak.
1126 * include/bits/streambuf.tcc: Tweak.
1127 (__copy_streambufs): Propagate exceptions.
1128 * testsuite/testsuite_io.h (fail_streambuf): New.
1129 (fail_num_get): New.
1130 (fail_num_put): New.
1132 (underflow_error): New.
1133 (overflow_error): New.
1134 (positioning_error): New.
1135 * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Tweak.
1136 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1137 exceptions_badbit_throw.cc, exceptions_failbit.cc,
1138 exceptions_failbit_throw.cc: New.
1139 * testsuite/27_io/basic_istream/extractors_other/char/
1140 error_failbit.cc, exceptions_badbit_throw.cc,
1141 exceptions_failbit_throw.cc, exceptions_null.cc: New.
1142 * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
1144 * testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc:
1146 * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
1148 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1149 exceptions_badbit_throw.cc, exceptions_failbit_throw.cc: New.
1150 * testsuite/27_io/basic_ostream/inserters_other/char/
1151 error_failbit.cc, exceptions_badbit_throw.cc,
1152 exceptions_failbit_throw.cc, exceptions_null.cc: New.
1153 * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
1155 * testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc:
1158 2003-11-26 Benjamin Kosnik <bkoz@redhat.com>
1161 * include/bits/istream.tcc
1162 (basic_istream::sentry::sentry): Set failbit and eofbit when eof.
1163 * testsuite/27_io/basic_istream/sentry/char/12297.cc: New.
1165 2003-11-26 Paolo Carlini <pcarlini@suse.de>
1166 Petur Runolfsson <peturr02@ru.is>
1169 * include/bits/fstream.tcc (imbue): Relax the conditions under
1170 which the function succeeds: allow for two consecutive calls with
1171 the same name; state dependent encodings are ok even after open
1172 if at the beginning of the file; don't check seekoff return value
1173 (pipes, cin, cout, etc...)
1174 * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: New.
1175 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: New.
1176 * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: New.
1177 * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: New.
1178 * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak comment.
1179 * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
1180 * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Tweak comment.
1181 * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
1183 * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: More
1184 correctly use the UTF-8 locale appearing in the PR.
1186 2003-11-26 Paolo Carlini <pcarlini@suse.de>
1188 * include/bits/locale_facets.h
1189 (__numpunct_cache<>::_M_cache): Avoid zeroing _M_grouping,
1190 _M_truename and _M_falsename: the constructor always does
1191 it immediately before the _M_cache call.
1193 2003-11-25 Paolo Carlini <pcarlini@suse.de>
1195 * config/locale/gnu/codecvt_members.cc (codecvt::do_length):
1196 Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
1197 former is very fast, but stops if encounters a NUL.
1198 (codecvt::do_out): Tweaks.
1199 (codecvt::do_in): Tweaks, improve the code dealing with errors.
1200 * testsuite/performance/wchar_t_length.cc: New.
1202 2003-11-24 Paolo Carlini <pcarlini@suse.de>
1204 * config/locale/gnu/codecvt_members.cc (codecvt::do_in):
1205 Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
1206 former is very fast, but stops if encounters a NUL.
1207 (codecvt::do_out): Tweak.
1208 * testsuite/performance/wchar_t_in.cc: New.
1210 2003-11-24 Paolo Carlini <pcarlini@suse.de>
1212 * include/bits/locale_facets.h
1213 (__numpunct_cache<>::_M_cache): Set _M_allocated at the beginning
1214 in order to avoid memory leaks; simplify a bit.
1216 2003-11-24 Benjamin Kosnik <bkoz@redhat.com>
1218 * include/bits/streambuf_iterator.h (ostreambuf_iterator): Remove
1219 non-standard throw specs.
1220 * testsuite/24_iterators/istreambuf_iterator.cc: Split into...
1221 * testsuite/24_iterators/istreambuf_iterator/1.cc
1222 * testsuite/24_iterators/istreambuf_iterator/2.cc
1223 * testsuite/24_iterators/istreambuf_iterator/2627.cc
1224 * testsuite/24_iterators/ostreambuf_iterator.cc: Split into...
1225 * testsuite/24_iterators/ostreambuf_iterator/1.cc
1226 * testsuite/24_iterators/ostreambuf_iterator/2.cc
1228 * testsuite/24_iterators/reverse_iterator/1.cc: Just compile,
1231 * include/bits/allocator.h: Formatting tweak.
1233 2003-11-24 Paolo Carlini <pcarlini@suse.de>
1235 * src/locale_init.cc: Cosmetic reformatting.
1237 2003-11-23 Paolo Carlini <pcarlini@suse.de>
1239 * include/bits/locale_facets.tcc (__add_grouping):
1240 Cosmetic reformatting.
1242 2003-11-23 Paolo Carlini <pcarlini@suse.de>
1244 * include/bits/locale_facets.tcc (_M_extract_float,
1245 _M_extract_int): Remove a wrong comment and simplify
1246 the corresponding code using char_traits::find().
1248 2003-11-22 Paolo Carlini <pcarlini@suse.de>
1250 * config/locale/gnu/monetary_members.cc
1251 (money_base::_S_construct_pattern): Factor out two assignments.
1253 2003-11-22 Paolo Carlini <pcarlini@suse.de>
1255 * include/bits/istream.tcc (getline(basic_string<>&)):
1256 Fix error in comment of the previous commit.
1258 2003-11-22 Paolo Carlini <pcarlini@suse.de>
1261 * include/bits/istream.tcc (operator>>(basic_string<>&),
1262 getline(basic_string<>&)): Implement resolution of DR 91 [WP];
1263 fix some minor issues with the exit conditions.
1264 * docs/html/ext/howto.html: Add an entry for DR 91.
1266 2003-11-21 Paolo Carlini <pcarlini@suse.de>
1268 * config/locale/gnu/monetary_members.cc
1269 (money_base::_S_construct_pattern): Factor out an assignment.
1271 2003-11-21 Paolo Carlini <pcarlini@suse.de>
1273 PR libstdc++/12882 (partial)
1274 * acinclude.m4 (GLIBCXX_CHECK_LFS): Check fseeko64
1276 * include/ext/stdio_sync_filebuf.h (seekoff): Use fseeko64
1277 and ftello64 if available.
1278 * aclocal.m4: Regenerate.
1281 2003-11-20 Benjamin Kosnik <bkoz@redhat.com>
1283 * include/debug/formatter.h: Use _Tp as template argument.
1284 * src/debug.cc: Same, instantiate std::size_t.
1286 2003-11-20 Benjamin Kosnik <bkoz@redhat.com>
1289 * include/debug/formatter.h (_Error_formatter::_M_format_word): New.
1290 * src/debug.cc (__gnu_debug): Format.
1291 (_Error_formatter::_M_format_word): Define, use, instantiate.
1293 2003-11-20 Paolo Carlini <pcarlini@suse.de>
1296 * config/locale/gnu/codecvt_members.cc (codecvt::do_out):
1297 Rewrite, using both wcsnrtombs and wcrtomb in a loop: the
1298 former is very fast, but stops if encounters a NUL.
1299 * testsuite/performance/wchar_t_out.cc: New, from the PR.
1301 2003-11-19 Paolo Carlini <pcarlini@suse.de>
1303 * config/locale/gnu/codecvt_members.cc (do_out): If
1304 we can upper bound the total number of external chars
1305 to something smaller than __to_end - __to, avoid the
1306 temporary buffer, the memcopy and simplify the loop.
1307 * config/locale/generic/codecvt_members.cc (do_out):
1310 2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
1312 * testsuite/lib/libstdc++.exp: Add DYLD_LIBRARY_PATH for darwin.
1313 * testsuite/libstdc++-dg/normal.exp: Add -multiply_defined suppress
1316 2003-11-18 Jonathan Wakely <redi@gcc.gnu.org>
1318 * docs/html/configopts.html, docs/html/debug.html,
1319 docs/html/documentation.html, docs/html/explanations.html,
1320 docs/html/install.html, docs/html/17_intro/contribute.html,
1321 docs/html/17_intro/howto.html, docs/html/17_intro/license.html,
1322 docs/html/18_support/howto.html, docs/html/19_diagnostics/howto.html,
1323 docs/html/20_util/howto.html, docs/html/21_strings/howto.html,
1324 docs/html/22_locale/codecvt.html, docs/html/22_locale/ctype.html,
1325 docs/html/22_locale/howto.html, docs/html/22_locale/locale.html,
1326 docs/html/22_locale/messages.html, docs/html/23_containers/howto.html,
1327 docs/html/24_iterators/howto.html, docs/html/25_algorithms/howto.html,
1328 docs/html/26_numerics/howto.html, docs/html/27_io/howto.html,
1329 docs/html/ext/howto.html, docs/html/ext/sgiexts.html: Add <link> tags.
1331 2003-11-18 Paolo Carlini <pcarlini@suse.de>
1334 * include/bits/fstream.tcc (imbue): For encodings != -1 it's
1335 always ok to imbue a new locale, provided seekoff(0, cur, ...)
1336 doesn't fail, of course.
1337 (underflow): In order for the above to work, deal gracefully
1338 with _M_codecvt->in returning codecvt_base::error while
1339 (__ilen = __iend - this->eback()) > 0: it just means __ilen
1340 correctly converted internal characters before an error.
1341 * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: New.
1343 2003-11-17 Paolo Carlini <pcarlini@suse.de>
1345 * include/bits/locale_facets.tcc: Fix typo in comment.
1347 2003-11-17 Paolo Carlini <pcarlini@suse.de>
1349 * testsuite/22_locale/num_put/put/char/8.cc: New test,
1350 summarizing the discussion ensuing libstdc++/12988.
1351 * testsuite/22_locale/num_put/put/wchar_t/8.cc: Ditto.
1353 2003-11-15 Paolo Carlini <pcarlini@suse.de>
1355 * include/std/std_fstream.h: Tweak a comment.
1357 2003-11-15 Roger Sayle <roger@eyesopen.com>
1359 * include/c_std/std_cmath.h: Don't import C99's float transcendentals
1360 into the __gnu_cxx::__c99_binding namespace.
1361 (acos, asin, atan, atan2, ceil, cosh, exp, floor, fmod, frexp,
1362 ldexp, log, log10, modf, pow, sinh, tan, tanh): Implement using
1363 GCC's math builtins, i.e. __builtin_foo.
1364 * libmath/stubs.c (acosf, acosl, asinf, asinl, atanf, atanl,
1365 ceilf, ceill, floorf, floorl, fmodf, fmodl, frexpf, frexpl,
1366 ldexpf, ldexpl, modff, modfl): Provide stub implementations.
1368 2003-11-14 Paolo Carlini <pcarlini@suse.de>
1370 * testsuite/22_locale/locale/cons/12352.cc: Use
1371 __gnu_test::try_named_locale.
1373 2003-11-14 Paolo Carlini <pcarlini@suse.de>
1375 * docs/html/ext/howto.html: Add entries for DR 63, 75
1376 and 305; tweak entries for DR 60 and 328.
1378 2003-11-13 Douglas Gregor <gregod@cs.rpi.edu>
1380 * docs/html/debug.html: Users are allowed to specialize in
1381 namespace __gnu_debug, unlike in the Apple version of the debug
1382 mode. Clear up a confusing double-negative. Note that
1383 std::basic_string does provide extra debugging capabilities, but
1385 * include/bits/basic_string.tcc: Make sure there's never an
1386 ambiguity when calling __is_null_pointer.
1387 * include/debug/deque: (deque::erase) Properly handle invalidation
1388 when erasing at the end of the deque.
1389 * include/debug/vector: (vector::swap): Swap _M_guaranteed_capacity.
1390 (vector::clear): Set the guaranteed capacity to 0.
1391 * testsuite/23_containers/deque/invalidation/4.cc: (test04): Test
1392 iterator invalidation when erasing at the end of the deque.
1394 2003-11-13 Paolo Carlini <pcarlini@suse.de>
1395 Petur Runolfsson <peturr02@ru.is>
1398 * include/bits/fstream.tcc (imbue): Don't touch the stored
1400 * include/std/std_streambuf.h (imbue): According to the
1401 standard, base class version does nothing.
1402 (pubimbue): Store the locale.
1403 * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: New.
1404 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: New.
1405 * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak.
1406 * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
1407 * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: New.
1408 * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: New.
1409 * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: New.
1410 * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: New.
1412 2003-11-13 Petur Runolfsson <peturr02@ru.is>
1415 * include/bits/ostream.tcc
1416 (basic_ostream::operator<<(basic_ostream& (*)(basic_ostream&)),
1417 basic_ostream::operator<<(basic_ios& (*)(basic_ios&)),
1418 basic_ostream::operator<<(ios_base& (*)(ios_base&))):
1419 Implement the resolution of DR 60 (TC): These are not formatted
1420 output functions so don't construct sentry objects and don't
1422 (basic_ostream::put, basic_ostream::write): Implement the
1423 resolution of DR 63 (TC) by catching exceptions and setting
1425 (basic_ostream::flush): Implement the resolution of DR 60 (TC):
1426 This is not an unformatted output function so don't construct
1428 * testsuite/testsuite_io.h (sync_streambuf): Define.
1429 * testsuite/27_io/basic_ostream/flush/char/2.cc: New test.
1430 * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: New test.
1431 * testsuite/27_io/basic_ostream/put/char/1.cc: New test.
1432 * testsuite/27_io/basic_ostream/write/char/1.cc: New test.
1434 2003-11-13 Paolo Carlini <pcarlini@suse.de>
1436 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1:
1437 Fix, closely following the testcase included in the PR.
1438 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: Ditto.
1439 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: Ditto.
1440 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: Ditto.
1442 2003-11-13 Jonathan Wakely <redi@gcc.gnu.org>
1444 * docs/html/17_intro/configury.html: XHTML tweak.
1446 2003-11-13 Jonathan Wakely <redi@gcc.gnu.org>
1448 * docs/html/debug_mode.html: XHTML fixes.
1450 2003-11-12 Benjamin Kosnik <bkoz@redhat.com>
1452 * docs/html/debug_mode.html: Update.
1453 * docs/html/17_intro/TODO: Update.
1455 2003-11-12 Benjamin Kosnik <bkoz@redhat.com>
1457 * include/bits/c++config: Move using directive...
1458 * include/debug/formatter.h: ...here.
1460 2003-11-12 Carlo Wood <carlo@alinoe.com>
1464 (_GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS): Added.
1465 (_GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Added.
1466 (session<Allocator>::next_peek() const): Added.
1467 (decode_non_negative_decimal_integer(string_type&)):
1468 Renamed from decode_decimal_integer(string_type&).
1469 (session<Allocator>::decode_nested_name):
1470 Decode <template_param> as well.
1471 (session<Allocator>::add_substitution):
1472 Handle <template-param> for <nested-name>'s.
1473 (enum xary_nt): Added.
1474 (struct entry_st): Added member `xary_nt type' instead of `bool unary'.
1475 (symbol_name_table_c): Updated for `entry_st::type' and additional
1476 operators (unary `operator+' and `sizeof(type)').
1477 (offset_table_c): Updated for new operators (causing a new hash map).
1478 (decode_operator_name): Match the updated hash map.
1479 (session<Allocator>::decode_expression):
1480 Support for `sizeof ([typename] type)' (st),
1481 dependent names (sr) and casting operator (cv). Handle
1482 `entry_st::type'. Handle _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
1483 and _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME.
1484 (session<Allocator>::decode_type_with_postfix):
1485 Support `extern "C"' function types (FY).
1486 * testsuite/demangle/regression/cw-16.cc: Added tests for the
1487 added functionality.
1488 * testsuite/demangle/regression/3111-2.cc: sizeof now has a space
1491 2003-11-11 Paolo Carlini <pcarlini@suse.de>
1494 * include/bits/fstream.tcc (setbuf): Don't do anything
1495 after open(), in particular don't discard data.
1496 (_M_allocate_internal_buffer): Tweak to not allocate memory
1497 in case the buffer is provided by the user via setbuf.
1498 * include/ext/stdio_filebuf.h: Tweak comment.
1499 * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: New.
1500 * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Likewise.
1501 * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Tweak, now
1502 setbuf does nothing after open().
1503 * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
1505 2003-11-11 Doug Gregor <gregod@cs.rpi.edu>
1507 * docs/html/debug.html: Document libstdc++ debug mode.
1508 * docs/html/debug_mode.html: Document libstdc++ debug mode design.
1509 * docs/html/test.html: Document how to test under debug mode.
1510 * docs/html/17_intro/howto.html: Document debug-mode macros.
1511 * include/Makefile.am: Install debug-mode headers.
1512 * src/Makefile.am: Include debug.cc.
1513 * include/bits/basic_string.tcc:
1514 (basic_string::_S_construct): Fix NULL pointer check.
1515 (__is_null_pointer): New.
1516 Add precondition annotations.
1517 * include/bits/stream_iterator.h (istream_iterator,
1518 ostream_iterator): Added precondition annotations.
1519 * include/bits/streambuf_iterator.h (istreambuf_iterator): Ditto.
1520 * include/bits/stl_queue.h (queue, priority_queue): Ditto.
1521 * include/bits/stl_stack.h (stack): Ditto.
1522 * include/bits/basic_string.h (basic_string): Ditto.
1523 * include/bits/basic_string.tcc (basic_string): Ditto.
1524 * include/std/std_memory.h (auto_ptr): Ditto.
1525 * include/std/std_valarray.h (valarray): Ditto.
1526 * include/bits/stl_algo.h: Added algorithm precondition
1528 * include/bits/stl_algobase.h: Added algorithm precondition
1530 * include/bits/stl_numeric.h: Ditto.
1531 * include/ext/algorithm: Added algorithm precondition
1533 (__is_heap): Moved away from here.
1534 * include/bits/stl_heap.h: Added algorithm precondition
1536 (__is_heap): Moved to the top of this file.
1537 (__is_heap): Added iterator range overloads.
1538 * testsuite/20_util/auto_ptr_neg.cc: Fix line numbers to match up
1539 with changes in std_memory.h.
1540 * testsuite/23_containers/list/operators/4.cc: Don't verify
1541 performance guarantees when in debug mode.
1542 * testsuite/23_containers/bitset/invalidation/1.cc: New.
1543 * testsuite/23_containers/deque/invalidation/1.cc: New.
1544 * testsuite/23_containers/deque/invalidation/2.cc: New.
1545 * testsuite/23_containers/deque/invalidation/3.cc: New.
1546 * testsuite/23_containers/deque/invalidation/4.cc: New.
1547 * testsuite/23_containers/list/invalidation/1.cc: New.
1548 * testsuite/23_containers/list/invalidation/2.cc: New.
1549 * testsuite/23_containers/list/invalidation/3.cc: New.
1550 * testsuite/23_containers/list/invalidation/4.cc: New.
1551 * testsuite/23_containers/map/invalidation/1.cc: New.
1552 * testsuite/23_containers/map/invalidation/2.cc: New.
1553 * testsuite/23_containers/multimap/invalidation/1.cc: New.
1554 * testsuite/23_containers/multimap/invalidation/2.cc: New.
1555 * testsuite/23_containers/multiset/invalidation/1.cc: New.
1556 * testsuite/23_containers/multiset/invalidation/2.cc: New.
1557 * testsuite/23_containers/set/invalidation/1.cc: New.
1558 * testsuite/23_containers/set/invalidation/2.cc: New.
1559 * testsuite/23_containers/vector/invalidation/1.cc: New.
1560 * testsuite/23_containers/vector/invalidation/2.cc: New.
1561 * testsuite/23_containers/vector/invalidation/3.cc: New.
1562 * testsuite/23_containers/vector/invalidation/4.cc: New.
1563 * testsuite/25_algorithms/heap.cc: Don't verify
1564 performance guarantees when in debug mode.
1565 * include/debug/bitset: New.
1566 * include/debug/debug.h: New.
1567 * include/debug/deque: New.
1568 * include/debug/formatter.h: New.
1569 * include/debug/hash_map: New.
1570 * include/debug/hash_map.h: New.
1571 * include/debug/hash_multimap.h: New.
1572 * include/debug/hash_set: New.
1573 * include/debug/hash_set.h: New.
1574 * include/debug/hash_multiset.h: New.
1575 * include/debug/list: New.
1576 * include/debug/map: New.
1577 * include/debug/map.h: New.
1578 * include/debug/multimap.h: New.
1579 * include/debug/multiset.h: New.
1580 * include/debug/safe_base.h: New.
1581 * include/debug/safe_iterator.h: New.
1582 * include/debug/safe_iterator.tcc: New.
1583 * include/debug/safe_sequence.h: New.
1584 * include/debug/set: New.
1585 * include/debug/set.h: New.
1586 * include/debug/string: New.
1587 * include/debug/vector: New.
1588 * src/debug.cc: New.
1589 * config/linker-map.gnu: Add debug mode symbols.
1591 2003-11-11 Benjamin Kosnik <bkoz@redhat.com>
1593 * src/string-inst.cc: Tweak namespaces.
1594 * src/misc-inst.cc: Same.
1595 * docs/html/debug.html: Edits.
1596 * config/link-map.gnu: Remove cruft.
1598 * include/bits/c++config: Add in namespace associations.
1599 * include/std/std_bitset.h: Adjust namespace to __gnu_norm,
1601 * include/bits/deque.tcc: Same.
1602 * include/bits/list.tcc: Same.
1603 * include/bits/stl_bvector.h: Same.
1604 * include/bits/stl_deque.h: Same.
1605 * include/bits/stl_list.h: Same.
1606 * include/bits/stl_map.h: Same.
1607 * include/bits/stl_multimap.h: Same.
1608 * include/bits/stl_multiset.h: Same.
1609 * include/bits/stl_set.h: Same.
1610 * include/bits/stl_vector.h: Same.
1611 * include/bits/vector.tcc: Same.
1613 * include/std/std_algorithm.h: Remove markup comments.
1614 * include/std/std_functional.h: Same.
1615 * include/std/std_iterator.h: Same.
1616 * include/std/std_numeric.h: Same.
1617 * include/std/std_utility.h: Same.
1618 * include/bits/stl_queue.h: Formatting tweaks.
1619 * include/bits/stl_stack.h: Same.
1620 * include/std/std_deque.h: Include debugging version in debug mode.
1621 * include/std/std_list.h: Same.
1622 * include/std/std_map.h: Same.
1623 * include/std/std_set.h: Same.
1624 * include/std/std_vector.h: Same.
1625 * include/std/std_queue.h: Use deque, vector.
1626 * include/std/std_stack.h: Same.
1628 2003-11-09 Paolo Carlini <pcarlini@suse.de>
1630 * include/bits/locale_facets.tcc (_M_insert_int,
1631 _M_insert_float): Move a couple of vars inside an if block.
1633 2003-11-09 Paolo Carlini <pcarlini@suse.de>
1636 * include/bits/locale_facets.tcc
1637 (money_put::do_put(..., long double)): Fix conversion
1638 specification as per DR 328 [WP].
1639 * testsuite/22_locale/money_put/put/char/12971.cc: Add.
1640 * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Ditto.
1641 * docs/html/ext/howto.html: Add entry for DR 328.
1643 2003-11-08 Paolo Carlini <pcarlini@suse.de>
1646 * include/bits/list.tcc (merge): Implement resolution of
1648 * docs/html/ext/howto.html: Add entry for DR 300; tweak entry
1651 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1654 2003-11-07 Jonathan Wakely <redi@gcc.gnu.org>
1656 * libsupc++/vec.cc: Conform to C++STYLE.
1658 2003-11-07 Carlo Wood <carlo@alinoe.com>
1661 * bits/demangle.h (qualifier_list<Allocator>::decode_KVrA): Added.
1662 (qualifier_list<Allocator>::decode_qualifiers): Collect concatenated
1663 K, V, r and A qualifiers before processing them as a group.
1664 * testsuite/demangle/abi_text/01.cc: Reordered CV-qualifiers.
1665 * testsuite/demangle/regression/cw-16.cc: New.
1667 2003-11-07 Robert Millan <robertmh@gnu.org>
1669 * configure.host: Add kfreebsd*-gnu and knetbsd*-gnu.
1670 * crossconfig.m4: Likewise.
1671 * configure: Regenerate.
1673 2003-11-07 Carlo Wood <carlo@alinoe.com>
1675 * include/bits/demangle.h
1676 (qualifier_list<Allocator>::decode_qualifiers(string_type&,
1677 string_type&, bool member_function_pointer_qualifiers):
1678 Always separate the '[' of an array type with a space from
1679 what is left of it, except when that is the closing bracket
1680 of another array dimension.
1682 2003-11-07 Carlo Wood <carlo@alinoe.com>
1684 * include/bits/demangle.h
1685 (qualifier_list<Allocator>::decode_qualifiers(string_type&,
1686 string_type&, bool) const): Made const.
1687 (qualifier_list<Allocator>::M_printing_suppressed): Added mutable.
1688 (_GLIBCXX_DEMANGLER_DOUT_ENTERING3, _GLIBCXX_DEMANGLER_RETURN3,
1689 std::ostream& operator<<(std::ostream&, qualifier const&),
1690 std::ostream& operator<<(std::ostream&, qualifier_list const&),
1691 qualifier_list<Allocator>::decode_qualifiers(string_type&,
1692 string_type&, bool) const,
1693 session<Allocator>::decode_type_with_postfix(string_type&,
1694 string_type&, qualifier_list<Allocator>*))
1695 Added and/or changed debug-only hooks and code.
1697 2003-11-04 Jeffrey D. Oldham <oldham@codesourcery.com>
1699 * libsupc++/vec.cc (__cxa_vec_delete2): If given a NULL pointer,
1700 immediately return. This reflects a C++ ABI change 2003 Nov 03.
1701 (__cxa_vec_delete3): Likewise.
1703 2003-11-03 Petur Runolfsson <peturr02@ru.is>
1706 * include/bits/fstream.tcc: Delete _M_last_overflowed.
1707 (basic_filebuf::basic_filebuf): Initialize _M_state_last.
1708 (basic_filebuf::open, basic_filebuf::close): Assign
1709 _M_state_beg to _M_state_cur and _M_state_last.
1710 (basic_filebuf::close): Call _M_terminate_output to handle
1711 unshift and flushing.
1712 (basic_filebuf::underflow): Assign _M_state_last, throw
1713 exception instead of calling abort when codecvt::max_length()
1715 (basic_filebuf::seekoff): Use _M_state_last when calling
1716 codecvt::length(), pass correct state to _M_seek.
1717 (basic_filebuf::seekpos): Pass __pos.state() to _M_seek.
1718 (basic_filebuf::_M_seek): Add __state_type parameter,
1719 set _M_state_cur correctly, store the resulting state in
1720 the return value and use _M_terminate_output to handle
1721 flushing and unshift.
1722 (basic_filebuf::_M_terminate_output): Flush contents of
1723 output buffer, if any, then call codecvt::unshift as
1724 needed and output the result.
1725 (basic_filebuf::sync): Move here, don't modify _M_writing
1728 * include/std/std_fstream.h
1729 (basic_filebuf::_M_state_last): Declare it.
1730 (basic_filebuf::_M_last_overflowed): Delete.
1731 (basic_filebuf::_M_seek): Add __state_type parameter.
1732 (basic_filebuf::sync): Declare only.
1733 (basic_filebuf::_M_output_unshift): Delete.
1734 (basic_filebuf::_M_terminate_output): Declare it.
1736 * testsuite/testsuite_character.h:
1737 Define character class and state class plus char_traits and
1738 codecvt specializations for same for testing support for
1741 * testsuite/27_io/basic_filebuf/close/12790-1.cc,
1742 * testsuite/27_io/basic_filebuf/close/char/12790-1.cc,
1743 * testsuite/27_io/basic_filebuf/close/char/12790-2.cc,
1744 * testsuite/27_io/basic_filebuf/close/char/12790-3.cc,
1745 * testsuite/27_io/basic_filebuf/close/char/12790-4.cc,
1746 * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc,
1747 * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc,
1748 * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc,
1749 * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc,
1750 * testsuite/27_io/basic_filebuf/open/12790-1.cc,
1751 * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc,
1752 * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc,
1753 * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc,
1754 * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc,
1755 * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc,
1756 * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc,
1757 * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc,
1758 * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc,
1759 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc,
1760 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc,
1761 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc,
1762 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc,
1763 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc,
1764 * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc,
1765 * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc,
1766 * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc,
1767 * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc,
1768 * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc,
1769 * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc,
1770 * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc,
1771 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc,
1772 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc,
1773 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc,
1774 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc,
1775 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc,
1776 * testsuite/27_io/basic_filebuf/sync/char/1.cc,
1777 * testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc:
1780 * testsuite/27_io/basic_filebuf/3.cc,
1781 * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc,
1782 * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc,
1783 * testsuite/27_io/basic_fstream/3.cc,
1784 * testsuite/27_io/basic_ifstream/3.cc,
1785 * testsuite/27_io/basic_ofstream/3.cc:
1786 Use streamoff as off_type and fpos<state_type> as pos_type.
1788 * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc,
1789 * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc:
1790 Check that sync does *not* set _M_writing to false.
1792 2003-11-03 Anthony Green <green@redhat.com>
1794 * libmath/stubs.c (sqrtf, sqrtl): Reorder so they appear before
1797 2003-11-03 Benjamin Kosnik <bkoz@redhat.com>
1799 * include/bits/locale_facets.h (time_get::_M_extract_name): Add
1801 * include/bits/locale_facets.tcc: Same, use it to allow
1804 * include/bits/fstream.tcc: Spacing tweak.
1805 * include/bits/istream.tcc: Same.
1806 * include/bits/ostream.tcc: Same.
1808 2003-10-30 Paolo Carlini <pcarlini@suse.de>
1810 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1811 __mod is only assigned, never used its value, remove it.
1813 2003-10-29 Paolo Carlini <pcarlini@suse.de>
1815 * include/bits/locale_facets.tcc (time_get::do_get_year):
1816 Absolutely avoid dereferencing end iterators.
1817 (time_put::put): Minor clean up.
1819 * include/bits/locale_facets.tcc: Cosmetic reformattings.
1821 2003-10-29 Paolo Carlini <pcarlini@suse.de>
1823 * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1824 Revert the last commit, is not correct, sorry.
1826 2003-10-29 Paolo Carlini <pcarlini@suse.de>
1828 * config/locale/generic/c_locale.cc: Add back <cmath> and
1831 * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1834 2003-10-29 Paolo Carlini <pcarlini@suse.de>
1836 * include/bits/locale_facets.tcc (time_put::put): Absolutely
1837 avoid dereferencing end iterators; clean up.
1839 * include/bits/locale_facets.tcc (num_get::_M_extract_float,
1840 num_get::_M_extract_int): Minor tweak.
1842 2003-10-29 Paolo Carlini <pcarlini@suse.de>
1844 * include/bits/locale_facets.tcc: Remove some unnecessary
1846 * config/locale/generic/c_locale.cc: Include <cerrno> here.
1847 * config/locale/gnu/c_locale.cc: Likewise.
1849 2003-10-28 Paolo Carlini <pcarlini@suse.de>
1851 * include/bits/locale_facets.tcc
1852 (money_get<>::do_get(..., string_type&)): Absolutely avoid
1853 dereferencing end iterators; general clean up.
1855 2003-10-28 Paolo Carlini <pcarlini@suse.de>
1857 * include/bits/locale_facets.tcc (time_get::_M_extract_num):
1858 Absolutely avoid dereferencing end iterators.
1859 (time_get::_M_extract_name): Likewise.
1861 * include/bits/locale_facets.tcc
1862 (time_get::_M_extract_via_format, case 'e'): Don't try to
1863 be smart wrt returning the right __beg in case of parse
1864 error, time_get::_M_extract_num must be fixed instead.
1866 2003-10-27 Paolo Carlini <pcarlini@suse.de>
1869 * acinclude.m4 (GLIBCXX_CHECK_LFS): Use the C++ compiler.
1870 * aclocal.m4: Regenerate.
1871 * configure: Regenerate.
1873 2003-10-27 Benjamin Kosnik <bkoz@redhat.com>
1875 * docs/html/17_intro/TODO: Add links.
1876 * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1879 2003-10-27 Paolo Carlini <pcarlini@suse.de>
1882 * include/bits/locale_facets.tcc
1883 (time_get::_M_extract_via_format): Deal with code 'e'.
1884 * testsuite/22_locale/time_get/get_date/char/12750.cc: New.
1885 * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Ditto.
1887 * include/bits/locale_facets.tcc
1888 (time_get::_M_extract_via_format): Tweak to absolutely avoid
1889 dereferencing end iterators.
1891 * include/bits/locale_facets.h (__verify_grouping):
1892 Const-ify second parameter.
1893 * include/bits/locale_facets.tcc (__verify_grouping): Ditto.
1894 * src/locale-inst.cc (__verify_grouping): Ditto.
1896 2003-10-27 Paolo Carlini <pcarlini@suse.de>
1898 * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1899 Various things: 1- Avoid absolutely end iterator dereferences;
1900 2- Improve performance-wise the code skipping leading zeros;
1901 3- Fix two bugs wrt early bail out in case of parsing errors
1902 (see testcases); 4- General clean up.
1903 (num_get::_M_extract_int): Likewise, except 3-. Additionally,
1904 use __builtin_expect to favor base 10 inputs.
1905 * testsuite/22_locale/num_get/get/char/7.cc: New.
1906 * testsuite/22_locale/num_get/get/wchar_t/7.cc: Ditto.
1908 2003-10-26 Paolo Carlini <pcarlini@suse.de>
1910 * testsuite/22_locale/money_put/put/char/1.cc: Clean up.
1911 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Ditto.
1913 2003-10-25 Paolo Carlini <pcarlini@suse.de>
1915 * include/bits/locale_facets.tcc (num_get::_M_extract_int):
1916 __pos in only incremented, never used its value, remove it.
1918 2003-10-24 Robert Millan <robertmh@gnu.org>
1920 * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add kfreebsd*-gnu
1922 * aclocal.m4: Regenerated.
1923 * configure: Regenerated.
1925 2003-10-24 Paolo Carlini <pcarlini@suse.de>
1927 * include/bits/locale_facets.tcc (money_get::do_get(...,
1928 long double&): Properly size the temporary buffer.
1929 * testsuite/22_locale/money_get/get/char/11.cc: New.
1930 * testsuite/22_locale/money_get/get/wchar_t/11.cc: Ditto.
1932 * include/bits/locale_facets.tcc (num_put::_M_group_int,
1933 num_put::_M_group_float, money_put::do_put(..., const
1934 string_type&), collate::do_compare, collate::do_transform):
1935 Prefer basic_string::data() to c_str() when the '\0'
1936 terminator is not really needed.
1938 2003-10-24 Paolo Carlini <pcarlini@suse.de>
1940 * include/bits/locale_facets.tcc (__verify_grouping):
1941 Prefer '=' to an unnecessary '&='.
1943 2003-10-24 Paolo Carlini <pcarlini@suse.de>
1945 * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
1946 Tweak my fix for libstdc++/12657.
1948 2003-10-24 Paolo Carlini <pcarlini@suse.de>
1950 * include/bits/locale_facets.tcc (money_get::do_get(...,
1951 string_type&): Minor tweak to the previous commit.
1953 2003-10-24 Paolo Carlini <pcarlini@suse.de>
1955 * include/bits/locale_facets.tcc (money_get::do_get(...,
1956 string_type&): Disregard the previous commit: doesn't hurt but
1957 doesn't accomplish anything useful either. This is the right
1958 one, speeding up greatly the function in case of early fail.
1960 2003-10-24 Paolo Carlini <pcarlini@suse.de>
1962 * include/bits/locale_facets.tcc (money_get::do_get(...,
1963 string_type&): Move an if block, thus minimizing the amount
1964 of code processed anyway when __tmp_units.size() == 0.
1966 2003-10-24 Paolo Carlini <pcarlini@suse.de>
1968 * include/bits/locale_facets.tcc
1969 (time_get<>::_M_extract_via_format): Deal with case 'C' too,
1972 2003-10-23 Benjamin Kosnik <bkoz@redhat.com>
1974 * docs/html/documentation.html: Add a pointer to the doxygen style
1976 * docs/html/17_intro/TODO: Update.
1977 * docs/html/test.html: Add instructions for running a subset of
1980 2003-10-23 Paolo Carlini <pcarlini@suse.de>
1982 * include/bits/locale_facets.tcc (money_get<>::do_get(...,
1983 string_type&)): Use find_first_not_of to strip leading
1984 zeros; if __tmp_units == "0" never prefix it with '-';
1985 always fail if __tmp_units is empty.
1986 * testsuite/22_locale/money_get/get/char/10.cc: New.
1987 * testsuite/22_locale/money_get/get/wchar_t/10.cc: Ditto.
1989 2003-10-23 Phil Edwards <phil@codesourcery.com>
1991 * config/os/vxworks/ctype_noninline.h: Adjust ctor to match
1994 2003-10-22 Paolo Carlini <pcarlini@suse.de>
1996 * include/bits/locale_facets.tcc (__int_to_char): Remove
1997 the const int parameter.
1998 (_M_insert_int): Update caller.
1999 * src/locale-inst.cc (__int_to_char): Update instantiations.
2001 2003-10-22 Benjamin Kosnik <bkoz@redhat.com>
2003 * include/bits/locale_facets.h: Correct byname facets for "C"
2005 * config/locale/generic/ctype_members.cc: Same.
2006 * config/locale/generic/messages_members.h: Same.
2007 * config/locale/gnu/ctype_members.cc: Same.
2008 * config/locale/gnu/messages_members.h: Same.
2009 * include/bits/codecvt.h: Same.
2010 * src/ctype.cc: Same.
2011 * testsuite/22_locale/codecvt_byname/1.cc: New.
2012 * testsuite/22_locale/collate/1.cc: Edit.
2013 * testsuite/22_locale/collate_byname/1.cc: Derivation tests, move to...
2014 * testsuite/22_locale/collate_byname/named_equivalence.cc: ...here.
2015 * testsuite/22_locale/ctype/1.cc: Derivation tests.
2016 * testsuite/22_locale/ctype/11844.cc: Move...
2017 * testsuite/22_locale/ctype_base/11844.cc: ...here.
2018 * testsuite/22_locale/ctype_base/1.cc: Move mask bits here.
2019 * testsuite/22_locale/ctype_byname/1.cc: Name.
2020 * testsuite/22_locale/messages_byname/1.cc: New.
2021 * testsuite/22_locale/messages_byname/named_equivalence.cc: New.
2022 * testsuite/22_locale/moneypunct_byname/1.cc: Derivation test.
2023 * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: New.
2024 * testsuite/22_locale/numpunct/1.cc: Edit.
2025 * testsuite/22_locale/numpunct_byname/2.cc: Move...
2026 * testsuite/22_locale/numpunct/members/char/3.cc: ...here.
2027 * testsuite/22_locale/numpunct_byname/1.cc: Derivation tests.
2028 * testsuite/22_locale/numpunct_byname/named_equivalence.cc: New.
2030 2003-10-22 Paolo Carlini <pcarlini@suse.de>
2033 * acinclude.m4 (GLIBCXX_CHECK_INT64_T): New macro,
2034 checking for the availability of int64_t.
2035 (GLIBCXX_CHECK_LFS): New macro, checking for LFS support.
2036 * configure.ac: Call here.
2037 * acconfig.h: Add undef for the corresponding symbols.
2038 * config/io/basic_file_stdio.cc (__basic_file<char>::open):
2039 Depending on _GLIBCXX_USE_LFS, call fopen64 or fopen.
2040 (__basic_file<char>::seekoff): Likewise, call lseek64 when
2041 available, otherwise lseek, checking the __off parameter.
2042 * include/bits/postypes.h: Typedef __streamoff_base_type
2043 to int64_t if available, otherwise long long.
2044 * aclocal.m4: Regenerate.
2045 * config.h.in: Likewise.
2046 * configure: Likewise.
2048 * acinclude.m4 (GLIBCXX_CHECK_POLL, GLIBCXX_CHECK_WRITEV):
2049 Use AC_TRY_LINK instead of AC_TRY_COMPILE.
2051 2003-10-22 Paolo Carlini <pcarlini@suse.de>
2054 * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
2055 Implement resolution of DR 292 (WP).
2056 * docs/html/ext/howto.html: Add entry for DR 292.
2058 2003-10-21 Benjamin Kosnik <bkoz@redhat.com>
2060 * include/ext/mt_allocator.h: Change include to gthr.h.
2061 * include/ext/rope: Same. Add _Refcount_base definitions.
2062 * include/ext/pool_allocator.h: Adjust namespaces.
2063 * include/bits/stl_threads.h (_Refcount_base): Move.
2064 Put remaining into namespace __gnu_cxx.
2066 2003-10-21 Benjamin Kosnik <bkoz@redhat.com>
2069 * include/bits/locale_facets.h (ctype<char>): Remove
2070 __ctype_abstract_base.
2071 (ctype<char>::do_is): Remove.
2072 (ctype<char>::do_scan_is): Remove.
2073 * src/ctype.cc: Same. Inline the rest.
2074 * testsuite/22_locale/ctype/is/char/9858.cc: New.
2075 * config/os/aix/ctype_noninline.h: Adjust ctor.
2076 * config/os/bsd/freebsd/ctype_noninline.h: Same.
2077 * config/os/bsd/netbsd/ctype_noninline.h: Same.
2078 * config/os/djgpp/ctype_noninline.h: Same.
2079 * config/os/generic/ctype_noninline.h: Same.
2080 * config/os/gnu-linux/ctype_noninline.h: Same.
2081 * config/os/hpux/ctype_noninline.h: Same.
2082 * config/os/irix/irix5.2/ctype_noninline.h: Same.
2083 * config/os/irix/irix6.5/ctype_noninline.h: Same.
2084 * config/os/mingw32/ctype_noninline.h: Same.
2085 * config/os/newlib/ctype_noninline.h: Same.
2086 * config/os/qnx/qnx6.1/ctype_noninline.h: Same.
2087 * config/os/solaris/solaris2.5/ctype_noninline.h: Same.
2088 * config/os/solaris/solaris2.6/ctype_noninline.h: Same.
2089 * config/os/solaris/solaris2.7/ctype_noninline.h: Same.
2090 * config/os/windiss/ctype_noninline.h: Same.
2092 2003-10-21 Paolo Carlini <pcarlini@suse.de>
2094 * src/locale.cc: Tweak a comment.
2095 * src/localename.cc: Move a comment.
2097 2003-10-20 Benjamin Kosnik <bkoz@redhat.com>
2100 * testsuite_hooks.h: Add pod_type, ctype and numpunct specializations.
2101 * testsuite_hooks.cc: Same.
2102 * 22_locale/numpunct/members/pod/1.cc: Edit.
2103 * 22_locale/numpunct/members/pod/2.cc: Same.
2104 * 27_io/basic_istream/sentry/char/3983-fstream.cc: Move ...
2105 * 27_io/basic_istream/sentry/char/3983-sstream.cc: Move ...
2106 * 27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc: Here.
2107 * 27_io/basic_istream/extractors_character/pod/3983-2.cc: Here.
2108 * 27_io/basic_istream/extractors_other/pod/3983-3.cc: Here.
2109 * 27_io/basic_ostream/sentry/char/3983-fstream.cc: Remove.
2110 * 27_io/basic_ostream/sentry/char/3983-sstream.cc: Remove.
2111 * 27_io/basic_istream/sentry/pod/1.cc: New.
2112 * 27_io/basic_ostream/sentry/pod/1.cc: New.
2113 * 21_strings/basic_string/inserters_extractors/pod/10081-in.cc: New.
2114 * 21_strings/basic_string/inserters_extractors/pod/10081-out.cc: New.
2116 2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2118 * config/cpu/mips/atomicity.h (__atomic_add): Use _ABIO32 instead
2119 of external _MIPS_SIM_ABI32.
2121 2003-10-20 Phil Edwards <phil@codesourcery.com>
2123 * configure.ac: Fix comment typo.
2124 * configure.host: Add vxworks to host_os switch.
2125 * crossconfig.m4: Remove old commented os_include_dir variables
2126 left over from autotools transition.
2127 (*-vxworks): New stanza.
2128 (*-windiss): Add missing symbols.
2129 * configure: Regenerate.
2130 * config/os/vxworks/ctype_base.h, config/os/vxworks/ctype_inline.h,
2131 config/os/vxworks/ctype_noninline.h, config/os/vxworks/os_defines.h:
2133 * config/os/windiss/os_defines.h: Define __C9X__.
2135 2003-10-19 David Edelsohn <edelsohn@gnu.org>
2138 * configure.host (aix4,aix*): Define os_include_dir to os/generic.
2140 2003-10-18 Andreas Tobler <a.tobler@schweiz.ch>
2142 * src/locale.cc (locale::_S_initialize): Re-apply workaround a
2143 confusion of the use of the gthr API when __gthread_active_p()
2146 2003-10-17 Benjamin Kosnik <bkoz@redhat.com>
2148 * src/Makefile.am: Add new files.
2149 * src/Makefile.in: Regenerate.
2150 * src/globals.cc: Split into..
2151 * src/globals_io.cc: New.
2152 * src/globals_locale.cc: New.
2153 * src/ios.cc: Split into...
2154 * src/ios_init.cc: New.
2155 * src/ios_locale.cc: New.
2156 * src/locale-inst.cc: Split into..
2157 * src/wlocale-inst.cc: New.
2158 * src/locale-misc-inst.cc: New.
2159 * src/locale.cc, src/localename: Split into...
2160 * src/locale_facets.cc: New.
2161 * src/locale_init.cc: New.
2162 * src/wstring-inst.cc: Add copyright info.
2164 2003-10-16 Petur Runolfsson <peturr02@ru.is>
2169 * config/io/basic_file_stdio.cc (__basic_file::seekoff):
2170 Change return value from streampos to streamoff.
2171 (__basic_file::seekpos): Delete.
2172 * config/io/basic_file_stdio.h: Same.
2173 * config/io/c_io_stdio.h: Remove streamoff and wstreamsize typedefs.
2174 * include/Makefile.am (bits_headers): Add bits/postypes.h.
2175 * include/bits/char_traits.h: Include bits/postypes.h instead of
2177 * include/bits/fstream.tcc (basic_filebuf::open,
2178 basic_filebuf::pbackfail): Don't use < or >= to compare pos_type
2179 values, use == and != instead.
2180 (basic_filebuf::_M_seek): Use explicit conversion from streamoff
2182 (basic_filebuf::imbue): Don't use ! on pos_type values, use
2183 == instead. Don't use __check_facet(_M_codecvt) unless is_open().
2184 * include/bits/postypes.h: New file.
2185 Add __streamoff_base_type typedef, streamsize.
2186 (streamoff, streampos, wstreampos): Define typedefs, with
2187 streamoff defined as...
2188 (streamoff): New class. Document implementation defined
2190 (fpos): New implementation. Document implementation defined
2192 * include/bits/sstream.tcc (basic_stringbuf::seekpos): Use
2193 explicit conversion from pos_type to off_type.
2194 * include/std/std_iosfwd.h: Include bits/postypes.h instead
2196 * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: New test.
2197 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: New test.
2198 * testsuite/27_io/fpos/11450.cc: New test.
2199 * testsuite/27_io/fpos/mbstate_t/12065.cc: New test.
2200 * testsuite/27_io/fpos/mbstate_t/4_neg.cc: New test.
2201 * testsuite/27_io/types/3.cc: New test.
2203 2003-10-16 Benjamin Kosnik <bkoz@redhat.com>
2205 * configure.host: Remove fpos_include_dir.
2206 * configure.ac: Remove FPOS_INC_SRCDIR.
2207 * configure: Regenerate.
2208 * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Remove FPOS_H.
2209 * aclocal.m4: Regenerate.
2210 * include/Makefile.am (host_headers): Remove fpos.h.
2211 (bits_headers): Add postypes.h.
2212 * include/Makefile.in: Regenerate.
2213 * config/os/gnu-linux/fposh: Remove.
2214 * config/os/generic/fpos.h: Remove.
2216 * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Fixup.
2217 * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Same.
2218 * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Same.
2219 * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Same.
2220 * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Same.
2221 * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Same.
2222 * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Same.
2223 * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Same.
2224 * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Same.
2225 * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Same.
2226 * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Same.
2227 * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Same.
2228 * testsuite/27_io/basic_istream/seekg/char/2.cc: Same.
2229 * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Same.
2230 * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Same.
2231 * testsuite/27_io/fpos/mbstate_t/3.cc: Same.
2232 * testsuite/27_io/objects/char/10.cc: Same.
2234 2003-10-16 Paolo Carlini <pcarlini@suse.de>
2236 * src/locale.cc (locale::locale(const char*)): ... one
2237 more comparison missed in the previous commit.
2239 2003-10-16 Benjamin Kosnik <bkoz@redhat.com>
2241 * acconfig.h: Add HAVE_DRAND48.
2242 * crossconfig.m4: Remove ISATTY.
2243 * aclocal.m4: Regenerated.
2244 * config.h.in: Regenerated.
2245 * configure: Regenerated.
2247 2003-10-16 Bernardo Innocenti <bernie@develer.com>
2249 * config/cpu/m68k/atomicity.h (__exchange_and_add): Use TAS on
2250 __mcf5400__. Don't rely on __mc68000__ to detect a bare 68000.
2251 Document SMP safeness of asm macros.
2253 2003-10-16 Paolo Carlini <pcarlini@suse.de>
2255 * src/locale.cc (locale::locale(const char*)): Tweak
2256 a couple of comparisons to use basic_string operators.
2258 2003-10-16 Paolo Carlini <pcarlini@suse.de>
2261 * config/locale/gnu/monetary_members.cc
2262 (moneypunct<wchar_t, true/false>::_M_initialize_moneypunct):
2263 Don't leak memory if new throws.
2264 * src/locale.cc (locale::locale(const char*)): In order not
2265 to leak memory in case new throws, use a basic_string type
2266 for __res too and avoid strdup.
2268 2003-10-14 Jeff Bailey <jbailey@nisa.net>
2271 * crossconfig.m4: Share the config between *-linux* and *-gnu*.
2272 * configure: Regenerate.
2274 2003-10-14 Carlo Wood <carlo@alinoe.com>
2277 * include/bits/demangle.h (session<Allocator>::
2278 decode_unqualified_name(string_type& output)): Fail on a
2279 <operator-name> when decoding <template-argument>.
2280 * testsuite/demangle/regression/cw-15.cc: New.
2282 2003-10-14 Paolo Carlini <pcarlini@unitus.it>
2285 * include/bits/stl_algo.h (unique): Fix.
2286 * testsuite/25_algorithms/unique.cc: Move to unique/1.cc.
2287 * testsuite/25_algorithms/unique/11480.cc: New, from the PR.
2288 * testsuite/25_algorithms/unique/2.cc: New.
2290 2003-10-14 Paolo Carlini <pcarlini@unitus.it>
2292 * src/localename.cc (_M_replace_categories, M_replace_facet):
2293 Const-ify a couple of variables.
2295 2003-10-14 Petur Runolfsson <peturr02@ru.is>
2296 Andreas Tobler <a.tobler@schweiz.ch>
2298 * src/locale.cc (locale::_S_initialize): Workaround a confusion
2299 of the use of the gthr API when __gthread_active_p() returns true.
2301 2003-10-12 Petur Runolfsson <peturr02@ru.is>
2302 Paolo Carlini <pcarlini@unitus.it>
2305 * src/strstream.cc (pbackfail): Fix to use to_int_type.
2306 * testsuite/backward/11460.cc: New, from the PR.
2308 2003-10-12 Paolo Carlini <pcarlini@unitus.it>
2310 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
2311 Change #ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS to a comment.
2312 * include/bits/basic_string.tcc: Likewise.
2313 * include/bits/ios_base.h: Likewise.
2314 * include/bits/istream.tcc: Likewise.
2315 * include/bits/locale_facets.tcc: Likewise.
2316 * include/bits/ostream.tcc: Likewise.
2317 * include/bits/stl_function.h: Likewise.
2318 * include/bits/stl_multiset.h: Likewise.
2319 * include/bits/stl_pair.h: Likewise.
2320 * include/bits/stl_set.h: Likewise.
2321 * include/bits/streambuf_iterator.h
2322 * include/std/std_iosfwd.h: Likewise.
2323 * include/std/std_istream.h: Likewise.
2324 * include/std/std_sstream.h: Likewise.
2325 * include/std/std_streambuf.h: Likewise.
2326 * src/ios.cc: Likewise.
2327 * include/bits/c++config:
2328 Comment out #define _GLIBCXX_RESOLVE_LIB_DEFECTS 1.
2329 * testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak a
2330 dg-error directive due to removal of a blank line.
2331 * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
2333 2003-10-12 Andreas Tobler <a.tobler@schweiz.ch>
2334 Paolo Carlini <pcarlini@unitus.it>
2336 PR libstdc++/11844/11740 (cont)
2337 * config/os/generic/ctype_inline.h (ctype<char>::is):
2338 Generically, use a bitmasksize of 15 (instead of 10);
2339 Fix the logic to actually return (M & m) != 0 as per
2342 2003-10-11 Bernardo Innocenti <bernie@develer.com>
2344 * crossconfig.m4 (*-uclinux*): New target.
2345 * configure: Regenerate.
2347 2003-10-10 Paolo Carlini <pcarlini@unitus.it>
2349 * include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT))
2350 Avoid unnecessarily calling __builtin_alloca and dealing
2351 explicitly with width() smaller than zero.
2352 (operator<<(basic_ostream&, char), operator<<(basic_ostream&,
2353 const _CharT*), operator<<(basic_ostream<_CharT, _Traits>&,
2354 const char*), operator<<(basic_ostream<char, _Traits>&,
2355 const char*), operator<<(basic_ostream, const basic_string&)):
2358 2003-10-09 Benjamin Kosnik <bkoz@redhat.com>
2360 * config/linker-map.gnu: Make more *_type_info bits visible.
2361 Move new/delete bits back into GLIBCXX space.
2363 * include/bits/locale_classes.h: Move _M_id out of line, so that
2364 locale::id::_S_highwater can be removed from the export list.
2365 * src/locale.cc (locale::id::_M_id): Define.
2367 2003-10-09 Andreas Tobler <a.tobler@schweiz.ch>
2369 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_64 for
2372 2003-10-09 Paolo Carlini <pcarlini@unitus.it>
2375 * config/os/aix/ctype_base.h: Fix 'alnum' and 'graph'
2376 to conform to the requirements of 22.2.1.
2377 * config/os/bsd/freebsd/ctype_base.h: Likewise.
2378 * config/os/djgpp/ctype_base.h: Likewise.
2379 * config/os/generic/ctype_base.h: Likewise.
2380 * config/os/gnu-linux/ctype_base.h: Likewise.
2381 * config/os/hpux/ctype_base.h: Likewise.
2382 * config/os/irix/irix6.5/ctype_base.h: Likewise.
2383 * config/os/solaris/solaris2.6/ctype_base.h: Likewise.
2384 * config/os/solaris/solaris2.7/ctype_base.h: Likewise.
2385 * testsuite/22_locale/ctype/11844.cc: New.
2387 * config/locale/generic/ctype_members.cc (do_is):
2388 Generically, use a bitmasksize of 15 (instead of 10), since
2389 we don't know the numerical encoding of the various categories
2390 in the underlying /usr/include/ctype.h.
2392 2003-10-09 Benjamin Kosnik <bkoz@redhat.com>
2394 * src/string-inst.cc: Prune.
2395 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
2396 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
2398 2003-10-09 Petur Runolfsson <peturr02@ru.is>
2400 * src/io-inst.cc: Don't include iostream.
2401 * include/bits/ios_base.h (ios_base::failure): Use string.
2402 * src/Makefile.am: Add ios_failure.cc.
2403 * src/Makefile.in: Regenerate.
2404 * src/ios.cc: Move ios_base::failure definitions to...
2405 * src/ios_failure.cc: ...here. New.
2407 2003-10-09 Petur Runolfsson <peturr02@ru.is>
2410 * include/bits/fstream.tcc (basic_filebuf::seekoff):
2411 Move code needed for both seekoff and seekpos...
2412 (basic_filebuf::_M_seek): ...here. New function.
2413 (basic_filebuf::seekpos): Don't call seekoff, call _M_seek.
2414 * include/std/std_fstream.h (basic_filebuf::_M_seek): Declare it.
2415 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: New test.
2417 * testsuite/22_locale/locale/cons/12438.cc: Increase memory limit.
2419 2003-10-08 Paolo Carlini <pcarlini@unitus.it>
2421 * include/bits/locale_facets.tcc: More minor cosmetic
2422 changes and const-ifications of some variables.
2424 2003-10-07 Paolo Carlini <pcarlini@unitus.it>
2426 * include/bits/locale_facets.tcc: Minor cosmetic changes
2427 and const-ifications of some variables.
2429 * include/bits/locale_facets.tcc
2430 (money_get::do_get(..., string_type&)): Simplify an if-else.
2432 2003-10-06 Paolo Carlini <pcarlini@unitus.it>
2435 * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is):
2436 Fix to actually return (M & m) != 0 as per 22.2.1.1.2.
2437 * config/locale/generic/ctype_members.cc: Same.
2438 * testsuite/22_locale/ctype/is/wchar_t/11740.cc: New.
2440 2003-10-06 Paolo Carlini <pcarlini@unitus.it>
2442 * include/bits/locale_facets.tcc (__pad<>::_S_pad):
2443 Improve performance-wise: avoid one traits::copy, avoid
2444 the __builtin_alloca, streamline.
2446 2003-10-05 Paolo Carlini <pcarlini@unitus.it>
2448 * include/bits/locale_facets.tcc
2449 (num_put::do_put(..., bool)): Prefer ?: to if-else.
2450 (time_get::_M_extract_name): Qualify min with std::.
2451 (__pad<>::_S_pad): Constify two variables; simplify an
2452 if-else statement factoring out some code.
2454 * include/bits/locale_facets.tcc: Minor cosmetic changes.
2456 2003-10-04 Paolo Carlini <pcarlini@unitus.it>
2458 * include/bits/locale_facets.tcc (num_get::_M_extract_float):
2459 Constify a couple of variables.
2460 (num_get::do_get(..., bool&)): Constify __c; prefer *__beg,
2461 ++__beg to *__beg++.
2463 2003-10-04 Paolo Carlini <pcarlini@unitus.it>
2464 Petur Runolfsson <peturr02@ru.is>
2466 * include/ext/stdio_sync_filebuf.h: Don't include the whole
2467 <fstream>, only <streambuf> and <cstdio>.
2469 2003-10-04 Paolo Carlini <pcarlini@unitus.it>
2472 * include/bits/fstream.tcc (imbue): In case a codecvt facet
2473 is not available, set _M_codecvt = 0.
2474 * testsuite/27_io/basic_filebuf/imbue/12206.cc: New.
2476 2003-10-02 Harald Boehme <boehme@informatik.hu-berlin.de>
2479 * libsupc++/cxxabi.h: Move forward declaration of __class_type_info.
2481 2003-10-02 Benjamin Kosnik <bkoz@redhat.com>
2483 * include/bits/locale_classes.h (locale::facet::_S_get_c_name): Add.
2484 * src/locale.cc: Define.
2485 * src/localename.cc: Use it.
2486 * config/locale/generic/time_members.h: Same.
2487 * config/locale/gnu/messages_members.h: Same.
2488 * config/locale/gnu/time_members.h: Same.
2490 2003-10-02 Paolo Carlini <pcarlini@unitus.it>
2493 * include/bits/fstream.tcc (seekoff): Ignore the openmode
2495 * config/io/basic_file_stdio.h (__basic_file<char>::seekoff,
2496 seekpos): Remove the openmode argument.
2497 * config/io/basic_file_stdio.cc (__basic_file<char>::seekoff,
2498 seekpos): Remove redundant placeholder for the openmode argument.
2499 * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: New.
2500 * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Tweak.
2501 * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
2502 * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
2503 * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
2505 2003-10-02 Benjamin Kosnik <bkoz@redhat.com>
2507 * src/locale.cc (locale::_S_initialize): Use __gthread_active_p.
2508 (locale::facet::_S_get_c_locale): Same.
2510 2003-10-02 Benjamin Kosnik <bkoz@redhat.com>
2512 * config/linker-map.gnu: Export _S_get_c_locale instead of
2515 2003-10-02 Petur Runolfsson <peturr02@ru.is>
2517 * config/locale/generic/c_locale.cc
2518 (category_names, locale::_S_categories): Const qualify.
2519 * config/locale/gnu/c_locale.cc: Same.
2520 * config/locale/generic/time_members.h (__timepunct::__timepunct):
2521 Copy string contents before assigning to _M_name_timepunct,
2522 qualify strcpy and strlen with std::.
2523 * config/locale/gnu/time_members.h: Same.
2524 * config/locale/gnu/messages_members.h (messages::messages):
2525 Copy string contents before assigning to _M_name_messages,
2526 qualify strcpy and strlen with std::.
2527 * config/os/gnu-linux/ctype_noninline.h
2528 (ctype<char>::classic_table()): Don't call locale::classic().
2529 * include/bits/locale_classes.h
2530 (locale::_S_categories): Const qualify.
2531 (locale::_S_once, locale::_S_initialize_once,
2532 locale::facet::_S_once, locale::facet::_S_initialize_once,
2533 locale::facet::_S_get_c_locale): Declare.
2534 (locale::_S_initialize): Don't define.
2535 (locale::facet::_S_c_locale): Make private.
2536 (locale::facet::_S_c_name): Same, const qualify.
2537 (locale::_Impl::_Impl(facet**, size_t, bool)): Drop unused
2538 parameters, add throw() specifier.
2539 * include/bits/locale_facets.h (__timepunct::_M_name_timepunct,
2540 messages::_M_name_messages): Const qualify.
2542 (locale::_S_once, locale::facet::_S_once): Define.
2543 (locale::classic): Move initialization code...
2544 (locale::_S_initialize_once): ...here.
2545 (locale::_S_initialize): Call _S_initialize_once through
2547 (locale::facet::_S_initialize_once): Initialize _S_c_locale.
2548 (locale::facet::_S_get_c_locale): Call _S_initialize_once through
2549 __gthread_once before returning _S_c_locale.
2550 * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool)):
2551 Drop unused parameters, add throw() specifier, don't initialize
2552 locale::facet::_S_c_locale and _S_c_name.
2554 * config/locale/generic/messages_members.h:
2555 Replace _S_c_locale with _S_get_c_locale().
2556 * config/locale/gnu/c_locale.cc: Same.
2557 * config/locale/gnu/messages_members.h: Same.
2558 * config/locale/gnu/numeric_members.cc: Same.
2559 * config/locale/gnu/time_members.cc: Same.
2560 * config/os/gnu-linux/ctype_noninline.h: Same.
2561 * include/bits/locale_facets.h: Same.
2562 * include/bits/locale_facets.tcc: Same.
2563 * src/codecvt.cc: Same.
2564 * src/ctype.cc: Same.
2566 2003-10-02 Carlo Wood <carlo@alinoe.com>
2568 * include/bits/demangle.h (demangle<Allocator>::symbol(char const*)):
2569 Decode symbols that start with _GLOBAL_[ID]_ differently: the
2570 trailing part ends with a terminating zero and is not necessarily an
2572 * src/demangle.cc (): Same.
2573 * testsuite/demangle/regression/cw-13.cc: Adjust for new output.
2575 2003-10-02 Paolo Carlini <pcarlini@unitus.it>
2577 * testsuite/22_locale/locale/cons/12438.cc: Use
2578 __gnu_test::try_named_locale("").
2580 2003-10-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2582 * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0): Define.
2583 (GLIBCXX_CHECK_STDLIB_SUPPORT): Use it to test for lrand48
2585 * acconfig.h (HAVE_DRAND48): Renamed to HAVE_LRAND48.
2586 * crossconfig.m4 (*-freebsd*): Define HAVE_LRAND48 instead of
2588 * config.h.in, configure: Regenerate.
2589 * include/bits/stl_algo.h: Use _GLIBCXX_HAVE_LRAND48 to guard
2592 2003-10-01 Nathan Myers <ncm@cantrip.org>
2594 * include/bits/locale_facets.tcc (time_put::put): Avoid
2595 expensive *__s++, in favor of *__s, ++__s.
2597 2003-10-01 Paolo Carlini <pcarlini@unitus.it>
2599 * include/bits/locale_facets.tcc (time_put::put): Minor
2600 tweak to the previous commit.
2602 2003-10-01 Paolo Carlini <pcarlini@unitus.it>
2605 * include/bits/locale_facets.tcc (time_put::put): Deal
2606 with the three issues pointed out by the PR.
2607 * testsuite/22_locale/time_put/put/char/12439_1.cc: New.
2608 * testsuite/22_locale/time_put/put/char/12439_3.cc: New.
2609 * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: New.
2610 * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: New.
2611 * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: New.
2613 2003-09-30 Paolo Carlini <pcarlini@unitus.it>
2615 * include/bits/stl_algo.h: Minor cosmetic reformattings.
2617 2003-09-30 Paolo Carlini <pcarlini@unitus.it>
2619 * include/bits/stl_algo.h (search_n): Tweak, to spare the
2622 2003-09-30 Paolo Carlini <pcarlini@unitus.it>
2624 * testsuite/22_locale/locale/cons/12352.cc: Explicitly
2625 qualify exception name.
2627 2003-09-30 Paolo Carlini <pcarlini@unitus.it>
2630 * include/bits/locale_facets.tcc (locale::combine): Don't
2631 leak memory if _M_replace_facet throws.
2632 * testsuite/22_locale/locale/cons/12438.cc: New, from the PR.
2634 * include/bits/locale_classes.h (locale::locale(const locale&,
2635 _Facet*)): Tweak, use consistently _M_remove_reference.
2637 2003-09-30 Paolo Carlini <pcarlini@unitus.it>
2639 PR libstdc++/12352 (cont)
2640 * src/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
2641 Don't leak __cloc; don't leak if any of the _M_init_facet(...)
2643 (locale::_Impl::_Impl(const _Impl&, size_t)): Tweak.
2644 (locale::_Impl::~_Impl): Don't do anything if !_M_facets,
2645 !_M_caches, !_M_names.
2647 2003-09-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2649 * configure.host: Handle Solaris 2.5 micro releases explicitly.
2650 Remove wildcards from Solaris 2.6, 7-9: there were no
2652 Treat Solaris 10 and up like 7-9.
2654 2003-09-29 Paolo Carlini <pcarlini@unitus.it>
2656 * include/bits/stl_algo.h (search_n): Improve the previous
2657 fix as suggested by Martin.
2659 2003-09-29 Paolo Carlini <pcarlini@unitus.it>
2662 * include/bits/istream.tcc (peek): Set eofbit if sgetc
2664 * testsuite/27_io/basic_istream/peek/char/12296.cc:
2667 2003-09-29 Nathan Myers <ncm@cantrip.org>
2668 Paolo Carlini <pcarlini@unitus.it>
2671 * include/bits/stl_algo.h (search_n):
2672 Use iterator_traits<>::difference_type for __n.
2673 * testsuite/25_algorithms/search_n/11400.cc: New, from the PR.
2675 2003-09-29 Paolo Carlini <pcarlini@unitus.it>
2677 * testsuite/22_locale/locale/cons/12352.cc:
2678 Use __attribute__((unused)) for test.
2680 2003-09-26 Ulrich Weigand <uweigand@de.ibm.com>
2682 * testsuite/22_locale/time_put/put/char/2.cc (test_02): Allow either
2683 "Son" or "So" as abbreviated name for Sunday in de_DE locale.
2684 * testsuite/22_locale/time_put/put/wchar_t/2.cc (test_02): Likewise.
2686 2003-09-26 Brad Spencer <spencer@infointeractive.com>
2688 * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc:
2689 Explicitly qualify exceptions.
2690 * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Same.
2691 * testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.
2692 * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
2693 * testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.
2695 2003-09-25 Paolo Carlini <pcarlini@unitus.it>
2698 * src/localename.cc (locale::_Impl::_Impl(const _Impl&,
2699 size_t)): Don't leak if memory allocations for _M_facets,
2700 _M_caches, and _M_names fail.
2701 (locale::_Impl::_Impl(const char*, size_t)): Ditto.
2702 (locale::_Impl::_M_replace_categories(const _Impl*,
2704 (locale::_Impl::_M_install_facet(const locale::id*,
2705 const facet*)): Ditto.
2706 * include/bits/locale_classes.h (locale::locale(const locale&,
2707 _Facet*)): Don't leak memory.
2708 * testsuite/22_locale/locale/cons/12352.cc: New, from the PR.
2710 * src/localename.cc (locale::_Impl::_Impl(facet**, size_t,
2711 bool)): Qualify with std:: strcpy, tweak.
2712 * include/bits/locale_classes.h
2713 (locale::_Impl::_M_check_same_name): Qualify strcmp.
2715 2003-09-25 Brad Spencer <spencer@infointeractive.com>
2718 * acinclude.m4: Split out checks for vfwscanf, vswscanf, vwscanf,
2720 * aclocal.m4: Regenerate.
2721 * config.h.in: Regenerate.
2722 * configure: Regenerate.
2723 * crossconfig.m4: Add in wchar_t bits for solaris crosses.
2724 * config/io/basic_file_stdio.cc: Guard unistd.h.
2725 * include/c_compatibility/wchar.h: Guard extra wchar_t functionality.
2726 * include/c_std/std_cwchar.h: Same.
2727 * include/c_std/std_cwctype.h: Same.
2729 2003-09-25 Benjamin Kosnik <bkoz@redhat.com>
2732 * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is): Fix.
2733 * config/locale/generic/ctype_members.cc: Same.
2734 * testsuite/22_locale/ctype/is/char/1.cc: Initialize mask.
2735 * testsuite/22_locale/ctype/is/wchar_t/1.cc: Same.
2737 * config/os/generic/ctype_inline.h: Update.
2739 2003-09-25 Ulrich Weigand <uweigand@de.ibm.com>
2741 * src/Makefile.am (version_dep): New variable.
2742 (libstdc___la_DEPENDENCIES): Use it to add dependency on
2743 libstdc++-symbol.ver only when using symbol versioning.
2744 * src/Makefile.in: Regenerate.
2746 2003-09-23 Benjamin Kosnik <bkoz@redhat.com>
2748 * include/bits/locale_facets.tcc: Tweak to avoid warnings.
2749 * testsuite/testsuite_hooks.h: Same.
2750 * testsuite/*/*.cc: Same.
2752 2003-09-22 Petur Runolfsson <peturr02@ru.is>
2754 * include/bits/istream.tcc (basic_istream::read,
2755 basic_istream::readsome, basic_istream::putback,
2756 basic_istream::unget, operator>>(basic_istream, CharT)):
2757 Avoid redundant setstate(failbit) calls when sentry::operator bool()
2760 2003-09-22 Carlo Wood <carlo@alinoe.com>
2763 * include/bits/demangle.h (qualifier(int, cv_qualifier_nt,
2764 char const*, int, int)): Remove unused identifier
2765 cv_qualifier for overloaded constructor.
2767 2003-09-18 Benjamin Kosnik <bkoz@redhat.com>
2770 * acinclude.m4 (GLIBCXX_EXPORT_FLAGS): Add -Wcast-qual to
2771 WARN_FLAGS, remove -Wno-format.
2772 * aclocal.m4: Regenerate.
2773 * configure: Regenerate.
2775 2003-09-18 Petur Runolfsson <peturr02@ru.is>
2777 * config/io/basic_file_stdio.cc (sys_getc, sys_ungetc): Delete.
2778 * config/io/basic_file_stdio.h: Same.
2779 * include/std/std_fstream.h (__ctype_type): Delete.
2780 * include/std/std_streambuf.h (__ctype_type, __state_type): Delete.
2782 2003-09-17 Benjamin Kosnik <bkoz@redhat.com>
2785 * configure.host (abi_baseline_pair): Error out on solaris2
2786 configurations without a minor version number.
2788 2003-09-13 Phil Edwards <phil@codesourcery.com>
2790 * docs/doxygen/run_doxygen: Clear GENERATE_TAGFILE entirely
2791 if man pages are on.
2792 * docs/doxygen/user.cfg.in: And here.
2794 2003-09-10 Daniel Jacobowitz <drow@mvista.com>
2795 Andreas Jaeger <aj@suse.de>
2798 * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Don't build
2799 abi_check if cross compiling.
2800 * aclocal.m4: Regenerated.
2801 * configure: Regenerated.
2803 2003-09-10 Jeffrey D. Oldham <oldham@codesourcery.com>
2805 * libsupc++/vec.cc (__cxa_vec_new2): If the allocator returns
2806 NULL, return NULL. This reflects a C++ ABI change 2003 Sep 05.
2807 (__cxa_vec_new3): Likewise.
2809 2003-09-10 Petur Runolfsson <peturr02@ru.is>
2811 * include/bits/fstream.tcc (basic_filebuf::seekoff):
2812 Use codecvt::length to handle variable-width stateless encodings
2814 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: New test.
2815 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: New test.
2817 2003-09-10 Alan Modra <amodra@bigpond.net.au>
2819 * config/io/basic_file_stdio.cc (_M_open_mode): Assign __p_mode
2822 2003-09-09 Alan Modra <amodra@bigpond.net.au>
2824 * configure: Regenerate.
2826 2003-09-09 David Edelsohn <edelsohn@gnu.org>
2828 * src/ios.cc (ios_base::Init::Init): Remove unnecessary
2829 qualifier from _S_synced_with_stdio.
2831 2003-09-09 Bernardo Innocenti <bernie@develer.com>
2833 * include/c_std/std_cstdlib.h: Avoid using missing C library symbols.
2835 2003-09-04 Petur Runolfsson <peturr02@ru.is>
2838 * include/bits/fstream.tcc
2839 (basic_filebuf::_M_destroy_internal_buffer): Destroy _M_ext_buf.
2840 (basic_filebuf::basic_filebuf): Initialize _M_ext_buf,
2841 _M_ext_buf_size, _M_ext_next and _M_ext_end.
2842 (basic_filebuf::underflow): Handle variable-width stateless
2843 encodings (codecvt::encoding() == 0), including UTF-8.
2844 * include/std/std_fstream.h (basic_filebuf):
2845 Declare _M_ext_buf, _M_ext_buf_size, _M_ext_next, _M_ext_end.
2846 * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: New test.
2847 * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: New test.
2848 * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: New test.
2849 * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: New test.
2850 * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: New test.
2851 * testsuite/27_io/objects/wchar_t/12.cc: New test.
2852 * testsuite/27_io/objects/wchar_t/13.cc: New test.
2854 2003-09-04 Jonathan Wakely <redi@gcc.gnu.org>
2856 * docs/html/faq/index.html: Note that a namespace alias can't be
2857 used when specialising templates in extension namespace.
2858 * docs/html/faq/index.txt: Regenerate.
2860 2003-09-03 Petur Runolfsson <peturr02@ru.is>
2863 * include/ext/stdio_sync_filebuf.h
2864 (stdio_sync_filebuf::_M_unget_buf): Declare it.
2865 (stdio_sync_filebuf::stdio_sync_filebuf): Initialize _M_unget_buf.
2866 (stdio_sync_filebuf::uflow): Store the returned character in
2868 (stdio_sync_filebuf::pbackfail): If argument is eof(), pass
2869 _M_unget_buf to syncungetc(). Set _M_unget_buf to eof().
2870 (stdio_sync_filebuf<char>::xsgetn): Store last read character in
2871 _M_unget_buf, if any, else eof().
2872 (stdio_sync_filebuf<wchar_t>::xsgetn: Store last read character in
2873 _M_unget_buf, if any, else eof().
2874 * testsuite/27_io/objects/char/12048.cc: Rename to...
2875 * testsuite/27_io/objects/char/12048-1.cc: ...this.
2876 * testsuite/27_io/objects/char/12048-2.cc: New test.
2877 * testsuite/27_io/objects/char/12048-3.cc: New test.
2878 * testsuite/27_io/objects/char/12048-4.cc: New test.
2879 * testsuite/27_io/objects/char/12048-5.cc: New test. XFAIL.
2880 * testsuite/27_io/objects/wchar_t/12048-1.cc: New test.
2881 * testsuite/27_io/objects/wchar_t/12048-2.cc: New test.
2882 * testsuite/27_io/objects/wchar_t/12048-3.cc: New test.
2883 * testsuite/27_io/objects/wchar_t/12048-4.cc: New test.
2884 * testsuite/27_io/objects/wchar_t/12048-5.cc: New test. XFAIL.
2885 * testsuite/ext/stdio_sync_filebuf_char.cc
2886 (test02, test03, test04, test05): New tests.
2887 * testsuite/ext/stdio_sync_filebuf_wchar_t.cc
2888 (test02, test03, test04, test05): New tests.
2890 2003-09-03 Petur Runolfsson <peturr02@ru.is>
2892 * docs/html/27_io/howto.html: setbuf(0, 0) has no effect on
2893 stringbuf or strstreambuf. Fix typos.
2895 2003-09-02 Phil Edwards <phil@codesourcery.com>
2897 * acinclude.m4 (GLIBCXX_ENABLE_HOSTED): #define _GLIBCXX_HOSTED
2899 * config.h.in: Add _GLIBCXX_HOSTED.
2900 * libsupc++/eh_term_handler.cc: Test it here; initialize
2901 __terminate_handler to std::abort if freestanding.
2902 * aclocal.m4, configure: Regenerated.
2903 * docs/html/configopts.html: Document --disable-hosted-libstdcxx.
2905 2003-08-29 Nathan Myers <ncm@cantrip.org>
2908 * include/bits/locale_facets.tcc (__pad): delete dead code.
2910 2003-08-28 Alan Modra <amodra@bigpond.net.au>
2912 * configure.ac: Test $with_cross_host against $build_alias, not $build.
2913 * configure: Regenerate.
2915 2003-08-27 Petur Runolfsson <peturr02@ru.is>
2917 * testsuite/27_io/objects/wchar_t/10.cc: Move wcout stuff...
2918 * testsuite/27_io/objects/wchar_t/11.cc: ...here. New file.
2920 2003-08-27 Phil Edwards <pme@gcc.gnu.org>
2922 * Makefile.am: Remove trailing whitespace. Remove needless
2923 "foo = @foo@" assignments. Replace direct uses of @foo@ with $(foo).
2924 * include/Makefile.am: Likewise.
2925 * libmath/Makefile.am: Likewise.
2926 * libsupc++/Makefile.am: Likewise.
2927 * po/Makefile.am: Likewise.
2928 * src/Makefile.am: Likewise.
2929 * testsuite/Makefile.am: Likewise.
2931 * Makefile.in, include/Makefile.in, libmath/Makefile.in,
2932 libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
2933 testsuite/Makefile.in: Regenerated.
2935 2003-08-27 Phil Edwards <pme@gcc.gnu.org>
2937 * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Change quoting of
2939 * aclocal.m4, configure: Regenerate.
2941 2003-08-27 Daniel Jacobowitz <drow@mvista.com>
2943 * acinclude.m4: Include no-executables.m4.
2944 * configure.ac: Uncomment GCC_NO_EXECUTABLES.
2945 * aclocal.m4: Regenerated.
2946 * configure: Regenerated.
2948 2003-08-27 Daniel Jacobowitz <drow@mvista.com>
2950 * acinclude.m4: Don't call AC_ISC_POSIX.
2951 * aclocal.m4: Regenerated.
2952 * configure: Regenerated.
2954 2003-08-27 Phil Edwards <pme@gcc.gnu.org>
2956 * acinclude.m4 (GLIBCXX_CONDITIONAL): New macro. Wrap
2957 AM_CONDITIONAL. Replace all calls to AM_CONDITIONAL with this one.
2958 (GLIBCXX_ENABLE_HOSTED): New macro, sets new variable is_hosted,
2959 used elsewhere in this file.
2960 (GLIBCXX_EVALUATE_CONDITIONALS): New macro...
2961 * configure.ac: ...called here to expand all conditionals.
2962 * Makefile.am: Conditionalize SUBDIRS on GLIBCXX_HOSTED.
2963 * include/Makefile.am: Remove redundant gxx_include_dir assignment.
2964 (install-freestanding-headers): New target, a subset of
2965 install-headers. Conditionalize install-data-local on GLIBCXX_HOSTED.
2967 * aclocal.m4, configure, Makefile.in, include/Makefile.in,
2968 libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
2969 src/Makefile.in, testsuite/Makefile.in: Regenerated.
2971 2003-08-26 Phil Edwards <pme@gcc.gnu.org>
2973 * docs/doxygen/run_doxygen: Shell fixes. Remove hardcoded local
2974 pathnames from generated tag file.
2976 2003-08-26 Phil Edwards <pme@gcc.gnu.org>
2978 * Makefile.am: Add comment.
2979 * acinclude.m4 (GLIBCXX_CONFIGURE): Set new glibcxx_SUBDIRS and
2981 * configure.ac: Use them both here, instead of hardcoded lists.
2983 * fragment.am: Add STAMP varaible.
2984 * include/Makefile.am: Cosmetic whitespace cleanup. Use $(LN_S)
2986 (stamp-*): Move file creation rule outside of 'if' branches to
2987 ensure the stamp-* files are actually updated. Use $(STAMP).
2988 * src/Makefile.am: Remove now-nonexistant variable.
2989 * libsupc++/Makefile.am: Likewise. Snap the assignment chain
2991 * po/Makefile.am: Include same fragment as all the others.
2993 * aclocal.m4, configure, Makefile.in, include/Makefile.in,
2994 libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in: Regenerated.
2996 2003-08-26 Loren J. Rittle <ljrittle@acm.org>
2998 * testsuite/data/cin_unget-1.txt: New.
2999 * testsuite/27_io/objects/char/12048.cc: New.
3001 2003-08-25 Zack Weinberg <zack@codesourcery.com>
3003 * config/os/hpux/os_defines.h: Unconditionally define
3004 _GLIBCXX_GTHREAD_USE_WEAK to 0.
3006 2003-08-19 Geoffrey Keating <geoffk@apple.com>
3008 * crossconfig.m4 (*-darwin*): Add a large and boring stanza for
3009 crosses to Darwin targets.
3010 * configure: Regenerate.
3012 2003-08-19 Petur Runolfsson <peturr02@ru.is>
3014 * include/ext/ropeimpl.h: #include <ostream> instead of <iostream>
3016 2003-08-17 Phil Edwards <pme@gcc.gnu.org>
3018 * configure.ac: GCC_NO_EXECUTABLES was supposed to be commented
3019 in the patch from 3 minutes ago. Boy, is my face red.
3020 * configure: At least I remembered to regenerate this.
3022 2003-08-17 Phil Edwards <pme@gcc.gnu.org>
3024 * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Remove LIBMATH_INCLUDES
3025 and LIBSUPCXX_INCLUDES. Re-purpose TOPLEVEL_INCLUDES to refer to
3026 things from the top level.
3027 * configure.ac (GLIBCXX_IS_NATIVE): Determine earlier and re-order.
3028 Comment out the conditionals for CANADIAN and GLIBCXX_BUILD_LIBMATH
3029 (currently unused). Strip the fake-VPATH shell fragment from
3030 automake-generated rules, if present.
3031 * linkage.m4: Add comment.
3033 * fragment.am: New file, containing factored-out common settings.
3034 (AM_CPPFLAGS): Absorb the deprecated INCLUDES variable contents.
3035 * Makefile.am: Include fragment.am. Remove common variables.
3036 * include/Makefile.am: Likewise.
3037 * libmath/Makefile.am: Likewise.
3038 * libsupc++/Makefile.am: Likewise.
3039 * po/Makefile.am: Likewise. Print rules during check.
3040 * src/Makefile.am: Likewise.
3041 * testsuite/Makefile.am: Likewise.
3043 * aclocal.m4, configure, Makefile.in, include/Makefile.in,
3044 libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
3045 src/Makefile.in, testsuite/Makefile.in: Regenerate.
3047 2003-08-11 John Levon <levon@movementarian.org>
3049 * docs/html/ext/howto/guide.html (GLIBCXX_FORCE_NEW): Update
3050 remaining places for the name change from GLIBCPP_FORCE_NEW
3051 to GLIBCXX_FORCE_NEW
3053 2003-08-11 Benjamin Kosnik <bkoz@redhat.com>
3055 * include/bits/basic_ios.h: Remove *_iter typedefs, change num*
3057 * include/bits/basic_ios.tcc: Same.
3058 * include/bits/istream.tcc: Same.
3059 * include/bits/locale_facets.h: Same.
3060 * include/bits/ostream.tcc: Same.
3061 * include/std/std_istream.h: Same.
3062 * include/std/std_ostream.h: Same.
3063 * testsuite/26_numerics/complex_inserters_extractors.cc: Fix.
3065 * include/ext/rope: Remove build warning.
3067 2003-08-11 Andreas Jaeger <aj@suse.de>
3069 * include/Makefile.am (stamp-c_base): Add dependency on stamp-bits
3071 * include/Makefile.in: Regenerated.
3073 2003-08-11 Phil Edwards <pme@gcc.gnu.org>
3075 * acinclude.m4 (GLIBCXX_CONFIGURE): Unprecious CC and CFLAGS
3076 when calling AC_PROG_CC.
3077 * aclocal.m4, configure: Regenerate.
3079 2003-08-11 Phil Edwards <pme@gcc.gnu.org>
3081 * acinclude.m4: Properly quote variable which will be expanded
3082 inside makefiles. Use CXX instead of CC to extract compiler info.
3083 * configure.ac (AC_INIT): Use the new 4-arg form to finally get the
3084 correct form in PACKAGE.
3085 * aclocal.m4, configure: Regenerate.
3087 2003-08-08 Benjamin Kosnik <bkoz@redhat.com>
3089 * testsuite/Makefile.am (check-abi): Change libstdc++-v3 to libstdc++.
3090 (check-abi-verbose): Same.
3091 * testsuite/testsuite_performance.h (report_performance): Same.
3093 2003-08-08 Loren J. Rittle <ljrittle@acm.org>
3095 * testsuite/testsuite_performance.h (__FreeBSD__): Add fake mallinfo.
3097 2003-08-07 Doug Gregor <dgregor@apple.com>
3099 * include/bits/char_traits.h (char_traits::not_eof): Match operand
3102 2003-08-07 Bernardo Innocenti <bernie@develer.com>
3105 * libstdc++-v3/config/cpu/m68k/atomicity.h (__exchange_and_add):
3106 Replace variants with new BSET-based version.
3108 2003-08-07 Carlo Wood <carlo@alinoe.com>
3110 * include/bits/demangle.h: Do not use cctype functions that depend
3113 2003-08-05 Phil Edwards <pme@gcc.gnu.org>
3115 * configure.in: Rename...
3116 * configure.ac: ...to this.
3117 * docs/html/17_intro/porting.texi: Update name.
3119 * docs/html/17_intro/porting.html: Regenerate.
3120 * config.h.in, Makefile.in, include/Makefile.in, libmath/Makefile.in,
3121 libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
3122 testsuite/Makefile.in: Regenerate (picks up new dependancy).
3124 2003-08-05 Phil Edwards <pme@gcc.gnu.org>
3126 * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Put down the crack
3127 pipe, open the window to let out the fumes, redo the option-handling
3128 logic to properly execute the detection test.
3129 * aclocal.m4, configure: Regenerate.
3131 2003-08-04 Phil Edwards <pme@gcc.gnu.org>
3133 Convert to new autotools.
3134 * acconfig.h: Update with correct names.
3135 * configure.host (ATOMICITYH): Rename to atomicity_include_dir.
3136 (qnx6.[12]*): 'q' comes before 's', not after 'w'.
3137 * configure.in: Update. Split hardcoded cross-configury settings
3139 * crossconfig.m4: ...here. New file. Contents untouched.
3140 * acinclude.m4: Reorganize and rewrite as needed. Split large
3142 * linkage.m4: ...here. New file. Math and stdlib linkage tests.
3144 * scripts/testsuite_flags.in: Update.
3146 * Makefile.am: Remove unneeded AUTOMAKE_OPTIONS settings and other
3147 variables (already generated by automake).
3148 * include/Makefile.am: Ditto.
3149 * libmath/Makefile.am: Ditto.
3150 * libsupc++/Makefile.am: Ditto.
3151 * po/Makefile.am: Ditto.
3152 * src/Makefile.am: Ditto.
3154 * aclocal.m4: Regenerate using new versions.
3155 * config.h.in: Ditto.
3157 * Makefile.in: Ditto.
3158 * include/Makefile.in: Ditto.
3159 * libmath/Makefile.in: Ditto.
3160 * libsupc++/Makefile.in: Ditto.
3161 * po/Makefile.in: Ditto.
3162 * src/Makefile.in: Ditto.
3163 * testsuite/Makefile.in: Ditto.
3165 2003-08-04 Phil Edwards <pme@gcc.gnu.org>
3167 * po/libstdc++.pot: Re-extract/regenerate.
3169 2003-08-04 Phil Edwards <pme@gcc.gnu.org>
3171 * testsuite/Makefile.am (DEJATOOL,EXPECT,RUNTEST,RUNTESTFLAGS):
3172 Remove unneeded variable assignments. Leave them for automake.
3173 * testsuite/lib/libstdc++-v3.exp: Rename...
3174 * testsuite/lib/libstdc++.exp: ...to this. Adjust function names
3176 * testsuite/libstdc++-v3.dg/dg.exp: Rename...
3177 * testsuite/libstdc++-dg/normal.exp: ...to this. Adjust function
3180 2003-08-04 Phil Edwards <pme@gcc.gnu.org>
3182 * docs/doxygen/guide.html: run_doxygen uses bash.
3183 * docs/doxygen/mainpage.html: We'll be shipping tag files.
3184 * docs/doxygen/run_doxygen: Tweaks and improvements.
3185 * docs/doxygen/user.cfg.in: Set GENERATE_TAGFILE.
3186 * docs/html/install.html: Update autoconf/automake requirements.
3187 * docs/html/test.html: Add section describing DejaGNU support.
3188 * docs/html/17_intro/confdeps.dot: New file, generates...
3189 * docs/html/17_intro/confdeps.png: ...this new file.
3190 * docs/html/Makefile: Generated here.
3191 * docs/html/17_intro/configury.html: New file.
3193 2003-07-31 Phil Edwards <pme@gcc.gnu.org>
3195 * testsuite/lib/libstdc++-v3-dg.exp: Rename...
3196 * testsuite/lib/libstdc++-v3.exp: ...to this.
3197 * testsuite/libstdc++-v3.dg/dg.exp: No special case needed now.
3199 2003-07-31 Doug Gregor <dgregor@apple.com>
3201 Add user specialization tests.
3202 * testsuite/23_containers/deque/1.cc: New.
3203 * testsuite/23_containers/list/1.cc: New.
3204 * testsuite/23_containers/map/1.cc: New.
3205 * testsuite/23_containers/multimap/1.cc: New.
3206 * testsuite/23_containers/multiset/1.cc: New.
3207 * testsuite/23_containers/set/1.cc: New.
3208 * testsuite/23_containers/vector/1.cc: New.
3210 2003-07-31 Benjamin Kosnik <bkoz@redhat.com>
3212 Reshuffle 23_containers testsuite.
3213 * 23_containers/adaptors.cc, bitset_ctor.cc,bitset_members.cc,
3214 bitset_shift.cc, deque_ctor.cc, deque_operators.cc,
3215 list_capacity.cc, list_ctor.cc, list_modifiers.cc, list_operators.cc,
3216 map_insert.cc, map_operators.cc, map_operators_neg.cc, multiset.cc,
3217 set_operators_neg.cc, vector_bool.cc, vector_capacity.cc,
3218 vector_ctor.cc, vector_element_access.cc, vector_modifiers.cc,
3219 vector_resize.cc: Split into...
3220 * 23_containers/bitset/cons/1.cc: New.
3221 * 23_containers/bitset/cons/6282.cc: New.
3222 * 23_containers/bitset/count/6124.cc: New.
3223 * 23_containers/bitset/operations/1.cc: New.
3224 * 23_containers/bitset/operations/2.cc: New.
3225 * 23_containers/bitset/test/1.cc: New.
3226 * 23_containers/bitset/to_ulong/1.cc: New.
3227 * 23_containers/deque/cons/1.cc: New.
3228 * 23_containers/deque/cons/2.cc: New.
3229 * 23_containers/deque/operators/1.cc: New.
3230 * 23_containers/list/capacity/1.cc: New.
3231 * 23_containers/list/cons/1.cc: New.
3232 * 23_containers/list/cons/2.cc: New.
3233 * 23_containers/list/cons/3.cc: New.
3234 * 23_containers/list/cons/4.cc: New.
3235 * 23_containers/list/cons/5.cc: New.
3236 * 23_containers/list/cons/6.cc: New.
3237 * 23_containers/list/cons/7.cc: New.
3238 * 23_containers/list/cons/8.cc: New.
3239 * 23_containers/list/cons/9.cc: New.
3240 * 23_containers/list/modifiers/1.cc: New.
3241 * 23_containers/list/modifiers/2.cc: New.
3242 * 23_containers/list/modifiers/3.cc: New.
3243 * 23_containers/list/operators/1.cc: New.
3244 * 23_containers/list/operators/2.cc: New.
3245 * 23_containers/list/operators/3.cc: New.
3246 * 23_containers/list/operators/4.cc: New.
3247 * 23_containers/map/insert/1.cc: New.
3248 * 23_containers/map/operators/1.cc: New.
3249 * 23_containers/map/operators/1_neg.cc: New.
3250 * 23_containers/multiset/insert/1.cc: New.
3251 * 23_containers/priority_queue/members/7161.cc: New.
3252 * 23_containers/queue/members/7157.cc: New.
3253 * 23_containers/set/operators/1_neg.cc: New.
3254 * 23_containers/stack/members/7158.cc: New.
3255 * 23_containers/vector/bool/1.cc: New.
3256 * 23_containers/vector/bool/6886.cc: New.
3257 * 23_containers/vector/capacity/1.cc: New.
3258 * 23_containers/vector/capacity/2.cc: New.
3259 * 23_containers/vector/capacity/8230.cc: New.
3260 * 23_containers/vector/cons/1.cc: New.
3261 * 23_containers/vector/cons/2.cc: New.
3262 * 23_containers/vector/cons/3.cc: New.
3263 * 23_containers/vector/cons/4.cc: New.
3264 * 23_containers/vector/cons/6513.cc: New.
3265 * 23_containers/vector/element_access/1.cc: New.
3266 * 23_containers/vector/modifiers/1.cc: New.
3267 * 23_containers/vector/modifiers/2.cc: New.
3268 * 23_containers/vector/resize/1.cc: New.
3270 2003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3272 * testsuite/thread/pthread1.cc: Add alpha*-*-osf* to dg-do run,
3274 * testsuite/thread/pthread2.cc: Likewise.
3275 * testsuite/thread/pthread3.cc: Likewise.
3276 * testsuite/thread/pthread4.cc: Likewise.
3277 * testsuite/thread/pthread5.cc: Likewise.
3278 * testsuite/thread/pthread6.cc: Likewise.
3279 * testsuite/thread/pthread7-rope.cc: Likewise.
3281 2003-07-30 Phil Edwards <pme@gcc.gnu.org>
3283 * include/bits/c++config: Partial reversion (comment placement) of
3286 2003-07-30 Benjamin Kosnik <bkoz@redhat.com>
3288 * include/bits/c++config (_GLIBCXX_FULLY_COMPLIANT_HEADERS): Remove.
3289 (_GLIBCXX_NO_TEMPLATE_EXPORT): To _GLIBCXX_EXPORT_TEMPLATE.
3290 (_GLIBCXX_AT_AT): Remove.
3291 (__USE_MALLOC): Remove.
3292 * include/std/std_fstream.h: Modify.
3293 * include/bits/basic_ios.h: Same.
3294 * include/bits/valarray_array.h: Same.
3295 * include/c_std/std_cmath.h: Same.
3296 * include/c_std/cmath.tcc: Same.
3297 * include/std/std_vector.h: Same.
3298 * include/std/std_string.h: Same.
3299 * include/std/std_stack.h: Same.
3300 * include/std/std_queue.h: Same.
3301 * include/std/std_list.h: Same.
3302 * include/std/std_deque.h: Same.
3303 * include/std/std_streambuf.h: Same.
3304 * include/std/std_sstream.h: Same.
3305 * include/std/std_ostream.h: Same.
3306 * include/std/std_istream.h: Same.
3307 * include/bits/valarray_array.tcc: Same, format.
3309 * include/c/std_cctype.h: Fix include guards.
3310 * include/c/std_cerrno.h: Same.
3311 * include/c/std_cfloat.h: Same.
3312 * include/c/std_climits.h: Same.
3313 * include/c/std_clocale.h: Same.
3314 * include/c/std_cmath.h: Same.
3315 * include/c/std_csetjmp.h: Same.
3316 * include/c/std_csignal.h: Same.
3317 * include/c/std_cstdarg.h: Same.
3318 * include/c/std_cstddef.h: Same.
3319 * include/c/std_cstdio.h: Same.
3320 * include/c/std_cstdlib.h: Same.
3321 * include/c/std_cstring.h: Same.
3322 * include/c/std_ctime.h: Same.
3323 * include/c/std_cwchar.h: Same.
3324 * include/c/std_cwctype.h: Same.
3325 * include/c_std/cmath.tcc: Same.
3326 * include/c_std/std_cmath.h: Same.
3328 2003-07-30 Gawain Bolton <gp.bolton@computer.org>
3331 * include/bits/stl_tree.h: Replace C-style casts with C++-style
3332 casts. Changes to avoid casting away constness. Eliminate
3333 _Rb_tree_base_iterator class. Change _Rb_tree_iterator to use
3334 initialization lists. Move out implementation of __black_count()
3336 * src/stl_tree.cc: ...here and rename _Rb_tree_black_count().
3337 Rename_Rb_tree_base_iterator::_M_increment() to
3338 _Rb_tree_increment and _Rb_tree_base_iterator::_M_decrement() to
3340 * config/linker-map.gnu: Add and change symbols here.
3342 2003-07-30 Jonathan Wakely <redi@gcc.gnu.org>
3344 * docs/html/22_locale/howto.html: Use locale::classic() instead
3347 2003-07-28 Benjamin Kosnik <bkoz@redhat.com>
3349 * testsuite/testsuite_hooks.h: Remove list include.
3350 (func_callback): Define as unique type, not std::list.
3351 Change DEBUG_ASSERT to _GLIBCXX_ASSERT.
3352 * testsuite/libstdc++-v3.dg/dg.exp: Same.
3353 * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Same.
3354 * testsuite/23_containers/bitset_ctor.cc:
3355 * testsuite/17_intro/header_ciso646.cc: Remove DEBUG_ASSERT.
3356 * testsuite/18_support/numeric_limits.cc: Same.
3357 * testsuite/21_strings/basic_string/append/char/1.cc: Same.
3358 * testsuite/21_strings/basic_string/append/wchar_t/1.cc: Same.
3359 * testsuite/21_strings/basic_string/compare/char/1.cc: Same.
3360 * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Same.
3361 * testsuite/21_strings/basic_string/element_access/char/1.cc: Same.
3362 * testsuite/21_strings/basic_string/element_access/char/2.cc: Same.
3363 * testsuite/21_strings/basic_string/element_access/char/3.cc: Same.
3364 * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc: Same.
3365 * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc: Same.
3366 * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc: Same.
3367 * testsuite/21_strings/basic_string/find/char/1.cc: Same.
3368 * testsuite/21_strings/basic_string/find/char/2.cc: Same.
3369 * testsuite/21_strings/basic_string/find/char/3.cc: Same.
3370 * testsuite/21_strings/basic_string/find/wchar_t/1.cc: Same.
3371 * testsuite/21_strings/basic_string/find/wchar_t/2.cc: Same.
3372 * testsuite/21_strings/basic_string/find/wchar_t/3.cc: Same.
3373 * testsuite/21_strings/basic_string/insert/char/1.cc: Same.
3374 * testsuite/21_strings/basic_string/insert/char/2.cc: Same.
3375 * testsuite/21_strings/basic_string/insert/wchar_t/1.cc: Same.
3376 * testsuite/21_strings/basic_string/insert/wchar_t/2.cc: Same.
3377 * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
3378 * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
3379 * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
3380 * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
3381 * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
3382 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
3383 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
3384 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
3385 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
3386 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
3387 * testsuite/21_strings/basic_string/operators/char/1.cc: Same.
3388 * testsuite/21_strings/basic_string/operators/char/2.cc: Same.
3389 * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Same.
3390 * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Same.
3391 * testsuite/21_strings/basic_string/replace/char/1.cc: Same.
3392 * testsuite/21_strings/basic_string/replace/wchar_t/1.cc: Same.
3393 * testsuite/21_strings/basic_string/rfind/char/1.cc: Same.
3394 * testsuite/21_strings/basic_string/rfind/char/2.cc: Same.
3395 * testsuite/21_strings/basic_string/rfind/char/3.cc: Same.
3396 * testsuite/21_strings/basic_string/rfind/wchar_t/1.cc: Same.
3397 * testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: Same.
3398 * testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: Same.
3399 * testsuite/21_strings/basic_string/substr/char/1.cc: Same.
3400 * testsuite/21_strings/basic_string/substr/wchar_t/1.cc: Same.
3401 * testsuite/23_containers/bitset_ctor.cc: Same.
3402 * testsuite/23_containers/bitset_shift.cc: Same.
3403 * testsuite/23_containers/vector_ctor.cc: Same.
3404 * testsuite/23_containers/vector_element_access.cc: Same.
3405 * testsuite/24_iterators/istreambuf_iterator.cc: Same.
3406 * testsuite/24_iterators/iterator.cc: Same.
3407 * testsuite/24_iterators/ostreambuf_iterator.cc: Same.
3408 * testsuite/25_algorithms/lower_bound.cc: Same.
3409 * testsuite/26_numerics/complex_inserters_extractors.cc: Same.
3410 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: Same.
3411 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc: Same.
3412 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc: Same.
3413 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc: Same.
3414 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc: Same.
3415 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc: Same.
3416 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: Same.
3417 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: Same.
3418 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc: Same.
3419 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
3422 2003-07-28 Phil Edwards <pme@gcc.gnu.org>
3424 * docs/doxygen/user.cfg.in, docs/html/abi.txt, docs/html/debug.html,
3425 docs/html/test.html, docs/html/17_intro/headers_cc.txt,
3426 docs/html/17_intro/howto.html, docs/html/ext/howto.html: Change
3427 GLIBCPP to GLIBCXX (and explain as needed).
3429 2003-07-28 Phil Edwards <pme@gcc.gnu.org>
3433 2003-07-28 Phil Edwards <pme@gcc.gnu.org>
3435 * testsuite/22_locale/messages/members/char/1.cc,
3436 testsuite/22_locale/messages/members/char/2.cc,
3437 testsuite/22_locale/messages/members/char/3.cc,
3438 testsuite/22_locale/messages_byname/1.cc: Update comment regarding
3439 the origin of LOCALEDIR.
3440 * testsuite/lib/libstdc++-v3.exp: New file.
3442 2003-07-25 Benjamin Kosnik <bkoz@redhat.com>
3444 * include/bits/char_traits.h: Update copyright, tweak.
3445 * testsuite/ext/pod_char_traits.cc: Explicitly qualify namespace
3448 2003-07-24 Matt Austern <austern@apple.com>
3450 * /include/bits/char_traits.h (class char_traits): Put all the
3451 real work into the new class template __gnu_cxx::char_traits.
3452 Gave generic definitions for member functions. Types are taken
3453 from the new class template __gnu_cxx::_Char_types.
3454 * testsuite/21_strings/char_traits/requirements/short/1.cc: New
3455 file. Test of std::char_traits<short>, which serves as a test of
3456 the char_traits primary template.
3458 2003-07-24 Benjamin Kosnik <bkoz@redhat.com>
3460 * testsuite/*: Change __gnu_cxx_test to __gnu_test.
3462 2003-07-24 Nathan Myers <ncm-nospam@cantrip.org>
3464 * testsuite/23_containers/map_operators.cc: Conform to
3465 container requirement as value must be Assignable.
3467 2003-07-23 Alexandre Oliva <aoliva@redhat.com>
3469 * acinclude.m4 (GLIBCXX_ENABLE_PCH): Rework test such that it
3470 tests not only generation of pch files, but also their use.
3471 * aclocal.m4, configure: Rebuilt.
3473 2003-07-23 Steve Ellcey <sje@cup.hp.com>
3475 * config/cpu/hppa/atomicity.h: Change
3476 _GLIBCXX_INST_GLIBCXX_ATOMICITY_LOCK to _GLIBCXX_INST_ATOMICITY_LOCK
3477 to match misc-inst.cc
3479 2003-07-23 Steve Ellcey <sje@cup.hp.com>
3481 * include/c_std/cmath.tcc: Use _GLIBCXX_ prefix on file guard.
3482 * include/c_std/std_cctype.h: Ditto.
3483 * include/c_std/std_cerrno.h: Ditto.
3484 * include/c_std/std_cfloat.h: Ditto.
3485 * include/c_std/std_climits.h: Ditto.
3486 * include/c_std/std_clocale.h: Ditto.
3487 * include/c_std/std_cmath.h: Ditto.
3488 * include/c_std/std_csetjmp.h: Ditto.
3489 * include/c_std/std_csignal.h: Ditto.
3490 * include/c_std/std_cstdarg.h: Ditto.
3491 * include/c_std/std_cstddef.h: Ditto.
3492 * include/c_std/std_cstdio.h: Ditto.
3493 * include/c_std/std_cstdlib.h: Ditto.
3494 * include/c_std/std_cstring.h: Ditto.
3495 * include/c_std/std_ctime.h: Ditto.
3496 * include/c_std/std_cwchar.h: Ditto.
3497 * include/c_std/std_cwctype.h: Ditto.
3498 * include/std/std_algorithm.h: Ditto.
3499 * include/std/std_bitset.h: Ditto.
3500 * include/std/std_complex.h: Ditto.
3501 * include/std/std_deque.h: Ditto.
3502 * include/std/std_fstream.h: Ditto.
3503 * include/std/std_functional.h: Ditto.
3504 * include/std/std_iomanip.h: Ditto.
3505 * include/std/std_ios.h: Ditto.
3506 * include/std/std_iosfwd.h: Ditto.
3507 * include/std/std_iostream.h: Ditto.
3508 * include/std/std_istream.h: Ditto.
3509 * include/std/std_iterator.h: Ditto.
3510 * include/std/std_limits.h: Ditto.
3511 * include/std/std_list.h: Ditto.
3512 * include/std/std_locale.h: Ditto.
3513 * include/std/std_map.h: Ditto.
3514 * include/std/std_memory.h: Ditto.
3515 * include/std/std_numeric.h: Ditto.
3516 * include/std/std_ostream.h: Ditto.
3517 * include/std/std_queue.h: Ditto.
3518 * include/std/std_set.h: Ditto.
3519 * include/std/std_sstream.h: Ditto.
3520 * include/std/std_stack.h: Ditto.
3521 * include/std/std_stdexcept.h: Ditto.
3522 * include/std/std_streambuf.h: Ditto.
3523 * include/std/std_string.h: Ditto.
3524 * include/std/std_utility.h: Ditto.
3525 * include/std/std_valarray.h: Ditto.
3526 * include/std/std_vector.h: Ditto.
3528 2003-07-22 Doug Gregor <dgregor@apple.com>
3530 * include/bits/basic_string.h (basic_string::insert): Deprecate
3533 2003-07-21 Benjamin Kosnik <bkoz@redhat.com>
3535 * scripts/testsuite_flags.in (--build-includes): Remove extraneous
3537 * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc
3538 (test03): Include typeinfo for bad_cast.
3539 * testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.
3540 * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
3541 * testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.
3543 2003-07-21 Doug Gregor <dgregor@apple.com>
3545 * include/bits/boost_concept_check.h:
3546 (_EqualityComparableConcept::__constraints): Remove != from the
3547 list of constraints; it is not listed in Table 28 of the C++98
3550 2003-07-18 Andreas Jaeger <aj@suse.de>
3552 * config/abi/sparc-linux-gnu/baseline_symbols.txt: New file.
3553 * config/abi/mips-linux-gnu/baseline_symbols.txt: New file.
3554 * config/abi/hppa-linux-gnu/baseline_symbols.txt: New file.
3555 * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
3557 2003-07-17 Benjamin Kosnik <bkoz@redhat.com>
3559 * config/linker-map.gnu: Add __moneypunct_cache, __timepunct_cache.
3560 * config/locale/generic/messages_members.h: Tweaks.
3561 * config/locale/generic/monetary_members.cc
3562 (moneypunct::_M_initialize_moneypunct): Use cache.
3563 (moneypunct::~moneypunct): Delete cache.
3564 * config/locale/generic/time_members.cc:
3565 (__timepunct::_M_initialize_timepunct): Use cache.
3566 * config/locale/generic/time_members.h:
3567 (__timepunct::~__timepunct): Delete cache.
3568 (__timepunct::__timepunct): Set cache.
3569 * config/locale/gnu/messages_members.h: Tweaks.
3570 * config/locale/gnu/monetary_members.cc:
3571 (moneypunct::_M_initialize_moneypunct): Use cache.
3572 (moneypunct::~moneypunct): Delete cache.
3573 * config/locale/gnu/time_members.cc:
3574 (__timepunct::_M_initialize_timepunct): Use cache.
3575 * config/locale/gnu/time_members.h:
3576 (__timepunct::~__timepunct): Delete cache.
3577 (__timepunct::__timepunct): Set cache.
3578 * include/bits/locale_facets.h (__timepunct_cache): New.
3579 (__moneypunct_cache): New.
3580 * include/bits/locale_facets.tcc: Tweak.
3581 * src/locale.cc (__timepunct::_S_timezones): Adjust for cache.
3582 * src/locale-inst.cc: Instantiate caches.
3583 * src/globals.cc: Add "C" caches.
3584 * src/localename.cc: Use external "C" caches.
3586 2003-07-17 Phil Edwards <pme@gcc.gnu.org>
3588 * docs/doxygen/guide.html: Fix typo.
3590 2003-07-16 Benjamin Kosnik <bkoz@redhat.com>
3592 * include/ext/pod_char_traits.h: Add state template argument.
3594 2003-07-16 Benjamin Kosnik <bkoz@redhat.com>
3596 * include/bits/locale_facets.h (__num_base::_S_atoms_in): Add -+xX.
3597 (num_get::_M_convert_int): To _M_insert_int.
3598 (num_get::_M_convert_float): To _M_insert_float.
3599 * include/bits/locale_facets.tcc (num_get::_M_extract_float):
3600 Use caches for ctype, num_get.
3601 (num_get::_M_extract_int): Same.
3602 (num_get::get(bool)): Same.
3603 (__verify_grouping): Use size_t.
3604 * src/locale-inst.cc: Update.
3605 * src/locale.cc: Adjust _S_atoms_in.
3607 2003-07-16 Phil Edwards <pme@gcc.gnu.org>
3609 * docs/doxygen/mainpage.html: Move building/writing instructions...
3610 * docs/doxygen/guide.html: ...to here. New file.
3612 2003-07-16 Jonathan Wakely <redi@gcc.gnu.org>
3614 * docs/html/ext/howto.html: Update URL for SGI STL docs.
3615 * docs/html/faq/index.html: Same.
3616 * docs/html/faq/index.txt: Regenerate.
3618 2003-07-16 Paolo Carlini <pcarlini@unitus.it>
3621 * include/bits/locale_facets.tcc (money_get::do_get):
3622 Strip only _leading_ zeros.
3623 * testsuite/22_locale/money_get/get/char/11528.cc: Add.
3624 * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Add.
3626 2003-07-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3628 * include/ext/hash_map (class hash_multimap): Remove extra
3629 semicolons from __glibcxx_class_requires3 entries.
3630 * include/ext/hash_set (class hash_set): Ditto.
3631 (class hash_multiset): Ditto.
3633 2003-07-15 Petur Runolfsson <peturr02@ru.is>
3635 * include/bits/char_traits.h (char_traits<wchar_t>::move):
3636 Change last parameter from int_type to size_t.
3638 2003-07-15 Jerry Quinn <jlquinn@optonline.net>
3640 * include/bits/stl_algo.h (includes, set_union, set_intersection,
3641 set_difference, set_symmetric_difference, max_element, min_element,
3642 next_permutation, prev_permutation, find_first_of, find_end):
3644 * include/bits/stl_algobase.h (copy,copy_backward): Clarify overlap
3645 restrictions in docs.
3646 * include/bits/stl_heap.h (push_heap, pop_heap, make_heap, sort_heap):
3648 * docs/doxygen/doxygroups.cc (setoperations): New group.
3650 2003-07-15 Jerry Quinn <jlquinn@optonline.net>
3652 * include/bits/basic_string.h: Document public functions.
3653 * docs/doxygen/TODO: Update c21 todo.
3655 2003-07-15 Jerry Quinn <jlquinn@optonline.net>
3657 * include/bits/stl_list.h: Document more functions.
3658 * docs/doxygen/TODO: Update c23 todo.
3660 2003-07-14 Paolo Carlini <pcarlini@unitus.it>
3662 * config/locale/gnu/c_locale.h (__convert_from_v): One more
3665 2003-07-14 Paolo Carlini <pcarlini@unitus.it>
3667 * include/bits/stl_tempbuf.h: Qualify free with std::.
3668 * src/locale.cc: Include <cstdlib>, qualify getenv.
3670 2003-07-14 Paolo Carlini <pcarlini@unitus.it>
3672 * config/locale/gnu/c_locale.h (__convert_from_v): Include
3673 <cstdio>. Qualify names.
3674 * config/locale/generic/c_locale.h (__convert_from_v): Ditto.
3676 2003-07-14 Paolo Carlini <pcarlini@unitus.it>
3677 Nathan C. Myers <ncm-nospam@cantrip.org>
3680 * include/std/std_fstream.h (xsputn): Declare only.
3681 * include/bits/fstream.tcc (xsputn): Define, optimize for the
3682 always_noconv() case: when __n is sufficiently large flush
3683 the buffer and issue a direct write, if possible combining the
3684 two with writev in __basic_file<>::xsputn_2.
3685 * config/io/basic_file_stdio.h (__basic_file<>::xsputn_2):
3687 * config/io/basic_file_stdio.cc (__basic_file<>::xsputn_2):
3689 * acinclude.m4 (GLIBCXX_CHECK_WRITE): New macro, checking for
3690 the availability of writev in <sys/uio.h>.
3691 * configure.in: Call here.
3692 * acconfig.h: Add undef for the corresponding symbol.
3693 * aclocal.m4: Regenerate.
3694 * configure: Regenerate.
3695 * config.h.in: Regenerate.
3696 * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Tweak.
3698 * include/std/std_fstream.h (sync): Constify a variable.
3700 2003-07-14 Benjamin Kosnik <bkoz@redhat.com>
3702 * testsuite/27_io/ios_base/cons/assign_neg.cc: Fix line numbers.
3703 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
3705 2003-07-14 Gabriel Dos Reis <gcc@integrable-solutions.net>
3707 * config/locale/gnu/c_locale.h (__convert_from_v): Include
3708 <cstring> and <cstdlib>. Qualify names.
3710 2003-07-13 Mark Mitchell <mark@codesourcery.com>
3712 * config/locale/generic/c_locale.h: Include <cstdlib> and
3714 * include/bits/boost_concept_check.h: Add this-> to unqualified
3716 * include/bits/deque.tcc: Likewise.
3717 * include/bits/locale_facets.h : Likewise.
3718 * include/bits/ostream.tcc: Likewise.
3719 * include/bits/stl_algo.h: Likewise.
3720 * include/bits/stl_bvector.h: Likewise.
3721 * include/bits/stl_deque.h: Likewise.
3722 * include/bits/stl_list.h: Likewise.
3723 * include/bits/stl_tree.h: Likewise.
3724 * include/bits/stl_vector.h: Likewise.
3725 * include/bits/vector.tcc: Likewise.
3726 * include/ext/rope: Likewise.
3727 * include/ext/ropeimpl.h: Likewise.
3728 * include/ext/stdio_filebuf.h: Likewise.
3730 2003-07-11 Jerry Quinn <jlquinn@optonline.net>
3732 * include/bits/basic_ios.h (copyfmt): Document.
3733 * include/bits/ios_base.h (event, event_callback, register_callback,
3734 xalloc, iword, pword): Document.
3735 (imbue, ~ios_base): Update docs on callbacks.
3737 2003-07-11 Phil Edwards <pme@gcc.gnu.org>
3739 * acinclude.m4 (GLIBCC_ENABLE_SYMVERS): Tweak comments. Add
3740 warning messages if the environment cannot support symbol versioning.
3741 (port_specific_symbol_file): It's plural, add an 's' on the end.
3742 * configure.host: Likewise.
3743 * src/Makefile.am: Likewise.
3744 * config/linker-map.gnu: Remove one semicolon, heh.
3745 * scripts/extract_symvers: Don't assume useful 'export' syntax.
3746 Set LANG as well as LC_ALL for possibly-broken sort(1)s.
3747 * aclocal.m4, configure, src/Makefile.in: Regenerated.
3749 2003-07-09 Benjamin Kosnik <bkoz@redhat.com>
3751 * include/bits/locale_facets.tcc: Use function object for
3752 __use_cache instead of template function. Partially specialize for
3754 * include/bits/locale_classes.h: Update friend declaration for
3756 (_M_install_cache): No throw exception specs.
3757 * src/locale.cc: Remove __use_cache specializations.
3758 * include/ext/pod_char_traits.h (length): Tweak.
3759 * include/bits/locale_facets.h (__numpunct_cache): Remove
3761 * testsuite/testsuite_hooks.h (pod_unsigned_int): Remove.
3763 * testsuite/22_locale/numpunct/members/char/cache_1.cc: New.
3764 * testsuite/22_locale/numpunct/members/char/cache_2.cc: New.
3765 * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: New.
3766 * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: New.
3767 * testsuite/22_locale/numpunct/members/pod/1.cc: New.
3768 * testsuite/22_locale/numpunct/members/pod/2.cc: New.
3770 2003-07-09 Jerry Quinn <jlquinn@optonline.net>
3772 * src/ios.cc (_M_grow_words): Fix spelling.
3774 2003-07-09 Gawain Bolton <gp.bolton@computer.org>
3776 * include/bits/stl_tree.h: Move larger member functions in
3777 _Rb_tree_base_iterator and _Rb_tree_node to...
3778 * src/stl_tree.cc: Here.
3779 * src/Makefile.in: Add stl_tree.cc.
3780 * src/Makefile.in: Regenerated.
3781 * config/linker-map.gnu: Add symbols here.
3783 2003-07-08 Benjamin Kosnik <bkoz@redhat.com>
3785 * testsuite/ext/pod_char_traits.cc: New.
3786 * include/ext/pod_char_traits.h: New.
3787 * include/Makefile.am (ext_headers): Add pod_char_traits.h.
3788 * include/Makefile.in: Regenerate.
3789 * docs/html/21_strings/howto.html: Update.
3791 2003-07-08 Gawain Bolton <gp.bolton@computer.org>
3793 * testsuite/performance/list_create_fill_sort.cc: New.
3795 2003-07-08 Benjamin Kosnik <bkoz@redhat.com>
3797 * config/locale/generic/numeric_members.cc: Correct type info.
3798 * config/locale/gnu/numeric_members.cc: Same.
3799 * include/bits/locale_facets.h: Same.
3801 * include/bits/char_traits.h: Correct spacing.
3803 * src/locale.cc: Wrap to 80 col.
3805 2003-07-07 Paolo Carlini <pcarlini@unitus.it>
3807 * include/std/std_complex.h: Partially revert last
3808 changes: cmath functions must not be qualified.
3810 2003-07-06 Phil Edwards <pme@gcc.gnu.org>
3812 * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Do not test for binutils
3813 2.11 with globbing backport fix.
3814 * aclocal.m4, configure: Regenerated.
3816 2003-07-06 Paolo Carlini <pcarlini@unitus.it>
3818 * include/std/std_fstream.h (xsputn): Don't call _M_destroy_pback:
3819 if output is at all possible (!_M_reading), cannot be active.
3821 * include/std/std_fstream.h: Tweak comments to doxygen style.
3823 2003-07-06 Paolo Carlini <pcarlini@unitus.it>
3825 * include/bits/locale_classes.h: Fully qualify standard
3826 functions with std::, thus avoiding Koenig lookup.
3827 * include/bits/locale_facets.tcc: Likewise.
3828 * src/locale.cc: Likewise.
3829 * src/localename.cc: Likewise.
3831 2003-07-06 Phil Edwards <pme@gcc.gnu.org>
3833 * include/bits/allocator_traits.h: Fix doxygen markup.
3834 * include/ext/mt_allocator.h: Likewise.
3836 2003-07-06 Phil Edwards <pme@gcc.gnu.org>
3838 * testsuite/testsuite_hooks.h: Guard against a missing unlink().
3840 2003-07-05 Phil Edwards <pme@gcc.gnu.org>
3842 * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Bump minimal version
3843 requirement. Add port_specific_symbol_file variable.
3844 * configure.host: Add docs for port_specific_symbol_file.
3845 Clean up try_cpu block for x86.
3846 * config/linker-map.gnu: No more "last symbol can't have a
3847 semicolon" kaka. Add hook for port-specific symbols.
3848 * src/Makefile.am: Remove trailing whitespace.
3849 (libstdc++-symbol.ver): Detect the presence of port-specific
3850 symbols, and add them accordingly.
3852 * docs/html/17_intro/porting.texi: Bring up to date.
3854 * src/Makefile.in, aclocal.m4, configure,
3855 docs/html/17_intro/porting.html: Regenerated.
3857 2003-07-05 Phil Edwards <pme@gcc.gnu.org>
3859 * scripts/create_testsuite_files: New file.
3860 * testsuite/Makefile.am (all-local, check-performance): Use it.
3861 * testsuite/lib/libstdc++-v3-dg.exp (v3-computer-tests): Remove.
3862 * testsuite/Makefile.in: Regenerated.
3864 * testsuite/performance/filebuf_sputc.cc: Remove the temporary
3866 * testsuite/performance/fstream_seek_write.cc: Likewise.
3867 * testsuite/performance/ofstream_insert_float.cc: Likewise.
3868 * testsuite/performance/ofstream_insert_int.cc: Likewise.
3869 * testsuite/abi_check.cc (main): Nicer spacing in usage output.
3871 2003-07-05 Gawain Bolton <gp.bolton@computer.org>
3873 * include/bits/stl_list.h: Performance and memory usage
3874 improvements. In particular, the behaviour of the constructor and
3875 destructor as the list header node is no longer dynamically
3876 allocated/de-allocated.
3877 * include/bits/list.tcc: Likewise.
3879 2003-07-05 Paolo Carlini <pcarlini@unitus.it>
3881 * include/std/std_complex.h: Fully qualify standard
3882 functions with std::, thus avoiding Koenig lookup.
3883 * include/std/std_memory.h: Likewise.
3884 * include/std/std_valarray.h: Likewise.
3886 2003-07-05 Gawain Bolton <gp.bolton@computer.org>
3888 * include/bits/stl_tree.h: _Rb_tree_rebalance(): Add local
3889 variable for grandparent and use const
3891 2003-07-05 David Billinghurst <David.Billinghurst@riotinto.com>
3893 * testsuite/27_io/basic_filebuf/close/char/4879.cc: xfail on cygwin
3894 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Ditto
3895 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Ditto
3896 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Ditto
3897 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Ditto
3898 * testsuite/27_io/objects/char/7.cc: Ditto
3899 * testsuite/27_io/objects/char/9661-1.cc: Ditto
3901 2003-07-05 Paolo Carlini <pcarlini@unitus.it>
3903 * include/std/std_bitset.h: Fully qualify standard
3904 functions with std::, thus avoiding Koenig lookup.
3906 * include/std/std_fstream.h: Change comment to doxygen style.
3908 2003-07-05 Phil Edwards <pme@gcc.gnu.org>
3910 * include/std/std_limits.h: More CPP->CXX changes.
3911 * scripts/check_survey.in: Likewise.
3913 2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
3915 Move from CPP to CXX.
3916 * include/bits/c++config: Move to GLIBCXX from GLIBCPP.
3917 * testsuite/Makefile.am: Same.
3918 * testsuite/Makefile.in: Regenerate.
3919 * po/Makefile.am: Same.
3920 * po/Makefile.in: Regenerate.
3921 * libsupc++/Makefile.am: Same.
3922 * libsupc++/Makefile.in: Regenerate.
3923 * libmath/Makefile.am: Same.
3924 * libmath/Makefile.in: Regenerate.
3925 * include/Makefile.am: Same.
3926 * include/Makefile.in: Regenerate.
3927 * src/Makefile.am: Same.
3928 * src/Makefile.in: Regenerate.
3930 * configure.host: Same.
3931 * configure.in: Same.
3932 * configure: Regenerate.
3933 * acinclude.m4: Same.
3935 * src: Change all files in this directory.
3937 * include: Same, standardize include guards.
3941 2003-07-04 Zack Weinberg <zack@codesourcery.com>
3943 * testsuite/22_locale/collate/compare/wchar_t/2.cc
3944 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc
3945 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc
3946 * testsuite/22_locale/collate/hash/wchar_t/2.cc
3947 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc
3948 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc
3949 * testsuite/22_locale/collate/transform/wchar_t/2.cc
3950 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc
3951 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
3952 XFAIL on all targets.
3954 2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
3956 * acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix missed variable.
3957 * aclocal.m4: Regenerate.
3958 * configure: Regenerate.
3960 2003-07-04 Jerry Quinn <jlquinn@optonline.net>
3962 * include/bits/locale_facets.tcc (__int_to_char): Move common case
3965 2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
3966 Petur Runolfsson <peturr02@ru.is>
3968 * config/io/basic_file_stdio.cc: Revert.
3970 2003-07-04 Paolo Carlini <pcarlini@unitus.it>
3972 * include/bits/deque.tcc: Fully qualify standard
3973 functions with std::, thus avoiding Koenig lookup.
3974 * include/bits/gslice_array.h: Likewise.
3975 * include/bits/indirect_array.h: Likewise.
3976 * include/bits/list.tcc: Likewise.
3977 * include/bits/mask_array.h: Likewise.
3978 * include/bits/slice_array.h: Likewise.
3980 2003-07-04 Gawain Bolton <gbolton@free.fr>
3982 * include/bits/stl_tree.h: Performance and memory usage
3985 2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
3987 * Makefile.am: Replace PWD with PWD_COMMAND.
3988 * Makefile.in: Regenerated.
3989 * docs/html/Makefile: Likewise.
3991 2003-07-04 Paolo Carlini <pcarlini@unitus.it>
3993 * include/bits/valarray_array.h: Fully qualify standard
3994 functions with std::, thus avoiding Koenig lookup.
3995 * include/bits/vector.tcc: Likewise.
3997 2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
3999 * include/Makefile.am: Update target_ to host_.
4000 * include/Makefile.in: Regenerate.
4001 * src/Makefile.am: Same.
4002 * src/Makefile.in: Regenerate.
4004 * config/os/gnu-linux/os_defines.h: Remove glibc-2.0 support.
4006 2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
4008 * acinclude.m4 (GLIBCPP_ENABLE_DEBUG_FLAGS): To
4009 --enable-libstdcxx-debug-flags.
4010 (GLIBCPP_ENABLE_DEBUG_FLAGS): To --enable-libstdcxx-debug.
4011 (GLIBCPP_ENABLE_PCH): To --enable-libstdcxx-pch.
4012 * aclocal.m4: Regenerate.
4014 * docs/html/configopts.html: Update.
4016 2003-07-04 Paolo Carlini <pcarlini@unitus.it>
4018 Revert the fix for libstdc++/11378.
4020 2003-07-04 Paolo Carlini <pcarlini@unitus.it>
4023 * include/std/std_fstream.h (xsputn): In the unbuffered case,
4024 provided always_noconv(), issue directly _M_file.xsputn.
4025 * testsuite/performance/filebuf_unbuf_sputn.cc: New.
4027 2003-07-04 Paolo Carlini <pcarlini@unitus.it>
4029 * include/bits/stl_list.h: Fully qualify standard
4030 functions with std::, thus avoiding Koenig lookup.
4031 * include/bits/stl_queue.h: Likewise.
4032 * include/bits/stl_raw_storage_iter.h: Likewise.
4033 * include/bits/stl_tempbuf.h: Likewise.
4034 * include/bits/stl_tree.h: Likewise.
4035 * include/bits/stl_uninitialized.h: Likewise.
4036 * include/bits/stl_vector.h: Likewise.
4037 * include/ext/rope: Change includes order.
4039 2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
4041 * configure.host (fpos_include_dir): Fix.
4043 2003-07-04 Paolo Carlini <pcarlini@unitus.it>
4045 * include/bits/stl_heap.h: Fully qualify standard
4046 functions with std::, thus avoiding Koenig lookup.
4047 * include/bits/stl_iterator_base_funcs.h: Likewise.
4049 * include/bits/stl_algo.h: Qualify __iterator_category too.
4050 * include/bits/stl_algobase.h: Likewise.
4051 * include/bits/stl_bvector.h: Likewise.
4053 * include/bits/stl_algo.h: Don't qualify the pair type.
4055 2003-07-03 Benjamin Kosnik <bkoz@redhat.com>
4057 * include/Makefile.am (target_headers): Add fpos.h
4058 (bits_headers): Remove.
4059 * include/Makefile.in: Regenerate.
4060 * configure.in: Add FPOS_INC_SRCDIR, substitute it.
4061 * configure: Regenerate.
4062 * configure.host: Add fpos_include_dir.
4063 * config/os/gnu-linux/fpos.h: New.
4064 * config/os/generic/fpos.h: Add.
4065 * include/bits/fpos.h: Remove.
4067 * config/io/c_io_stdio.h: Remove fpos_t typedef.
4069 * include/bits/fstream.tcc: Tweaks.
4070 * include/std/std_fstream.h: Same.
4072 * testsuite/27_io/fpos/1.cc (test01): Uncomment. Move to...
4073 * testsuite/27_io/fpos/mbstate_t/1.cc: ...here.
4074 * testsuite/27_io/fpos/mbstate_t/2.cc: Same.
4075 * testsuite/27_io/fpos/mbstate_t/3.cc: Same.
4076 * testsuite/27_io/fpos/1.cc: New.
4078 2003-07-03 Benjamin Kosnik <bkoz@redhat.com>
4079 Petur Runolfsson <peturr02@ru.is>
4081 * include/std/std_streambuf.h: Remove _M_pos.
4082 * config/io/basic_file_stdio.h: Use seekpos instead of seekoff.
4083 * config/io/basic_file_stdio.cc: Same, use fseek instead of lseek,
4084 use fread/fwrite instead of read/write.
4085 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Fix.
4086 * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Close filebufs
4087 before reading again.
4088 * testsuite/27_io/objects/char/6.cc: Tweak.
4090 2003-07-03 David Edelsohn <edelsohn@gnu.org>
4092 * testsuite/22_locale/num_put/put/char/7.cc: Guard with
4093 _GLIBCPP_USE_WCHAR_T.
4095 2003-07-02 Paolo Carlini <pcarlini@unitus.it>
4097 * include/bits/basic_string.tcc (_M_replace_aux): Constify
4100 2003-07-02 Paolo Carlini <pcarlini@unitus.it>
4102 * include/bits/stl_bvector.h: Fully qualify standard
4103 functions with std::, thus avoiding Koenig lookup.
4104 * include/bits/stl_construct.h: Likewise.
4105 * include/bits/stl_deque.h: Likewise.
4107 2003-07-02 Paolo Carlini <pcarlini@unitus.it>
4109 * testsuite/22_locale/num_put/put/char/7.cc: Include
4110 <testsuite_hooks.h>, tweak.
4111 * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
4113 2003-07-01 Phil Edwards <pme@gcc.gnu.org>
4115 * testsuite/Makefile.am (AM_MAKEFLAGS): Set to -j1 (affects
4116 check* targets, but not libs/programs).
4117 * testsuite/Makefile.in: Regenerate.
4119 2003-07-01 Roger Sayle <roger@eyesopen.com>
4121 * acinclude.m4 (GLIBCPP_CHECK_STDLIB_SUPPORT): Fix typo in CXXFLAGS.
4122 (GLIBCPP_CHECK_MATH_SUPPORT): Likewise.
4123 * aclocal.m4: Regenerate.
4124 * configure: Regenerate.
4126 2003-07-01 Benjamin Kosnik <bkoz@redhat.com>
4128 * acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix obvious error.
4129 * aclocal.m4: Regenerated.
4130 * configure: Regenerated.
4132 2003-07-01 Paolo Carlini <pcarlini@unitus.it>
4135 * include/bits/fstream.tcc (underflow): For encoding() == 0
4136 don't read more than __buflen chars.
4137 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: New.
4138 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: New.
4139 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: New.
4140 * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: New.
4142 2003-07-01 Jerry Quinn <jlquinn@optonline.net>
4144 * 22_locale/num_put/put/char/7.cc: New.
4145 * 22_locale/num_put/put/wchar_t/7.cc: New.
4147 2003-06-30 Jerry Quinn <jlquinn@optonline.net>
4149 * src/locale.cc (__use_cache<numpunct>): Revert previous relocation.
4150 * include/bits/locale_facets.tcc (__use_cache<numpunct>): Ditto.
4152 2003-06-30 Benjamin Kosnik <bkoz@redhat.com>
4154 * 27_io/basic_filebuf/seekoff/char/1-in.cc: New.
4155 * 27_io/basic_filebuf/seekoff/char/1-io.cc: New.
4156 * 27_io/basic_filebuf/seekoff/char/1-out.cc: New.
4157 * 27_io/basic_filebuf/seekoff/char/2-in.cc: New.
4158 * 27_io/basic_filebuf/seekoff/char/2-io.cc: New.
4159 * 27_io/basic_filebuf/seekoff/char/2-out.cc: New.
4160 * 27_io/basic_filebuf/seekoff/char/2.cc: Remove.
4161 * 27_io/basic_filebuf/seekoff/char/3-in.cc: New.
4162 * 27_io/basic_filebuf/seekoff/char/3-io.cc: Change.
4163 * 27_io/basic_filebuf/seekoff/char/3-out.cc: New.
4164 * 27_io/basic_filebuf/seekoff/char/4-io.cc: Remove.
4165 * 27_io/basic_filebuf/seekpos/char/1-in.cc: New.
4166 * 27_io/basic_filebuf/seekpos/char/1-io.cc: New.
4167 * 27_io/basic_filebuf/seekpos/char/1-out.cc: New.
4168 * 27_io/basic_filebuf/seekpos/char/2-in.cc: New.
4169 * 27_io/basic_filebuf/seekpos/char/2-io.cc: New.
4170 * 27_io/basic_filebuf/seekpos/char/2-out.cc: New.
4171 * 27_io/basic_filebuf/seekpos/char/2.cc: Change.
4172 * 27_io/basic_filebuf/seekpos/char/3-in.cc: New.
4173 * 27_io/basic_filebuf/seekpos/char/3-io.cc: Remove.
4174 * 27_io/basic_filebuf/seekpos/char/3-out.cc: New.
4175 * 27_io/basic_filebuf/seekpos/char/4-io.cc: Remove.
4176 * data/seekoff-1.tst: Remove.
4177 * data/seekoff-1io.tst: New.
4178 * data/seekoff-1out.tst: New.
4179 * data/seekoff-2.tst: Remove.
4180 * data/seekoff-2io.tst: New.
4181 * data/seekoff-2out.tst: New.
4183 * data/seekpos-1.tst: Remove.
4184 * data/seekpos-1io.tst: New.
4185 * data/seekpos-1out.tst: New.
4186 * data/seekpos-2.tst: Remove.
4187 * data/seekpos-2io.tst: New.
4188 * data/seekpos-2out.tst: New.
4189 * data/seekpos.txt: New.
4191 2003-06-30 Jerry Quinn <jlquinn@optonline.net>
4193 * src/locale.cc (__use_cache<numpunct>): Move from here ...
4194 * include/bits/locale_facets.tcc (__use_cache<numpunct>): To
4197 2003-06-30 Paolo Carlini <pcarlini@unitus.it>
4199 * include/bits/stl_algobase.h: Fully qualify standard
4200 functions with std::, thus avoiding Koenig lookup.
4202 2003-06-30 Doug Gregor <dgregor@apple.com>
4204 * include/bits/locale_facets.tcc (money_get::do_get): Avoid
4205 subscripting empty string.
4207 2003-06-30 Phil Edwards <pme@gcc.gnu.org>
4209 * testsuite/Makefile.am (check-am): Do not override.
4210 (baseline_symbols): Declare as PHONY, so no need to 'touch' it.
4211 * testsuite/Makefile.in: Regenerate.
4213 2003-06-30 Doug Gregor <dgregor@apple.com>
4215 * testsuite/24_iterators/insert_iterator.cc (test01, test02):
4216 Don't initialize an insert_iterator with a singular iterator.
4218 2003-06-30 Benjamin Kosnik <bkoz@redhat.com>
4220 * acinclude.m4 (GLIBCPP_ENABLE_PCH): Add bits for --enable-pch.
4221 * aclocal.m4: Regenerate.
4222 * configure.in (GLIBCPP_CHECK_PCH): Move, change to
4223 GLIBCPP_ENABLE_PCH, default to yes.
4224 * configure: Regenerate.
4225 * docs/html/configopts.html: Add --enable-pch.
4227 2003-06-30 Phil Edwards <pme@gcc.gnu.org>
4229 * testsuite/lib/libstdc++-v3-dg.exp: Add comments.
4230 (libstdc++-v3-init): Also set LD_RUN_PATH.
4232 2003-06-30 Paolo Carlini <pcarlini@unitus.it>
4234 * include/std/std_streambuf.h (_M_mode): Unused by streambuf, move
4235 from here to filebuf and stringbuf.
4236 (~basic_streambuf()): Don't set _M_mode.
4237 (basic_streambuf()): Don't set _M_mode.
4238 * include/std/std_fstream.h (_M_mode): Move here, from streambuf.
4239 (~basic_filebuf()): Clean up.
4240 * include/bits/fstream.tcc (basic_filebuf()): Set _M_mode.
4241 * include/std/std_sstream.h (_M_mode): Move here, from streambuf.
4242 * testsuite/27_io/basic_streambuf/cons/char/1.cc: Don't set _M_mode.
4243 * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
4244 * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
4245 * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
4246 * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
4248 2003-06-30 Paolo Carlini <pcarlini@unitus.it>
4250 * include/std/std_fstream.h (_M_underflow): Remove.
4251 (uflow): Remove, inherited from streambuf.
4252 (underflow): Only declare.
4253 * include/bits/fstream.tcc (_M_underflow): Rename to
4254 underflow, to which is equivalent for __bump == false,
4256 * include/std/std_sstream.h (_M_underflow): Remove.
4257 (uflow): Remove, inherited from streambuf.
4258 (underflow): Only declare.
4259 * include/bits/sstream.tcc (_M_underflow): Rename to
4260 underflow, to which is equivalent for __bump == false,
4263 2003-06-29 Paolo Carlini <pcarlini@unitus.it>
4265 * include/bits/stl_algo.h: Fully qualify standard functions
4266 with std::, thus avoiding Koenig lookup.
4268 2003-06-29 Paolo Carlini <pcarlini@unitus.it>
4270 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc:
4271 Improve type correctness-wise.
4272 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc:
4274 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc:
4276 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc:
4279 2003-06-29 Paolo Carlini <pcarlini@unitus.it>
4281 * include/std/std_streambuf.h (uflow): According to
4282 27.5.2.4.3,p16, don't check gptr() < egptr().
4284 2003-06-28 Paolo Carlini <pcarlini@unitus.it>
4287 * include/bits/fstream.tcc (seekoff): Fix for encoding() > 0.
4288 (seekpos): Likewise.
4289 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
4291 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
4294 2003-06-27 Benjamin Kosnik <bkoz@redhat.com>
4296 * testsuite/testsuite_performance.h (__gnu_cxx_test): Change
4297 output name to libstdc++-v3-performance.sum.
4298 * testsuite/Makefile.am (CLEANFILES): Remove .performance.
4299 * testsuite/Makefile.in: Regenerate.
4301 2003-06-27 Matthias Klose <doko@debian.org>
4303 * testsuite/Makefile.am (check-abi, check-abi-verbose): Save
4304 output of abi-check in libstdc++-v3-abi.sum.
4305 * testsuite/Makefile.in: Regenerate.
4307 2003-06-27 Krister Walfridsson <cato@df.lth.se>
4309 * config/os/bsd/netbsd/ctype_noninline.h
4310 (_C_ctype_): Declare.
4311 (ctype<char>::classic_table): Return _C_ctype_ + 1.
4312 (ctype<char>::ctype): Use classic_table.
4314 2003-06-27 Paolo Carlini <pcarlini@unitus.it>
4315 Nathan C. Myers <ncm-nospam@cantrip.org>
4318 * include/bits/fstream.tcc (_M_underflow): Properly estimate
4319 the worst-case number of external bytes for a given get area.
4320 * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: New.
4322 2003-06-27 Paolo Carlini <pcarlini@unitus.it>
4323 Petur Runolfsson <peturr02@ru.is>
4326 * include/bits/fstream.tcc (overflow): Properly estimate the
4327 worst-case number of external bytes for a given put area
4328 (by using codecvt::max_length()).
4329 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1: New.
4330 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: New.
4331 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: New.
4332 * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: New.
4334 2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
4336 * config/linker-map.gnu: Remove ; after __numpunct_cache.
4338 2003-06-26 Benjamin Kosnik <bkoz@redhat.com>
4340 * include/bits/ios_base.h (ios_base::_M_getloc): Return reference
4341 to the imbued locale.
4342 * include/bits/locale_facets.tcc (num_put::_M_convert_int): Use
4344 (num_put::_M_convert_float): Use.
4346 2003-06-26 Benjamin Kosnik <bkoz@redhat.com>
4347 Jerry Quinn <jlquinn@optonline.net>
4349 * config/linker-map.gnu: Add __numpunct_cache.
4350 * config/locale/gnu/numeric_members.cc
4351 (numpunct::_M_initialize_numpunct): Account for _M_data, fill in
4352 all elements for "C" locale.
4353 (numpunct::~numpunct): Delete _M_data.
4354 * config/locale/generic/numeric_members.cc: Same.
4355 * include/bits/basic_ios.tcc
4356 (basic_ios::init): Remove __locale_cache bits.
4357 (basic_ios::_M_cache_locale): Same.
4358 * include/bits/ios_base.h: Same. Tweaks.
4359 * include/bits/locale_classes.h: Tweaks. Reorder classes.
4360 (__use_cache): Make friends with _Impl, locale.
4361 (_Impl::_M_caches): Add.
4362 (_Impl::_M_install_cache): Add.
4363 * include/bits/locale_facets.h (__numpunct_cache): New.
4364 (numpunct): Encapsulate data members in __numpunct_cache member,
4365 _M_data. Adjust virtuals.
4366 (numpunct::numpunct): New ctor for the same.
4367 (__locale_cache_base): Remove.
4368 (__locale_cache): Remove.
4369 * include/bits/locale_facets.tcc (__use_cache): New function,
4371 (num_put::_M_convert_int, _M_convert_float, do_put): Use it.
4372 * src/globals.cc: Add cache_vec, numpunct_cache_c, numpunct_cache_w.
4373 * src/ios.cc (ios_base::ios_base): Remove __locale_cache.
4374 * src/locale-inst.cc: Same. Add __numpunct_cache.
4375 * src/locale.cc: Tweak inlines.
4376 (__use_cache): Define specializations.
4377 * src/localename.cc: Use global bits.
4378 (_Impl::~Impl): Deal with __numpunct_cache destruction.
4379 (_Impl::_Impl): Same. Pre-cache standard numpunct facets.
4380 (_Impl::_M_init_facet): Take into account __numpunct_cache.
4381 * testsuite/27_io/ios_base/cons/assign_neg.cc: Update line numbers.
4382 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
4384 2003-06-26 Nathan C. Myers <ncm-nospam@cantrip.org>
4385 Paolo Carlini <pcarlini@unitus.it>
4387 * testsuite/performance/filebuf_copy.cc: New, testing char
4390 2003-06-26 Paolo Carlini <pcarlini@unitus.it>
4391 Nathan C. Myers <ncm-nospam@cantrip.org>
4393 * include/bits/fstream.tcc (_M_underflow): When the actual
4394 end of file is reached, set 'uncommitted' mode to allow a
4395 next write without an intervening seek (see C++98 27.8.1.1,2
4397 * testsuite/27_io/basic_filebuf/underflow/char/2.cc: New.
4399 2003-06-25 Nathan C. Myers <ncm-nospam@cantrip.org>
4401 * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
4402 sputc): Move inline, from here...
4403 * include/std/std_streambuf.h: ... to here.
4405 * include/std/std_streambuf.h (snextc, sbumpc, sgetc,
4406 sputbackc, sungetc, sputc): Use __builtin_expect.
4408 2003-06-24 Phil Edwards <pme@gcc.gnu.org>
4410 * docs/doxygen/mainpage.html: Use a useful title.
4412 2003-06-24 Benjamin Kosnik <bkoz@redhat.com>
4414 * docs/html/documentation.html: Remove assignment info.
4415 * docs/html/17_intro/contribute.html: Edits.
4416 * docs/html/17_intro/libstdc++-assign.tx: Remove.
4418 * docs/html/test.html: Update.
4422 2003-06-24 Benjamin Kosnik <bkoz@redhat.com>
4423 Ulrich Drepper <drepper@redhat.com>
4425 * testsuite/testsuite_performance.h: Tweak mallinfo.
4427 2003-06-24 Paolo Carlini <pcarlini@unitus.it>
4428 Nathan C. Myers <ncm-nospam@cantrip.org>
4430 * include/std/std_fstream.h (_M_filepos): Remove.
4431 (_M_reading, _M_writing): New, encode the various I/O modes:
4432 'read', 'write' and 'uncommitted'.
4433 (sync): If there is something to flush, do it, then go to
4435 * include/bits/fstream.tcc (_M_set_buffer): Overhaul to deal
4436 with three different cases: __off > 0 (upon underflow),
4437 __off == 0 (upon overflow), __off == -1 (upon open, setbuf,
4439 (_M_underflow): Don't call overflow, set _M_reading to true
4441 (pbackfail): Set _M_reading to true on pback creation, tweak.
4442 (overflow): Don't seek, deal with overflow in 'uncommitted' mode,
4443 set _M_writing to true on success, tweak.
4444 (seekoff): Simplify, set _M_reading, _M_writing to false, call
4445 _M_set_buffer(-1) ('uncommitted').
4446 (open, close, setbuf): Set _M_reading, _M_writing to false and
4447 call _M_set_buffer(-1), tweak.
4448 (basic_filebuf): Don't set _M_buf_unified.
4449 (_M_destroy_internal_buffer): Don't call setg and setp.
4450 * include/ext/stdio_filebuf.h (stdio_filebuf): Use _M_reading,
4451 _M_writing and _M_set_buffer(-1).
4452 * include/std/std_streambuf.h (_M_move_out_cur, _M_move_in_cur,
4453 _M_out_lim, _M_buf_unified): Remove.
4454 (basic_streambuf): Don't set _M_out_lim and _M_buf_unified.
4455 (setp): Don't set _M_out_lim.
4456 * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Fix for
4457 the new logic ('read', 'write' and 'uncommitted' modes): e.g.,
4458 upon open the mode is 'uncommitted' and therefore the put area
4460 * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Ditto.
4461 * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Ditto.
4462 * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Ditto.
4463 * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Ditto.
4464 * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Ditto.
4465 * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Ditto.
4466 * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
4467 * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Ditto.
4468 * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Ditto.
4469 * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Ditto.
4470 * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Ditto.
4471 * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Ditto.
4472 * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Ditto.
4473 * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Ditto.
4474 * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Ditto.
4475 * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Ditto.
4476 * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Ditto.
4477 * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Ditto.
4478 * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Ditto.
4479 * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Ditto.
4481 * include/bits/fstream.tcc (showmanyc): Use only the
4482 documented derivation interface to basic_streambuf (gptr(),
4483 setg(), etc.) to work right with user specializations.
4484 * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
4485 sputc, xsgetn, xsputn, __copy_streambufs): Likewise.
4486 * include/std/std_streambuf.h (in_avail, sgetc, uflow, stossc):
4488 * include/std/std_fstream.h (_M_create_pback, _M_destroy_pback,
4491 2003-06-23 Loren J. Rittle <ljrittle@acm.org>
4493 * configure.host (freebsd*): Set abi_baseline_pair.
4494 * config/abi/i386-freebsd4/baseline_symbols.txt: Update from 3.2
4495 (at or near first release) to 3.3.
4496 * config/abi/i386-freebsd5/baseline_symbols.txt: New file.
4497 * config/abi/alpha-freebsd5/baseline_symbols.txt: New file.
4498 * config/abi/sparc-freebsd5/baseline_symbols.txt: New file.
4500 * include/ext/mt_allocator.h: Portability.
4501 * testsuite/testsuite_performance.h: Likewise.
4503 2003-06-23 Benjamin Kosnik <bkoz@redhat.com>
4505 * docs/html/17_intro/libstdc++-assign.txt: Update address.
4507 * testsuite/performance/ifstream_getline.cc: Fix.
4509 2003-06-23 Doug Gregor <dgregor@apple.com>
4511 * include/bits/boost_concept_check.h: Don't use _D or _R for type
4514 2003-06-22 Paolo Carlini <pcarlini@unitus.it>
4515 Nathan C. Myers <ncm-nospam@cantrip.org>
4517 * include/std/std_streambuf.h (_M_move_out_cur): _M_out_lim
4518 is now used only for filebuf, when _M_buf_unified is true.
4519 epgtr() plays the role of _M_out_lim but it's only updated
4520 upon overflow, underflow, uflow, seekoff/pos.
4521 * include/bits/sstream.tcc (_M_underflow): New, implements
4522 stringbuf::underflow and uflow.
4523 (seekoff, seekpos): Tweak, use _M_update_egptr.
4524 * include/std/std_sstream.h (str): Rewrote, deal correctly
4525 with the new logic, in particular, when pptr() > egptr().
4526 (_M_sync): When __testout && !__testin set all the get area
4527 pointers to the current string end.
4528 (_M_update_egptr): New, internal function updating egptr()
4529 to the actual string end.
4530 (_M_underflow): New, declare.
4531 (underflow): Dispatch to _M_underflow(false).
4532 (uflow): Dispatch to _M_underflow(true).
4534 * include/bits/sstream.tcc (pbackfail, overflow, seekoff,
4535 seekpos): Use only the documented derivation interface to
4536 basic_streambuf (gptr(), setg(), etc.) to work right with
4537 user specializations.
4538 * include/std/std_sstream.h (str, _M_sync): Likewise.
4540 2003-06-20 Doug Gregor <dgregor@apple.com>
4542 * testsuite/20_util/auto_ptr.cc: Don't dereference NULL auto_ptr
4543 * testsuite/21_strings/basic_string/replace/char/4.cc: Don't
4544 dereference end iterator.
4545 * testsuite/21_strings/basic_string/replace/wchar_t/4.cc: Same.
4546 * testsuite/22_locale/ctype/narrow/char/1.cc: Don't subscript with
4547 index equal to the length of a string.
4548 * testsuite/22_locale/ctype/narrow/char/2.cc: Same.
4549 * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Same.
4550 * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Same.
4551 * testsuite/22_locale/ctype/widen/char/1.cc: Same.
4552 * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Same.
4553 * testsuite/23_containers/list_modifiers.cc: Don't dereference
4554 singular reverse iterator.
4555 * testsuite/23_containers/vector_bool.cc: Don't increment singular
4557 * testsuite/24_iterators/rel_ops.cc: Don't compare singular iterator.
4559 2003-06-20 Doug Gregor <dgregor@apple.com>
4561 * include/bits/basic_string.h (basic_string::replace): Dispatch
4562 _InputIterator version based on _Is_integer.
4563 * include/bits/basic_string.tcc (basic_string::replace):
4564 Renamed replace(iterator, iterator, size_type, _CharT) to
4566 * testsuite/21_strings/basic_string/assign/char/1.cc (test01):
4567 Test basic_string::assign(_InputIterator, _InputIterator),
4568 which calls basic_string::replace(iterator, iterator,
4569 _Input_iterator, _InputIterator).
4571 2003-06-20 Benjamin Kosnik <bkoz@redhat.com>
4573 * testsuite/testsuite_performance.h (resource_counter): Don't use
4574 mallinfo at the moment.
4576 2003-06-20 Matthias Klose <doko@debian.org>
4578 * configure.host: Set try_cpu to target_cpu for existing
4581 2003-06-19 Andreas Jaeger <aj@suse.de>
4583 * testsuite/Makefile.am (extract_symvers): Revert accidental
4585 * testsuite/Makefile.in: Regenerate.
4587 * configure.in: Pass MULTISUBDIR to testsuite/Makefile.
4588 * configure: Regenerated.
4590 2003-06-19 Paolo Carlini <pcarlini@unitus.it>
4592 * include/std/std_sstream.h (_M_sync): Make non virtual.
4594 2003-06-18 Benjamin Kosnik <bkoz@redhat.com>
4596 * testsuite/testsuite_performance.h (time_counter): New.
4597 (resource_counter): New.
4598 (report_performance): New.
4599 (start_counters): New.
4600 (stop_counters): New.
4601 (clear_counters): New.
4602 * testsuite/performance/allocator.cc: Instrument.
4603 * testsuite/performance/cout_insert_int.cc: Same.
4604 * testsuite/performance/complex_norm.cc: Same.
4605 * testsuite/performance/filebuf_sputc.cc: New.
4606 * testsuite/performance/fstream_seek_write.cc: Same.
4607 * testsuite/performance/ifstream_getline.cc: Same.
4608 * testsuite/performance/map_create_fill.cc: Same.
4609 * testsuite/performance/ofstream_insert_float.cc: Same.
4610 * testsuite/performance/ofstream_insert_int.cc: Same.
4611 * testsuite/performance/string_append.cc: Convert.
4612 * scripts/check_performance: New.
4613 * testsuite/Makefile.am (check-performance): New.
4616 2003-06-18 Paolo Carlini <pcarlini@unitus.it>
4617 Benjamin Kosnik <bkoz@redhat.com>
4619 * include/std/std_sstream.h (setbuf): Check __n >= 0.
4620 * include/bits/fstream.tcc (setbuf): Tweak.
4622 2003-06-18 Paolo Carlini <pcarlini@unitus.it>
4624 * include/bits/sstream.tcc (seekoff): We can't seek beyond
4625 _M_out_lim, therefore _M_move_out_cur boils down to simply
4626 updating _M_out_cur.
4627 (seekpos): Likewise, clean up.
4629 2003-06-18 Nathan C. Myers <ncm-nospam@cantrip.org>
4630 Paolo Carlini <pcarlini@unitus.it>
4632 * include/bits/fstream.tcc (setbuf): Allow (__s, 1) too,
4633 simply equivalent to the unbuffered case (0, 0) as far as
4634 _M_buf_size is concerned.
4636 2003-06-18 Andreas Jaeger <aj@suse.de>
4638 * testsuite/Makefile.am (new-abi-baseline): Create baseline
4640 (baseline_file): Use baseline_dir.
4641 (baseline_dir): New.
4642 (mkinstalldirs): New.
4644 * acinclude.m4: Rename baseline_file to baseline_dir, strip
4645 filename from baseline_dir.
4647 * testsuite/Makefile.in: Regenerated.
4648 * Makefile.in: Regenerated.
4649 * aclocal.m4: Regenerated.
4650 * configure: Regenerated.
4652 2003-06-17 Benjamin Kosnik <bkoz@redhat.com>
4654 * configure.in: Missed check_survey bit.
4655 * configure: Regenerated.
4657 2003-06-17 Benjamin Kosnik <bkoz@redhat.com>
4660 * config/abi/extract_symvers: Move to...
4661 * scripts/extract_symvers: ...here.
4662 * mkcheck.in: Move to..
4663 * scripts/check_survey.in: ...here.
4664 * testsuite_flags.in: Move to..
4665 * scripts/testsuite_flags.in: ...here.
4666 * configure.in: Change check and testsuite_flags locations.
4667 * configure: Regenerate.
4668 * testsuite/Makefile.am (current_symbols.txt): Change location.
4669 * testsuite/Makefile.in: Regenerate.
4670 * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify
4671 location of testsuite_flags.
4672 * Makefile.am (check-script): Move..
4673 (check-script-install): Move...
4674 * testsuite/Makefile.am: ... here.
4675 * testsuite/Makefile.in: Regenerate.
4676 * Makefile.in: Regenerate.
4678 2003-06-17 Benjamin Kosnik <bkoz@redhat.com>
4680 * config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.3.0.
4682 2003-06-16 Benjamin Kosnik <bkoz@redhat.com>
4684 * Makefile.am (check-abi): Move...
4685 (new-abi-baseline): Move...
4686 * testsuite/Makefile.am: ...here.
4687 (new-abi-baseline): Conditionalize.
4688 (check-abi): Conditionalize.
4689 (check-abi-verbose): New.
4690 * Makefile.in: Regenerate.
4691 * testsuite/Makefile.in: Regenerate.
4692 * configure.in: Consolidate testsuite configure bits.
4693 * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Same.
4694 * configure: Regenerate.
4695 * aclocal.m4: Regenerate.
4696 * testsuite/abi_check.cc: Add --check-verbose.
4697 Only output detailed information if --check-verbose.
4699 2003-06-16 Andreas Jaeger <aj@suse.de>
4701 * testsuite/abi_check.cc: Create summary report.
4703 2003-06-16 Paolo Carlini <pcarlini@unitus.it>
4705 * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Fix
4706 for systems with BUFSIZ != 8192.
4707 * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
4708 * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc:
4711 2003-06-16 Andreas Jaeger <aj@suse.de>
4713 * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Make
4714 check-abi multilib aware.
4715 * aclocal.m4: Regenerate.
4716 * configure: Regenerate.
4718 2003-06-16 Benjamin Kosnik <bkoz@redhat.com>
4719 Andreas Jaeger <aj@suse.de>
4721 * configure.host: Set x86_64 abi_baseline pair correctly.
4723 2003-06-16 Paolo Carlini <pcarlini@unitus.it>
4725 * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Split and
4726 fix for missing seeks between gets and puts into...
4727 * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: New.
4728 * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: New.
4729 * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: New.
4730 * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: New.
4731 * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: New.
4732 * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: New.
4734 2003-06-15 Richard Henderson <rth@redhat.com>
4736 * config/linker-map.gnu: Export virtual function thunks for
4739 2003-06-13 Benjamin Kosnik <bkoz@redhat.com>
4741 * config/abi/i686-pc-linux-gnu: To..
4742 * config/abi/i486-linux-gnu: ...this.
4743 * config/abi/alphaev67-unknown-linux-gnu: To..
4744 * config/abi/alpha-linux-gnu: ...this.
4745 * config/abi/ia64-unknown-linux-gnu: To...
4746 * config/abi/ia64-linux-gnu: ...this.
4747 * config/abi/x86_64-unknown-linux-gnu: To...
4748 * config/abi/x86_64-linux-gnu: ...this.
4749 * config/abi/i386-unknown-freebsd4: To...
4750 * config/abi/i386-freebsd4: ...this.
4751 * config/linker-map.gnu: Cleanups, move libsupc++ bits into
4753 * configure.host: abi_baseline_triplet to abi_baseline_pair.
4754 Simplify cpu bits so that abi_baseline_pair can use the same
4756 * acinclude.m4: Same.
4757 * aclocal.m4: Regenerate.
4758 * configure.in: Can't get enable_abi_check to yes unless native.
4759 * configure: Regenerate.
4761 2003-06-13 Paolo Carlini <pcarlini@unitus.it>
4763 * testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Split and
4764 fix for missing seeks between gets and puts into...
4765 * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: New.
4766 * testsuite/27_io/basic_filebuf/seekoff/char/4-io.cc: New.
4767 * testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Same, into...
4768 * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: New.
4769 * testsuite/27_io/basic_filebuf/seekpos/char/4-io.cc: New.
4770 * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Fix
4771 for missing seeks between gets and puts.
4772 * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Ditto.
4773 * testsuite/data/seekoff-1.tst: New.
4774 * testsuite/data/seekoff-2.tst: New.
4775 * testsuite/data/seekpos-1.tst: New.
4776 * testsuite/data/seekpos-2.tst: New.
4778 2003-06-13 Nathan C. Myers <ncm-nospam@cantrip.org>
4780 Avoid multi-processor bus contention on increment/decrement-and-
4781 test of the reference count in the empty-string object, by comparing
4782 addresses first, and never touching the reference count of the empty-
4784 * include/bits/basic_string.h:
4785 (_S_empty_rep_storage): Move into basic_string<>::_Rep for use by its
4787 (_Rep::_S_empty_rep()): New accessor.
4788 (_Rep::_M_length, _Rep::_M_capacity, _Rep::_M_references): Move to
4789 a base class _Rep_base.
4790 (_Rep::_M_dispose, _Rep::_M_refcopy): Check for the empty string.
4791 (basic_string()): Change to use _M_refdata() in place of _M_refcopy(),
4792 since no longer must increment its refcount.
4793 * include/bits/basic_string.tcc:
4794 (_Rep::_M_destroy, _M_leak_hard): Check for the empty string and
4795 return immediately. The former might be unnecessary. The latter
4796 prevents begin() and end() from cloning it unnecessarily.
4797 (_S_construct(_InIterator, _InIterator, const _Alloc&,
4798 input_iterator_tag), _S_construct(_InIterator, _InIterator,
4799 const _Alloc&, forward_iterator_tag), _S_construct(size_type, _CharT,
4800 const _Alloc&)): Change to use _M_refdata() in place of _M_refcopy().
4801 (_M_mutate): Check for the empty string and treat it as shared.
4802 This is necessary here because _M_mutate is sometimes called with
4803 all-zero arguments; in all other uses of _M_is_shared, the test comes
4806 2003-06-12 Benjamin Kosnik <bkoz@redhat.com>
4808 * src/allocator-inst.cc: Explicitly instantiate.
4809 * include/ext/pool_allocator.h: Inhibit implicit instantiations.
4811 * config/linker-map.gnu: Add __pool_alloc bits. Tweaks.
4813 2003-06-11 Benjamin Kosnik <bkoz@redhat.com>
4815 * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Simplify.
4816 * aclocal.m4: Regenerate.
4817 * Makefile.am (SUBDIRS): Remove libio.
4818 * Makefile.in: Regenerate.
4819 * configure.in: Same.
4820 * configure: Regenerate.
4821 * config/io/basic_file_libio.cc: Remove.
4822 * config/io/basic_file_libio.h: Remove.
4823 * config/io/c_io_libio_codecvt.c: Remove.
4824 * config/io/c_io_libio.h: Remove.
4826 * src/Makefile.am: Same.
4827 * src/Makefile.in: Regenerate.
4828 * docs/html/configopts.html: Edits.
4829 * docs/html/explanations.html: Edits.
4831 2003-06-11 Benjamin Kosnik <bkoz@redhat.com>
4833 * include/bits/stl_alloc.h (__debug_alloc): Move out.
4834 (__malloc_alloc): Same.
4835 (__pool_alloc): Same.
4836 (__new_alloc): Same.
4838 * include/bits/allocator.h: ...this.
4839 * include/bits/stl_deque.h: Modify comment.
4840 * include/bits/stl_tree.h: Modify include.
4841 * include/std/std_memory.h: Same.
4842 * include/ext/rope: Same.
4843 * include/ext/slist: Same.
4844 * include/std/std_vector.h: Same.
4845 * include/std/std_stack.h: Same.
4846 * include/std/std_queue.h: Same.
4847 * include/std/std_list.h: Same.
4848 * include/std/std_deque.h: Same.
4849 * include/backward/alloc.h: Same.
4850 * include/ext/debug_allocator.h: New.
4851 * include/ext/malloc_allocator.h: New.
4852 * include/ext/pool_allocator.h: New.
4853 * include/ext/new_allocator.h: New.
4854 * include/bits/pthread_allocimpl.h: Remove.
4855 * include/bits/stl_pthread_alloc.h: Remove.
4856 * include/Makefile.am (ext_headers): Add.
4857 * include/Makefile.in: Regenerate.
4858 * src/stl-inst.cc: Use __gnu_cxx namespace.
4859 * src/stl-inst.cc: Move to...
4860 * src/allocator-inst.cc: Here.
4861 * src/Makefile.am (sources): Update.
4862 * src/Makefile.in: Regenerate.
4863 * config/linker-map.gnu: Remove __pool_alloc bits.
4864 * testsuite/ext/headers.cc: Add.
4865 * testsuite/ext/allocators.cc: Fixup.
4867 2003-06-11 Stefan Olsson <stefan@snon.net>
4868 Ola Rönnerup <fnolis@home.se>
4870 * include/Makefile.am (ext_headers): Add.
4871 * include/Makefile.in: Regenerate.
4872 * include/ext/mt_allocator.h: New file.
4874 2003-06-10 Paolo Carlini <pcarlini@unitus.it>
4876 * include/bits/fstream.tcc (close): Clean up a bit.
4878 * include/bits/streambuf.tcc (sbumpc): Clean up a bit.
4880 * include/std/std_fstream.h (_M_destroy_pback): _M_pback_cur_save
4881 - the saved _M_in_cur, that is - cannot be null.
4882 (sync): Constify a variable.
4884 * include/std/std_streambuf.h: Tweak a comment.
4885 (in_avail): Constify a variable.
4887 2003-06-10 Phil Edwards <pme@gcc.gnu.org>
4889 * docs/html/17_intro/BUGS: Update from 2.90.8 snapshot.
4890 * docs/html/17_intro/CHECKLIST: Bring up to date with respect to
4891 correctness of container::iterator typedefs. Fix whitespace.
4892 * docs/html/20_util/howto.html, docs/html/ext/howto.html: Add links
4894 * docs/html/documentation.html: Regenerate.
4896 * include/bits/basic_string.h, include/bits/basic_string.tcc,
4897 include/bits/deque.tcc, include/bits/list.tcc, include/bits/stl_algo.h,
4898 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
4899 include/bits/stl_deque.h, include/bits/stl_iterator_base_funcs.h,
4900 include/bits/stl_list.h, include/bits/stl_uninitialized.h,
4901 include/bits/stl_vector.h, include/bits/vector.tcc,
4902 include/ext/algorithm, include/ext/slist, include/std/std_bitset.h:
4903 Change _Iter names to _Iterator, and __pos to __position.
4905 * include/bits/stl_relops.h, include/bits/stl_numeric.h,
4906 include/bits/stl_multiset.h, include/bits/stl_set.h:
4907 Remove emacs markers.
4909 * include/bits/stl_threads.h (_STL_auto_lock): Add __unused__.
4911 2003-06-10 Paolo Carlini <pcarlini@unitus.it>
4913 * include/bits/fstream.tcc (overflow): According to
4914 27.5.2.4.5, overflow() returns not_eof(eof()).
4915 * testsuite/27_io/basic_filebuf/overflow/char/2.cc: New.
4916 * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Ditto.
4918 2003-06-10 Paolo Carlini <pcarlini@unitus.it>
4920 * include/bits/fstream.tcc (_M_underflow): Check overflow return
4921 value; tweak slightly.
4923 2003-06-09 Paolo Carlini <pcarlini@unitus.it>
4925 * include/bits/fstream.tcc (_M_underflow): Do not special
4926 case the unbuffered case, which really means simply a one char
4928 (basic_filebuf): Initialize _M_buf_size.
4929 (setbuf): Unbuffered means _M_buf_size == 1, since only
4930 _M_buf_size - 1 == 0 chars are going to be used for the
4931 put area and 1 for the get area.
4932 * include/std/std_streambuf.h (_M_buf_size): Move to basic_filebuf.
4933 (~basic_streambuf): Tweak.
4934 (basic_streambuf): Do not initialize _M_buf_size.
4935 * include/std/std_fstream.h (_M_buf_size): Add from basic_streambuf.
4936 (~basic_filebuf): Tweak.
4937 (_M_set_buffer): Tweak, considering that _M_buf_size == 1 is the
4938 unbuffered situation (i.e., put area pointers NULL).
4939 * include/bits/streambuf.tcc (sbumpc): Clean up.
4940 * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Split into...
4941 * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: New.
4942 * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: New.
4943 * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: New.
4944 * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: New.
4945 * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: New.
4946 * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: New.
4948 2003-06-09 Phil Edwards <pme@gcc.gnu.org>
4950 * acinclude.m4: Move all AM_CONDITIONAL calls out.
4951 (GLIBCPP_CONFIGURE): Set defaults for variables used in AM_CONDITIONAL
4953 * configure.in: Centralize AM_CONDITIONALs so that they are always
4954 run. Make use of GLIBCPP_IS_CROSS_COMPILING.
4955 * aclocal.m4, configure: Regenerated.
4957 2003-06-09 Paolo Carlini <pcarlini@unitus.it>
4959 * docs/html/ext/howto.html ('LWG Issues'): Add issue 235.
4961 2003-06-06 Nathan Myers <ncm-nospam@cantrip.org>
4963 * include/bits/stl_iterator.h
4964 (reverse_iterator::reverse_iterator()): Apply DR235: default
4965 constructor default-initializes data member. Instantiated on a
4966 pointer type, the member has to end up equal to zero.
4968 2003-06-06 Benjamin Kosnik <bkoz@redhat.com>
4970 * include/bits/stl_alloc.h: Cleanups.
4971 * include/ext/functional: Same.
4972 * include/ext/hash_map: Same.
4973 * include/ext/hash_set: Same.
4974 * include/ext/iterator: Same.
4975 * include/ext/memory: Same.
4976 * include/ext/numeric: Same.
4977 * include/ext/rb_tree: Same.
4978 * include/ext/ropeimpl.h: Same.
4979 * include/ext/slist: Same.
4980 * include/ext/stdio_filebuf.h: Same.
4981 * include/ext/stdio_sync_filebuf.h: Same.
4982 * include/ext/stl_rope.h: Move to...
4983 * include/ext/rope: ...here.
4984 * include/ext/stl_hash_fun.h: Move to...
4985 * include/ext/hash_fun.h: ...here.
4986 * include/ext/stl_hashtable.h: Move to...
4987 * include/ext/hashtable.h: ...here.
4988 * include/backward/hashtable.h: Reflect new names.
4989 * include/Makefile.am: Same.
4990 * include/Makefile.in: Regenerated.
4992 2003-06-05 Benjamin Kosnik <bkoz@redhat.com>
4995 * include/bits/fstream.tcc (_M_underflow): Fix for unbuffered.
4996 * include/bits/stl_algobase.h: Tweak.
4997 * include/std/std_fstream.h: Move _M_buf_size to...
4998 * include/std/std_streambuf.h: ...here. Modify.
4999 * include/bits/streambuf.tcc: Same.
5000 * testsuite/testsuite_hooks.h: Tweak.
5001 * testsuite/testsuite_io.h (constraint_filebuf): New.
5002 * testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Split into...
5003 * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: New.
5004 * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: New.
5005 * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: New.
5006 * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: New.
5007 * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: New.
5008 * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: New.
5009 * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Split into...
5010 * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: New.
5011 * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: New.
5012 * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: New.
5013 * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: New.
5014 * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: New.
5015 * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: New.
5016 * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Split into...
5017 * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: New.
5018 * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: New.
5019 * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: New.
5020 * testsuite/27_io/basic_filebuf/sgetn/char/2.cc: Split into...
5021 * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: New.
5022 * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: New.
5023 * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: New.
5024 * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: New.
5025 * testsuite/27_io/basic_filebuf/snextc/char/1.cc: Split into...
5026 * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: New.
5027 * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: New.
5028 * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: New.
5029 * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: New.
5030 * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: New.
5031 * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: New.
5032 * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Split into...
5033 * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: New.
5034 * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: New.
5035 * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: New.
5036 * testsuite/27_io/basic_filebuf/sputc/char/2.cc: Split into...
5037 * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: New.
5038 * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: New.
5039 * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: New.
5040 * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Split into...
5041 * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: New.
5042 * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: New.
5043 * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: New.
5044 * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: New.
5045 * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: New.
5046 * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: New.
5047 * testsuite/data/sgetc.txt: New.
5048 * testsuite/data/sgetn.txt: New.
5050 2003-06-05 Paolo Carlini <pcarlini@unitus.it>
5053 * include/bits/istream.tcc (operator>>(basic_istream&, _CharT*)):
5054 Deal with width() smaller than zero.
5055 * include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT),
5056 operator<<(basic_ostream&, char), operator<<(basic_ostream&, const
5057 _CharT*), operator<<(basic_ostream<_CharT, _Traits>&, const
5058 char*), operator<<(basic_ostream<char, _Traits>&, const char*),
5059 operator<<(basic_ostream, const basic_string&)): Likewise.
5061 * testsuite/27_io/basic_istream/extractors_character/char/
5062 (11095-i.cc, 11095-oa.cc, 11095-ob.cc, 11095-oc.cc): New.
5063 * testsuite/27_io/basic_ostream/inserters_character/char/
5064 (11095-oa.cc, 11095-ob.cc, 11095-oc.cc): New.
5065 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
5066 (11095-od.cc, 11095-oe.cc, 11095-of.cc): New.
5068 2003-06-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5070 * acinclude.m4 (GLIBCPP_CHECK_PCH): Only set glibcpp_PCHFLAGS if
5071 .gch compilation works.
5072 * aclocal.m4, configure: Regenerate.
5073 * testsuite_flags.in (--build-cxx): Use glibcpp_PCHFLAGS to
5074 initialize PCHFLAGS.
5076 2003-06-04 Paolo Carlini <pcarlini@unitus.it>
5078 * include/bits/basic_string.h (_M_fold, insert(iterator, _CharT),
5079 erase(iterator), erase(iterator, iterator), c_str,
5080 compare(const basic_string&)): Constify various variables.
5081 * include/bits/basic_string.tcc (_S_construct(_InIter, _InIter,
5082 const _Alloc&, input_iterator_tag), _M_destroy, _M_mutate,
5083 _S_create, resize, _M_replace, _M_replace_safe,
5084 append(const basic_string&), append(const basic_string&, size_type,
5085 size_type), append(const _CharT*, size_type), append(size_type,
5086 _CharT), operator+(const _CharT*, const basic_string&),
5087 operator+(_CharT, const basic_string&), replace(iterator, iterator,
5088 size_type, _CharT), find(const _CharT*, size_type, size_type),
5089 find(_CharT, size_type), rfind(const _CharT*, size_type, size_type),
5090 rfind(_CharT, size_type), compare(size_type, size_type,
5091 const basic_string&), compare(size_type, size_type,
5092 const basic_string&, size_type, size_type), compare(const _CharT*),
5093 compare(size_type, size_type, const _CharT*), compare(size_type,
5094 size_type, const _CharT*, size_type)): Likewise.
5096 2003-06-03 Benjamin Kosnik <bkoz@redhat.com>
5098 * include/bits/fstream.tcc (pbackfail): Make a rarely taken
5099 'if' branch less obscure.
5101 2003-06-02 Andrew Pinski <pinskia@physics.uc.edu>
5104 * config/cpu/i386/atomicity.h (__exchange_and_add): add intel
5106 * config/cpu/i486/atomicity.h (__exchange_and_add): Likewise.
5107 (__atomic_add): likewise.
5109 2003-06-02 Paolo Carlini <pcarlini@unitus.it>
5111 * include/bits/sstream.tcc (pbackfail): Minor clean up and
5112 reformatting, consistent with basic_filebuf::pbackfail.
5114 2003-06-02 Richard Kreckel <Richard.Kreckel@GiNaC.DE>
5117 * config/cpu/mips/atomicity.h: Change __attribute__ ((unused)) to
5118 __attribute__ ((__unused__)).
5119 * config/os/aix/atomicity.h: Likewise.
5121 2003-06-02 Paolo Carlini <pcarlini@unitus.it>
5124 * include/bits/fstream.tcc (pbackfail): If the pback buffer
5125 is already active don't try to store in it a second char.
5126 * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: New.
5128 * include/bits/fstream.tcc (pbackfail): Add unbuffered bits.
5130 2003-06-02 Paolo Carlini <pcarlini@unitus.it>
5132 * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Tweak
5135 2003-06-02 Paolo Carlini <pcarlini@unitus.it>
5137 * include/std/std_fstream.h (_M_destroy_pback): Use _M_in_beg
5138 instead of unnecessarily taking the address of _M_pback.
5139 (xsgetn): Simplify slightly for a single char pback buffer.
5141 2003-06-02 Paolo Carlini <pcarlini@unitus.it>
5143 * include/bits/sstream.tcc (seekoff): Remove four unnecessary
5144 variables and two 'if', clean up.
5146 2003-06-02 Paolo Carlini <pcarlini@unitus.it>
5148 * include/bits/sstream.tcc (seekpos): Test against _M_out_lim
5149 not _M_out_end, since the former actually points to the string
5150 end (vs buffer end).
5151 * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: New.
5153 2003-05-30 Phil Edwards <pme@gcc.gnu.org>
5155 * docs/doxygen/filter: New file.
5156 * docs/doxygen/filter.sed: New file.
5157 * docs/doxygen/run_doxygen: Add g flag to sed substitutions. Duh.
5158 * docs/doxygen/user.cfg.in (INPUT_FILTER): Point to new filter.
5159 * docs/html/documentation.html: Fix links to doxygen pages.
5161 2003-05-30 Paolo Carlini <pcarlini@unitus.it>
5163 * include/bits/fstream.tcc (_M_convert_to_external): Don't
5164 check for __ilen > 0.
5166 2003-05-29 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
5169 * include/bits/stl_iterator.h (class __normal_iterator):
5170 Don't inherit from iterator, add missing typedefs.
5172 2003-05-29 Paolo Carlini <pcarlini@unitus.it>
5174 * testsuite/24_iterators/reverse_iterator.cc: Split up, as follows.
5175 * testsuite/24_iterators/reverse_iterator/1.cc: New.
5176 * testsuite/24_iterators/reverse_iterator/2.cc: New.
5177 * testsuite/24_iterators/reverse_iterator/3.cc: New, from
5180 2003-05-27 Steve Ellcey <sje@cup.hp.com>
5182 * config/os/hpux/os_defines.h: Define _LIBUNWIND_STD_ABI if we are
5184 * libsupc++/eh_throw.cc: Don't call _Unwind_Resume_or_Rethrow if
5185 _LIBUNWIND_STD_ABI is set.
5187 2003-05-26 Brendan Kehoe <brendan@zen.org>
5189 * include/bits/locale_facets.tcc (do_get): Honor $22.2.6.3.3/8 and
5190 make sure the number of digits required after the decimal-point
5191 (if any) is exactly the value returned by frac_digits().
5192 * testsuite/22_locale/money_get/get/char/9.cc: New.
5193 * testsuite/22_locale/money_get/get/wchar_t/9.cc: New.
5195 2003-05-27 Jonathan Wakely <redi@gcc.gnu.org>
5197 * include/std/std_istream.h, include/std/std_ostream.h: Typo in
5200 2003-05-26 Benjamin Kosnik <bkoz@redhat.com>
5203 * include/std/std_fstream.h (basic_filebuf::_M_overflow): Remove.
5204 (_M_pback): No array necessary.
5205 * include/bits/fstream.tcc (basic_filebuf::_M_overflow): Add
5206 unbuffered case, coalesec into ...
5207 (basic_filebuf::overflow): ...this.
5208 * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: New.
5209 * testsuite/27_io/basic_filebuf/sputc/char/2.cc: Unbuffered.
5211 2003-05-24 Nathanael Nerode <neroden@gcc.gnu.org>
5213 * libsupc++/Makefile.am, libsupc++/cxxabi.h, libsupc++/del_op.cc,
5214 libsupc++/del_opnt.cc, libsupc++/del_opv.cc, libsupc++/del_opvnt.cc,
5215 libsupc++/eh_alloc.cc, libsupc++/eh_aux_runtime.cc,
5216 libsupc++/eh_catch.cc, libsupc++/eh_exception.cc,
5217 libsupc++/eh_globals.cc, libsupc++/eh_personality.cc,
5218 libsupc++/eh_term_handler.cc, libsupc++/eh_terminate.cc,
5219 libsupc++/eh_throw.cc, libsupc++/eh_type.cc,
5220 libsupc++/eh_unex_handler.cc, libsupc++/exception,
5221 libsupc++/new, libsupc++/new_handler.cc, libsupc++/new_op.cc,
5222 libsupc++/new_opnt.cc, libsupc++/new_opv.cc, libsupc++/new_opvnt.cc,
5223 libsupc++/pure.cc, libsupc++/tinfo.cc, libsupc++/tinfo2.cc,
5224 libsupc++/typeinfo, libsupc++/unwind-cxx.h, libsupc++/vec.cc:
5225 Replace "GNU CC" with "GCC".
5227 * include/backward/new.h: Replace "GNU CC" with "GCC".
5229 2003-05-22 Benjamin Kosnik <bkoz@redhat.com>
5232 * configure.in: Switch target to host, don't assume newlib.
5233 (target_alias): Remove.
5234 * configure: Regenerate.
5235 * acinclude.m4: Same.
5236 * aclocal.m4: Regenerate.
5237 * configure.target: Same. Rename to...
5238 * configure.host: This.
5240 2003-05-22 Paolo Carlini <pcarlini@unitus.it>
5242 * include/std/std_fstream.h (_S_pback_size): Remove definition.
5243 (_M_create_pback(), _M_destroy_pback()): Simplify for a single-char
5245 * include/bits/fstream.tcc (_S_pback_size): Remove declaration.
5246 * testsuite/27_io/basic_filebuf/3.cc: Remove explicit instantiation
5247 of _S_pback_size for systems with no COMDAT or weak support.
5248 * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
5249 * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
5250 * testsuite/27_io/basic_filebuf/underflow/10096.cc: Likewise.
5251 * testsuite/27_io/basic_fstream/3.cc: Likewise.
5252 * testsuite/27_io/basic_ifstream/3.cc: Likewise.
5253 * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Likewise.
5254 * testsuite/27_io/basic_ofstream/3.cc: Likewise.
5255 * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Likewise.
5256 * testsuite/27_io/basic_streambuf/3.cc: Likewise.
5258 2003-05-22 Paolo Carlini <pcarlini@unitus.it>
5260 * include/bits/fstream.tcc (_M_underflow): Simplify:
5261 !__testout implies _M_filepos == _M_in_end, therefore
5262 the first _M_file.seekoff call is never issued.
5264 2003-05-22 Benjamin Kosnik <bkoz@redhat.com>
5266 * configure.in: Sort cross table.
5267 * configure: Regenerate.
5269 2003-05-22 Brad Spencer <spencer@infointeractive.com>
5272 * configure.in: Add Solaris cross bits.
5274 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
5276 * libstdc++-v3/config/os/mingw32/os_defines.h
5277 (__GTHREAD_HIDE_WIN32API): Define to 1 by defualt.
5278 (NOMINMAX): Define. Update copyright year.
5280 2003-05-21 Paolo Carlini <pcarlini@unitus.it>
5282 * include/std/std_fstream.h (_M_set_buffer): Fix indentation.
5284 2003-05-21 Jonathan Wakely <redi@gcc.gnu.org>
5286 * docs/html/faq/index.html: Fix typo.
5287 * docs/html/faq/index.txt: Regenerate.
5289 2003-05-21 Jonathan Wakely <redi@gcc.gnu.org>
5291 * docs/html/test.html: Fix markup.
5293 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
5295 * libmath/stubs.c (hypot, hypotf, hypotl): Don't divide by
5297 Update copyright year.
5299 2003-05-20 Paolo Carlini <pcarlini@unitus.it>
5301 * testsuite/27_io/basic_filebuf/close/char/4.cc: Fix typo.
5303 2003-05-20 Paolo Carlini <pcarlini@unitus.it>
5305 * testsuite/27_io/basic_filebuf/close/char/5.cc: New file,
5306 further testing that upon filebuf::close() 27.8.1.1,3 is enforced.
5308 2003-05-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5310 * include/bits/stl_alloc.h (__default_alloc_template::_S_chunk_alloc):
5311 Cast via void* to avoid -Wcast-align warnings.
5312 (__default_alloc_template::_S_refill): Likewise.
5314 2003-05-20 Benjamin Kosnik <bkoz@redhat.com>
5316 * testsuite/README: Move to...
5317 * docs/html/test.html: ...here. Add documentation.
5318 * docs/html/install.html: Move testing bits out..
5319 * docs/html/documentation.html: Add separate testing link.
5320 * testsuite/performance: Add.
5321 * testsuite/performance/allocator.cc: New.
5322 * testsuite/performance/complex_norm.cc: New.
5323 * testsuite/performance/cout_insert_int.cc: New.
5324 * testsuite/performance/fstream_seek_write.cc: New.
5325 * testsuite/performance/ifstream_getline.cc: New.
5326 * testsuite/performance/map_create_fill.cc: New.
5327 * testsuite/performance/ofstream_insert_float.cc: New.
5328 * testsuite/performance/ofstream_insert_int.cc: New.
5329 * testsuite/performance/string_append.cc: New.
5330 * testsuite/lib/libstdc++-v3-dg.exp (v3-compute-tests): Filter
5333 2003-05-20 Gabriel Dos Reis <gdr@integrable-solutions.net>
5336 * include/std/std_complex.h (pow): Tidy.
5338 2003-05-19 Paolo Carlini <pcarlini@unitus.it>
5340 * testsuite/27_io/basic_filebuf/close/char/4.cc: New file, testing
5341 that upon filebuf::close() 27.8.1.1,3 is enforced.
5343 2003-05-15 Loren J. Rittle <ljrittle@acm.org>
5345 * testsuite/thread/pthread4.cc: Further tweak to avoid fini race.
5347 2003-05-15 Paolo Carlini <pcarlini@unitus.it>
5348 Nathan Myers <ncm@cantrip.org>
5350 * include/bits/fstream.tcc (_M_overflow): Rewrote to call
5351 _M_convert_to_external only once (_M_buf_size is now the size of
5352 the put area + 1 for the overflow char of a full area); call
5353 _M_set_buffer instead of _M_set_indeterminate.
5354 (setbuf): Don't accept a buffer smaller than 2 chars.
5355 (_M_underflow): Refill _M_buf_size - 1 chars; call _M_set_buffer,
5356 instead of _M_set_determinate.
5357 (open): Call _M_set_buffer, instead of _M_set_indeterminate.
5358 (seekoff): Likewise.
5359 * include/ext/stdio_filebuf.h (stdio_filebuf(int,
5360 std::ios_base::openmode, bool, size_t),
5361 stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t):
5363 * include/std/std_fstream.h (_M_set_indeterminate): Remove.
5364 (_M_set_determinate): Rename as _M_set_buffer, _M_buf_size ->
5366 * include/std/std_streambuf.h: Tweak _M_out_lim comment.
5367 * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Tweak, taking
5368 into account that, for _M_buf_size == BUFSIZ == 8192, the size of
5369 the put area is now BUFSIZ - 1.
5370 * testsuite/ext/stdio_filebuf_2.cc: Tweak, taking into account
5371 that now the smallest _M_buf_size is 2 (still fails, for the same
5374 2003-05-14 Loren J. Rittle <ljrittle@acm.org>
5376 * testsuite/thread/pthread4.cc: Tweak test.
5378 2003-05-13 Benjamin Kosnik <bkoz@redhat.com>
5380 * testsuite/27_io/ios_base/cons/copy_neg.cc: Remove
5381 excess errors dg marker, use dg-errors instead.
5382 * testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
5383 * testsuite/20_util/auto_ptr_neg.cc: Same.
5385 2003-05-12 Benjamin Kosnik <bkoz@redhat.com>
5387 * include/std/std_fstream.h (basic_filebuf::_M_codecvt): Add
5389 * include/bits/fstream.tcc (basic_filebuf::basic_filebuf):
5390 Initialize _M_codecvt.
5391 (basic_filebuf::imbue): Same.
5392 (basic_filebuf::showmanyc): Use it.
5393 (basic_filebuf::underflow): Use it.
5394 (basic_filebuf::_M_convert_to_external): Use it.
5395 (basic_filebuf::seekoff): Use it.
5396 (basic_filebuf::imbue): Use it, tweaks.
5397 * include/bits/localefwd.h (__check_facet): New.
5398 * include/bits/locale_classes.h: Tweaks.
5399 * include/bits/locale_facets.tcc: Tweaks.
5400 * include/bits/basic_ios.h (basic_ios::_M_check_facet): Remove.
5401 _M_fctype to _M_ctype, _M_fnumput to _M_num_put, _M_fnumget to
5402 _M_num_get. Change _M_check_facet to __check_facet. Tweaks.
5403 * include/bits/basic_ios.tcc: Same.
5404 * include/bits/istream.tcc: Same.
5405 * include/bits/ostream.tcc: Same.
5406 * include/std/std_streambuf.h: Same.
5407 * testsuite/27_io/basic_filebuf/imbue/char/2.cc: New.
5408 * testsuite/27_io/basic_filebuf/imbue/char/3.cc: New.
5409 * testsuite/27_io/basic_filebuf/imbue/wchar_t/1.cc: New.
5410 * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: New.
5411 * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: New.
5412 * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: New.
5414 2003-05-12 Paolo Carlini <pcarlini@unitus.it>
5416 * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Remove
5417 unnecessary includes and unused string literals.
5418 * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
5419 * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
5420 * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
5421 * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.
5423 2003-05-12 Benjamin Kosnik <bkoz@redhat.com>
5425 * include/bits/fstream.tcc (_M_overflow): Remove unbuffered bits.
5427 2003-05-12 Paolo Carlini <pcarlini@unitus.it>
5429 * include/std/std_fstream.h (_M_convert_to_external): Change
5430 to return bool, take two less streamsize parameters.
5431 * include/bits/fstream.tcc (_M_convert_to_external): Tweak
5432 consistently definition.
5433 (_M_overflow): Adjust call points.
5435 2003-05-12 Benjamin Kosnik <bkoz@redhat.com>
5437 * testsuite/27_io/basic_filebuf/underflow/10096.cc: Add weak bits.
5439 2003-05-11 Phil Edwards <pme@gcc.gnu.org>
5441 * testsuite/Makefile.am: Properly quote /both/ LD_RUN_PATHs.
5442 * testsuite/Makefile.in: Regenerate.
5444 2003-05-11 Phil Edwards <pme@gcc.gnu.org>
5446 * testsuite/Makefile.am: Properly quote LD_RUN_PATH.
5447 * testsuite/Makefile.in: Regenerate.
5449 2003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
5452 * include/c_std/std_cmath.h: #include <bits/cpp_type_traits.h>
5453 (acos): Handle integer argument.
5472 * include/bits/cpp_type_traits.h (__are_same<>): New traits.
5473 (__enable_if): Likewise.
5474 * testsuite/26_numerics/cmath/overloads.C: New test.
5476 2003-05-10 Petur Runolfsson <peturr02@ru.is>
5481 * include/bits/fstream.tcc (basic_file::_M_underflow): Add generic
5482 implementation, based on old wchar_t specialization, add support
5483 for codecvt::in() return value of codecvt_base::noconv, remove
5484 _M_file.sys_ungetc() call.
5485 * include/std/std_fstream.h (basic_file::underflow,
5486 basic_file::uflow, basic_file::_M_underflow): Remove
5487 specialization declarations, call _M_underflow from generic versions
5488 of underflow and uflow.
5489 * src/fstream.cc (basic_file::underflow, basic_file::uflow,
5490 basic_file::_M_underflow): Remove specializations.
5491 * src/Makefile.am (sources): Remove fstream.cc.
5492 * src/Makefile.in: Regenerated.
5493 * testsuite/27_io/basic_filebuf/underflow/10096.cc: New test.
5494 * testsuite/27_io/basic_filebuf/underflow/char/1.cc: New test.
5495 * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: New test.
5496 * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: New test.
5498 2003-05-10 Benjamin Kosnik <bkoz@redhat.com>
5500 * include/ext/stdio_filebuf.h (__stdio_filebuf): Remove stack
5502 * config/io/basic_file_stdio.h (__basic_file::xsgetn): Remove
5504 (__basic_file::xsputn): Same.
5505 (__basic_file::seekoff): Same.
5506 (__basic_file::seekpos): Same.
5507 (__basic_file::showmanyc): Same.
5508 * config/io/basic_file_stdio.cc: Same.
5509 * include/std/std_fstream.h: Same.
5510 * include/bits/fstream.tcc: Same.
5511 * src/fstream.cc: Same.
5512 * testsuite/27_io/basic_filebuf/sgetn/char/1.cc (test05): Tidy.
5514 2003-05-10 Petur Runolfsson <peturr02@ru.is>
5519 * include/ext/stdio_sync_filebuf.h: New file.
5520 (basic_stdiobuf): New.
5521 * include/Makefile.am (ext_headers): Add ext/stdio_sync_filebuf.h
5522 * include/Makefile.in: Regenerate.
5523 * include/bits/ios_base.h (Init::_S_create_buffers,
5524 Init::_S_destroy_buffers): Remove declarations.
5525 * src/globals.cc (buf_cout_sync, buf_cin_sync, buf_cerr_sync,
5526 buf_wcout_sync, buf_wcin_sync, buf_wcerr_sync): Define.
5527 * src/ios.cc (Init::_S_create_buffers,
5528 Init::_S_destroy_buffers): Remove.
5529 (Init::Init): Create and use syncronized buffers.
5530 (ios_base::sync_with_stdio): Destroy syncronized buffers,
5531 create and install unsyncronized buffers.
5532 * testsuite/27_io/objects/char/10.cc: New test.
5533 * testsuite/27_io/objects/char/9.cc: New test.
5534 * testsuite/27_io/objects/char/9661-1.cc: New test.
5535 * testsuite/27_io/objects/char/9661-2_xin.cc: New test.
5536 * testsuite/27_io/objects/char/9661-2_xin.in: New.
5537 * testsuite/27_io/objects/wchar_t/1.cc: New test.
5538 * testsuite/27_io/objects/wchar_t/10.cc: New test.
5539 * testsuite/27_io/objects/wchar_t/2.cc: New test.
5540 * testsuite/27_io/objects/wchar_t/2523-1_xin.cc: New test.
5541 * testsuite/27_io/objects/wchar_t/2523-1_xin.in: New.
5542 * testsuite/27_io/objects/wchar_t/2523-2_xin.cc: New test.
5543 * testsuite/27_io/objects/wchar_t/2523-2_xin.in: New.
5544 * testsuite/27_io/objects/wchar_t/3045.cc: New test.
5545 * testsuite/27_io/objects/wchar_t/3647.cc: New test.
5546 * testsuite/27_io/objects/wchar_t/3_xin.cc: New test.
5547 * testsuite/27_io/objects/wchar_t/3_xin.in: New.
5548 * testsuite/27_io/objects/wchar_t/4_xin.cc: New test.
5549 * testsuite/27_io/objects/wchar_t/4_xin.in: New.
5550 * testsuite/27_io/objects/wchar_t/5.cc: New test.
5551 * testsuite/27_io/objects/wchar_t/5268.cc: New test.
5552 * testsuite/27_io/objects/wchar_t/5280_xin.cc: New test.
5553 * testsuite/27_io/objects/wchar_t/5280_xin.in: New.
5554 * testsuite/27_io/objects/wchar_t/6.cc: New test.
5555 * testsuite/27_io/objects/wchar_t/6548_xin.cc: New test.
5556 * testsuite/27_io/objects/wchar_t/6548_xin.in: New.
5557 * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: New test.
5558 * testsuite/27_io/objects/wchar_t/6648-1_xin.in: New.
5559 * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: New test.
5560 * testsuite/27_io/objects/wchar_t/6648-2_xin.in: New.
5561 * testsuite/27_io/objects/wchar_t/7.cc: New test.
5562 * testsuite/27_io/objects/wchar_t/7744_xin.cc: New test.
5563 * testsuite/27_io/objects/wchar_t/7744_xin.in: New.
5564 * testsuite/27_io/objects/wchar_t/8.cc: New test.
5565 * testsuite/27_io/objects/wchar_t/9_xin.cc: New test.
5566 * testsuite/27_io/objects/wchar_t/9_xin.in: New.
5567 * testsuite/27_io/objects/wchar_t/9520.cc: New test.
5568 * testsuite/27_io/objects/wchar_t/9661-1.cc: New test.
5569 * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: New test.
5570 * testsuite/27_io/objects/wchar_t/9661-2_xin.in: New.
5571 * testsuite/27_io/objects/wchar_t/9662.cc: New test.
5572 * testsuite/ext/stdiobuf_char.cc: New test.
5573 * testsuite/ext/stdiobuf_wchar_t.cc: New test.
5575 2003-05-10 Paolo Carlini <pcarlini@unitus.it>
5577 * testsuite/27_io/basic_filebuf/close/char/3.cc: Remove
5578 unnecessary includes and unused string literals.
5579 * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
5581 2003-05-08 Paolo Carlini <pcarlini@unitus.it>
5583 * include/std/std_streambuf.h (setg, setp): Don't touch _M_mode.
5585 2003-05-07 Richard Henderson <rth@redhat.com>
5588 * libsupc++/eh_catch.cc (__cxa_begin_catch): Handle foreign exceptions.
5589 (__cxa_end_catch): Likewise.
5590 * libsupc++/eh_throw.cc (__cxa_rethrow): Likewise. Use
5591 _Unwind_Resume_or_Rethrow.
5592 * libsupc++/eh_personality.cc (empty_exception_spec): New.
5593 (PERSONALITY_FUNCTION): Don't ignore terminate or catch-all
5594 for _UA_FORCE_UNWIND. Honor empty filter spec for foreign
5595 exceptions. Don't push terminate/unexpected to cxa functions.
5596 (__cxa_call_unexpected): Remove foreign exception fixmes.
5598 2003-05-07 Benjamin Kosnik <bkoz@redhat.com>
5600 * testsuite/27_io/ios_base/cons: New.
5601 * testsuite/27_io/ios_base/cons/assign_neg.cc: New.
5602 * testsuite/27_io/ios_base/cons/copy_neg.cc: New.
5604 2003-05-07 Paolo Carlini <pcarlini@unitus.it>
5606 * include/std/std_fstream.h (_M_is_indeterminate): Remove.
5608 (basic_filebuf<char/wchar_t>::_M_underflow): Simplify: either
5609 there is no buffer or __testget == !__testinit.
5612 (basic_filebuf<char/wchar_t>::_M_underflow): _M_set_determinate()
5613 automatically sets, if appropriate, _M_out_cur == _M_in_cur.
5615 * include/std/std_fstream.h (_M_destroy_pback): Don't set
5616 unnecessarily _M_pback_cur_save and _M_pback_end_save.
5618 * include/std/std_fstream.h (_M_set_determinate): Minor tweak.
5620 * include/std/std_sstream.h (_M_sync): Minor tweak.
5622 * include/bits/fstream.tcc (close): No need to call
5623 _M_destroy_pback, setting _M_pback_init to false suffices
5626 2003-05-06 Benjamin Kosnik <bkoz@redhat.com>
5628 * include/bits/stl_algo.h: Enums as _S_.
5629 * include/bits/stl_tree.h: Same.
5630 * include/bits/stl_bvector.h: Same.
5631 * include/bits/ios_base.h: Same.
5632 * include/bits/stl_alloc.h: Same.
5633 * include/ext/stl_hashtable.h: Same.
5634 * src/ios.cc: And here.
5636 * include/std/std_sstream.h: Replace _M_really_sync to _M_sync.
5637 * include/bits/sstream.tcc: Same.
5639 * include/bits/basic_ios.h: Correct spacing for '< ctype'.
5641 * include/bits/locale_facets.tcc: Replace __temp to __tmp.
5643 * include/bits/locale_facets.h (__num_base): Remove protected.
5644 Use _S_[io]* names for enumerations.
5645 (_S_format_int): Remove.
5646 * include/bits/locale_facets.tcc: Same.
5647 * src/locale.cc: Same.
5649 * include/std/std_sstream.h (stringbuf::str): Tweak formatting.
5651 2003-05-06 Phil Edwards <pme@gcc.gnu.org>
5653 * docs/html/faq/index.html (3.10): Add note about mips atomicity.h.
5654 * docs/html/faq/index.txt: Regenerated.
5656 2003-05-06 Michael Ritzert <Ritzert@t-online.de>
5657 Matt Kraai <kraai@alumni.cmu.edu>
5659 * include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): Tweak.
5662 2003-05-06 Richard Sandiford <rsandifo@redhat.com>
5664 * configure.target (mips*): Use the generic atomicity.h by default.
5666 2003-05-05 Loren J. Rittle <ljrittle@acm.org>
5667 (Inspired by an alternate patch from Danny Smith.)
5669 * include/bits/stl_threads.h (_Atomic_swap): Kill it...
5670 (_Swap_lock_struct<>): ...and the horse it rode in on.
5671 * src/globals.cc (_Swap_lock_struct<>): Likewise.
5672 * include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): New
5673 member to support...
5674 * include/ext/ropeimpl.h (rope<>::c_str): Follow *all* memory
5675 visibility rules related to POSIX threads.
5676 * testsuite/thread/pthread7-rope.cc: New test.
5678 2003-05-04 Paolo Carlini <pcarlini@unitus.it>
5680 * testsuite/21_strings/basic_string/find/char/3.cc: New
5681 file, testing basic_string<char>::find_first_not_of.
5682 * testsuite/21_strings/basic_string/find/wchar_t/3.cc:
5683 Likewise for basic_string<wchar_t>.
5685 2003-05-03 Loren J. Rittle <ljrittle@acm.org>
5687 * testsuite/thread/pthread1.cc: Remove special case for FreeBSD.
5689 2003-05-02 Benjamin Kosnik <bkoz@redhat.com>
5691 * include/Makefile.am (CLEANFILES): Remove PCH files in target
5693 * include/Makefile.in: Regenerate.
5695 2003-05-02 Paolo Carlini <pcarlini@unitus.it>
5697 * include/std/std_sstream.h (str()): Tidy.
5699 2003-05-02 Nathan Myers <ncm@cantrip.org>
5700 Paolo Carlini <pcarlini@unitus.it>
5702 * include/bits/streambuf.tcc (__copy_streambufs): Rewrote.
5704 2003-05-02 Jonathan Wakely <redi@gcc.gnu.org>
5706 * include/bits/basic_string.h (swap): Remove redundant template
5707 parameters from declaration of non-template member function.
5709 2003-05-01 Phil Edwards <pme@gcc.gnu.org>
5711 * acconfig.h (_GLIBCPP_USE_NLS): New symbol.
5712 * configure.in: Move libintl.h header test...
5713 * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): ...to here. Gather all
5714 the NLS-related test results into one symbol.
5715 * src/functexcept.cc: Use it here.
5716 * aclocal.m4, config.h.in, configure: Regenerated.
5718 2003-05-01 Paolo Carlini <pcarlini@unitus.it>
5720 * include/bits/sstream.tcc (overflow): Instead of calling
5721 str(), then _M_string.reserve, thus copying the contents
5722 of the current buffer two times, just copy the latter in
5723 a temporary, then use the 'swap trick'.
5725 2003-05-01 Paolo Carlini <pcarlini@unitus.it>
5727 * include/std/std_sstream.h (str()): Revert the best of the
5728 previous 'improvement', incorrect due to the COW nature of
5729 v3 basic_string; simplify.
5731 2003-05-01 Paolo Carlini <pcarlini@unitus.it>
5733 * include/bits/streambuf.tcc (__copy_streambufs): Adjust the
5734 type of __avail to ptrdiff_t to avoid signed-unsigned warning.
5736 2003-05-01 Benjamin Kosnik <bkoz@redhat.com>
5738 * testsuite/abi_check.cc (check_version): Update known versions.
5739 Check added symbols for version_name != base version. Add missing
5740 symbols to incompatible list.
5742 2003-05-01 Benjamin Kosnik <bkoz@redhat.com>
5744 * acinclude.m4 (GLIBCPP_EXPORT_FLAGS): Remove -Winline.
5745 * aclocal.m4: Regenerated.
5746 * configure: Regenerated.
5748 2003-05-01 Paolo Carlini <pcarlini@unitus.it>
5750 * include/bits/streambuf.tcc (basic_streambuf::xsgetn):
5751 Const-ify some variables.
5752 (basic_streambuf::xsputn): Likewise; change the type of some
5753 variables to size_t.
5754 (__copy_streambufs): Change some variables to size_t.
5756 2003-05-01 Paolo Carlini <pcarlini@unitus.it>
5758 * include/std/std_sstream.h (str()): Avoid constructing
5759 a basic_string temporary not only when it would turn out
5760 to be zero-sized but also when identical to the current
5763 2003-05-01 Paolo Carlini <pcarlini@unitus.it>
5765 * include/ext/stdio_filebuf.h
5766 (stdio_filebuf(int, std::ios_base::openmode, bool, size_t),
5767 stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t)):
5768 Shorten a bit (-10 lines) by factoring out some code.
5770 2003-04-30 Phil Edwards <pme@gcc.gnu.org>
5772 * acinclude.m4: Add bit missing from previous patch.
5773 * aclocal.m4, configure: Regenerated.
5775 2003-04-29 Phil Edwards <pme@gcc.gnu.org>
5777 * docs/doxygen/mainpage.html: Bring up to date.
5778 * docs/doxygen/run_doxygen: Cosmetic tweaks. Work around a bug
5780 * docs/doxygen/user.cfg.in: Scanning the precompiled headers
5781 breaks everything. Don't scan them.
5782 * docs/html/documentation.html: Point to "Write after approval"
5785 2003-04-29 Phil Edwards <pme@gcc.gnu.org>
5787 * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Search for gettext outside
5788 of libc if message translations are being used. Fix info text in
5789 xieee_1003.1-2001 case.
5790 * aclocal.m4, configure: Regenerate.
5792 2003-04-29 Joel Sherrill <joel.sherrill@OARcorp.com>
5793 Loren J. Rittle <ljrittle@acm.org>
5794 Martin v. Loewis <martin@v.loewis.de>
5796 * config/cpu/i386/atomicity.h: New file.
5798 2003-04-29 Paolo Carlini <pcarlini@unitus.it>
5800 * include/bits/fstream.tcc (open): Change to single return.
5802 2003-04-29 Paolo Carlini <pcarlini@unitus.it>
5804 * include/std/std_sstream.h (underflow): Change to single return.
5806 2003-04-28 Paolo Carlini <pcarlini@unitus.it>
5808 * include/std/std_streambuf.h (_M_buf): is currently
5809 used only for basic_filebuf, therefore move it there.
5810 (basic_streambuf(), ~basic_streambuf()): Adjust.
5811 * include/std/std_fstream.h (_M_buf): Moved here.
5812 * include/std/std_sstream.h (setbuf): Don't set _M_buf,
5813 is actually redundant for basic_stringbuf.
5814 (_M_really_sync): Likewise.
5815 * include/bits/fstream.tcc (basic_filebuf()): Adjust.
5816 * include/bits/sstream.tcc (seekoff): Adjust.
5818 2003-04-28 Benjamin Kosnik <bkoz@redhat.com>
5820 * src/localename.cc: Standardize exception strings.
5821 * src/locale.cc: Same.
5823 * include/bits/basic_string.tcc: Same.
5824 * include/bits/basic_ios.tcc: Same.
5825 * include/std/std_bitset.h: Same.
5826 * include/ext/ropeimpl.h: Same.
5827 * include/bits/stl_vector.h: Same.
5828 * include/bits/stl_deque.h: Same.
5829 * include/bits/stl_bvector.h: Same.
5830 * config/locale/generic/c_locale.cc: Same.
5831 * config/locale/gnu/c_locale.cc: Same.
5832 * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
5834 * testsuite/testsuite_hooks.cc (__gnu_cxx_test): Modify.
5836 2003-04-28 Paolo Carlini <pcarlini@unitus.it>
5838 * include/std/std_streambuf.h (_M_buf_size): is currently
5839 used only for basic_filebuf, therefore move it there.
5840 (basic_streambuf(), ~basic_streambuf()): Adjust.
5841 * include/std/std_fstream.h (_M_buf_size): Moved here.
5842 * include/bits/fstream.tcc (basic_filebuf()): Adjust.
5844 2003-04-28 Paolo Carlini <pcarlini@unitus.it>
5846 * include/bits/streambuf.tcc (__copy_streambufs): Don't use
5847 _M_buf_size (synced input is now correctly dealt with
5848 elsewhere); when the output buffer is full don't fall back
5849 to a snextc-sputc loop, call overflow instead.
5851 2003-04-28 Paolo Carlini <pcarlini@unitus.it>
5853 * include/bits/sstream.tcc (pbackfail): Shorten a bit (6 lines)
5854 the innermost 'if' by factoring out some code.
5856 2003-04-28 Phil Edwards <pme@gcc.gnu.org>
5858 * configure.in: Test for libintl.h.
5859 * include/bits/c++config: Define __N for everybody.
5860 * include/bits/basic_string.h, include/bits/stl_bvector.h,
5861 include/bits/stl_deque.h, include/bits/stl_vector.h,
5862 include/std/std_bitset.h: Wrap all __throw* text with __N.
5863 * po/Makefile.am (pot): New rule, mostly working.
5864 * src/functexcept.cc: Call gettext on all __throw* arguments when
5865 -fexceptions is in effect.
5866 * po/Makefile.in, config.h.in, configure: Regenerate.
5868 2003-04-28 Petur Runolfsson <peturr02@ru.is>
5871 * include/bits/ios_base.h (Init::_S_ios_create,
5872 Init::_S_ios_destroy): Remove declarations.
5873 (Init::_S_create_buffers,
5874 Init::_S_destroy_buffers): Declare
5875 * src/ios.cc (Init::_S_ios_create): Remove
5876 (Init::_S_create_buffers): Create buffers and add to streams.
5877 (Init::_S_ios_destroy): Rename to...
5878 (Init::_S_destroy_buffers): this.
5879 (Init::Init): Only construct streams once.
5880 (Init::~Init): Flush streams, don't destroy them.
5881 (ios_base::sync_with_stdio): Don't destroy streams, only buffers.
5882 * testsuite/27_io/ios_base/sync_with_stdio/9523.cc: New test.
5883 * testsuite/27_io/objects/char/5.cc: New test.
5884 * testsuite/27_io/objects/char/5268.cc: Avoid undefined behavior.
5885 * testsuite/27_io/objects/char/6.cc: New test.
5886 * testsuite/27_io/objects/char/7.cc: New test.
5888 2003-04-28 Benjamin Kosnik <bkoz@redhat.com>
5890 * testsuite/27_io/objects/char/8.cc: New test.
5892 2003-04-28 Benjamin Kosnik <bkoz@redhat.com>
5894 * testsuite/22_locale/codecvt/unicode/char.cc: Remove bom usage.
5895 * testsuite/22_locale/codecvt/unicode/wchar_t.cc: Same.
5897 2003-04-27 Benjamin Kosnik <bkoz@redhat.com>
5899 * include/std/std_fstream.h (basic_filebuf): _M_pback_destroy to
5900 _M_destroy_pback. _M_pback_create to
5901 _M_create_pback. _M_underflow_common to
5902 _M_underflow. _M_really_overflow to _M_overflow.
5903 * include/bits/fstream.tcc: Same.
5904 * src/fstream.cc: Same.
5905 * include/std/std_streambuf.h (basic_streambuf): _M_in_cur_move to
5906 _M_move_in_cur. _M_out_cur_move to _M_move_out_cur.
5907 * include/bits/streambuf.tcc: Same.
5908 * include/bits/fstream.tcc: Same.
5909 * include/bits/sstream.tcc: Same.
5911 2003-04-27 Benjamin Kosnik <bkoz@redhat.com>
5913 * include/bits/locale_classes.h (locale::_Impl): Change _M_names
5914 from fixed size array.
5915 (locale): Change _S_categories as well.
5917 * include/bits/locale_facets.tcc: Tweak.
5918 * config/locale/gnu/c_locale.cc: Assign _S_categories.
5919 * config/locale/generic/c_locale.cc: Same.
5920 * src/locale.cc: Tweak.
5921 * src/globals.cc: Change facet_name to name_vec, add names_c.
5922 * src/localename.cc: Use them.
5923 (locale::_Impl::~_Impl): Destroy _M_names.
5924 (locale::_Impl::_Impl): Create _M_names.
5926 2003-04-27 Andreas Schwab <schwab@suse.de>
5928 * config/locale/ieee_1003.1-2001/codecvt_specializations.h
5929 (__enc_traits): Use __ibom and __ebom instead of ignoring them.
5931 2003-04-27 Nathan Myers <ncm@cantrip.org>
5933 Move some basic_string members out of line because
5934 they are too big to reasonably be inline.
5935 * include/bits/basic_string.h
5936 (assign(const basic_string&, size_type, size_type),
5937 assign(const _CharT*, size_type),
5938 insert(size_type, const basic_string&, size_type, size_type),
5939 insert(size_type, const _CharT*, size_type),
5940 replace(size_type, size_type, const _CharT*, size_type)):
5941 Move from here to...
5942 * include/bits/basic_string.tcc: ...here.
5944 2003-04-26 Paolo Carlini <pcarlini@unitus.it>
5946 * include/bits/fstream.tcc (pbackfail): Shorten a bit (10 lines)
5947 the innermost 'if' by factoring out some code.
5949 2003-04-26 Paolo Carlini <pcarlini@unitus.it>
5951 * include/bits/streambuf.tcc (__copy_streambufs): Don't
5952 use in_avail(), simplify.
5954 2003-04-26 Paolo Carlini <pcarlini@unitus.it>
5956 * include/std/std_sstream.h (setbuf): don't set _M_buf_size,
5957 in basic_stringbuf it's unused.
5959 * include/std/std_sstream.h (underflow): consistently use
5960 _M_in_cur, not gptr().
5962 2003-04-25 Ranjit Mathew <rmathew@hotmail.com>
5963 Phil Edwards <pme@gcc.gnu.org>
5965 * testsuite_flags.in: Guard against the possibility
5966 of having "xgcc" as a part of a folder name in the
5967 path to the GCC build folder.
5968 * testsuite/Makefile.am: Likewise.
5969 * testsuite/Makefile.in: Regenerated.
5971 2003-04-25 Benjamin Kosnik <bkoz@redhat.com>
5974 * include/std/std_fstream.h (basic_filebuf::is_open): Add throw()
5975 exception specifications.
5976 (basic_filebuf::close): Same.
5977 (basic_filebuf::_M_pback_destroy): Same.
5978 (basic_filebuf::_M_destroy_internal_buffer): Same.
5979 (basic_filebuf): Remove __res_type typedef.
5980 * src/fstream.cc: Same.
5981 * include/bits/fstream.tcc
5982 (basic_filebuf::_M_convert_to_external): Simplify.
5983 (basic_filebuf::seekoff): Use has_facet before use_facet.
5984 (basic_filebuf::close): Add exception specification of throw().
5985 * testsuite/27_io/basic_filebuf/cons: New.
5986 * testsuite/27_io/basic_filebuf/cons/wchar_t: New.
5987 * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: New.
5988 * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: New.
5989 * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: New.
5991 2003-04-25 Benjamin Kosnik <bkoz@redhat.com>
5993 * include/bits/locale_classes.h
5994 (locale::_S_extra_categories_size): Remove.
5995 * src/locale.cc: Remove _S_extra_categories_size.
5996 * src/localename.cc: Same.
5997 * config/locale/gnu/c_locale.cc: Same.
5998 * config/locale/generic/c_locale.cc: Same.
6000 2003-04-24 Richard Sandiford <rsandifo@redhat.com>
6002 * src/localename.cc (__gnu_cxx::facet_vec): Correct types.
6004 2003-04-24 Phil Edwards <pme@gcc.gnu.org>
6006 * docs/html/17_intro/howto.html: Update some links.
6007 * docs/html/18_support/howto.html: Link doxygen numeric_limits notes.
6008 * docs/html/27_io/howto.html: Link doxygen stdio_filebuf notes.
6009 * docs/html/ext/howto.html: Link to demangler notes and API.
6010 * docs/html/faq/index.html: Remove trailing whitespace.
6011 (1.4, 2.4, 3.8, 4.1): Bring up to date.
6012 (5.6): Change to a bulleted list.
6014 * docs/html/faq/index.txt, docs/html/documentation.html,
6015 docs/html/17_intro/porting.html: Regenerate.
6017 2003-04-23 Paolo Carlini <pcarlini@unitus.it>
6019 * testsuite/27_io/basic_filebuf/3.cc: _S_pback_size now
6020 belongs to basic_filebuf.
6021 * testsuite/27_io/basic_fstream/3.cc: Likewise.
6022 * testsuite/27_io/basic_ifstream/3.cc: Likewise.
6023 * testsuite/27_io/basic_ios/3.cc: Remove _S_pback_size
6024 instantiation (now belongs to basic_filebuf).
6025 * testsuite/27_io/basic_iostream/3.cc: Likewise.
6026 * testsuite/27_io/basic_istream/3.cc: Likewise.
6027 * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
6028 _S_pback_size now belongs to basic_filebuf.
6029 * testsuite/27_io/basic_istringstream/3.cc: Remove _S_pback_size
6030 instantiation (now belongs to basic_filebuf).
6031 * testsuite/27_io/basic_ofstream/3.cc: _S_pback_size now
6032 belongs to basic_filebuf.
6033 * testsuite/27_io/basic_ostream/3.cc: Remove _S_pback_size
6034 instantiation (now belongs to basic_filebuf).
6035 * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc:
6036 _S_pback_size now belongs to basic_filebuf.
6037 * testsuite/27_io/basic_ostringstream/3.cc: Remove _S_pback_size
6038 instantiation (now belongs to basic_filebuf).
6039 * testsuite/27_io/basic_streambuf/3.cc: _S_pback_size now belongs
6041 * testsuite/27_io/basic_stringbuf/3.cc: Remove _S_pback_size
6042 instantiation (now belongs to basic_filebuf).
6043 * testsuite/27_io/basic_stringstream/3.cc: Likewise.
6045 2003-04-23 Benjamin Kosnik <bkoz@redhat.com>
6047 * configure.in: Move GLIBCPP_CHECK_PCH before native/cross conditions.
6048 * configure: Regenerated.
6050 2003-04-23 Benjamin Kosnik <bkoz@redhat.com>
6052 * config/locale/generic/c_locale.h (__convert_from_v): Use
6055 2003-04-23 Phil Edwards <pme@gcc.gnu.org>
6057 * docs/html/ext/howto.html ('LWG Issues'): Add issue 60, partial
6058 implementation only.
6059 * include/bits/istream.tcc (putback, unget, sync, tellg, seekg):
6060 Comment and change to comply with DR 60 and the effect on gcount().
6061 * include/std/std_istream.h: Update comments.
6062 * testsuite/27_io/basic_istream/putback/char/1.cc (test01): Add
6063 comments about reasons for tests. Test sync() against gcount().
6064 * testsuite/27_io/basic_istream/seekg/char/2.cc: New file, test
6065 for effect on gcount().
6066 * testsuite/27_io/basic_istream/tellg/char/2.cc: New file, test
6067 for effect on gcount().
6069 2003-04-22 Loren J. Rittle <ljrittle@acm.org>
6071 * testsuite/27_io/basic_filebuf/close/char/9964.cc (test_07):
6074 2003-04-22 Paolo Carlini <pcarlini@unitus.it>
6076 * include/std/std_streambuf.h (_S_pback_size, _M_pback,
6077 _M_pback_cur_save, _M_pback_end_save, _M_pback_init,
6078 _M_pback_create(), _M_pback_destroy()): Move to basic_filebuf.
6079 (basic_streambuf::basic_streambuf()): Adjust.
6080 * include/std/std_fstream.h (_S_pback_size, _M_pback,
6081 _M_pback_cur_save, _M_pback_end_save, _M_pback_init,
6082 _M_pback_create(), _M_pback_destroy()): Moved here
6083 from basic_streambuf.
6084 * include/bits/fstream.tcc (basic_filebuf::basic_filebuf()):
6086 (basic_filebuf::_S_pback_size): Add declaration.
6087 * include/bits/streambuf.tcc (basic_streambuf::_S_pback_size):
6090 2003-04-21 Paolo Carlini <pcarlini@unitus.it>
6092 Consistently use _M_in_beg instead of eback(), _M_in_cur
6093 instead of gptr(), and so on.
6094 * include/bits/fstream.tcc (pbackfail, imbue): Here.
6095 * include/bits/sstream.tcc (pbackfail, seekoff, seekpos): Ditto.
6096 * include/bits/streambuf.tcc (sbumpc, sputbackc,
6097 __copy_streambufs): Ditto.
6098 * include/std/std_streambuf.h (sgetc): Ditto.
6100 2003-04-21 Paolo Carlini <pcarlini@unitus.it>
6102 * include/bits/sstream.tcc (pbackfail, overflow):
6105 2003-04-21 Paolo Carlini <pcarlini@unitus.it>
6107 * include/std/std_streambuf.h (uflow()): It's used only by
6108 basic_stringbuf (i.e., basic_filebuf provide its own uflow()),
6109 therefore do not consider the _M_buf_unified == true case.
6111 * include/std/std_streambuf.h (sgetc()): Restore __ret variable.
6113 2003-04-20 Paolo Carlini <pcarlini@unitus.it>
6115 * docs/html/ext/howto.html ('LWG Issues'):
6116 Add issues 19, 90, 171, 231, 271.
6118 2003-04-20 Paolo Carlini <pcarlini@unitus.it>
6120 * include/bits/sstream.tcc (pbackfail): Remove redundant
6121 NULL pointer check from test involving _M_in_*.
6122 (overflow, seekoff, seekpos): Const qualify bool variables.
6123 * include/std/std_sstream.h (underflow): Remove redundant
6124 NULL pointer check from test involving _M_in_*.
6125 (_M_really_sync): Const qualify bool variables.
6126 * src/fstream.cc (_M_underflow_common): Remove redundant
6127 NULL pointer check from test involving _M_in_*, const qualify
6130 * include/std/std_streambuf.h (sgetc): Remove redundant
6133 2003-04-18 Paolo Carlini <pcarlini@unitus.it>
6135 According to 5.9 para 2 (second bullet) for pointers p, q
6136 pointing to the same type, with p == 0 and q == 0, (p < q)
6138 * include/bits/fstream.tcc (close, overflow, _M_really_overflow,
6139 seekoff): Remove redundant NULL pointer checks from tests
6140 involving _M_out_* and _M_in_*, const qualify bool variables.
6141 (showmanyc, pbackfail, _M_convert_to_external, imbue): Const
6142 qualify bool variables.
6143 * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc, sputc):
6144 Remove redundant NULL pointer checks from tests involving
6145 _M_out_* and _M_in_*, const qualify bool variables.
6146 * include/std/std_fstream.h (sync): Likewise.
6147 (_M_is_indeterminate): Const qualify bool variables.
6148 * include/std/std_streambuf.h (sgetc, uflow): Remove redundant
6149 NULL pointer checks from tests involving _M_out_* and _M_in_*,
6150 const qualify bool variables.
6151 (_M_in_cur_move, _M_out_cur_move, uflow): Const qualify bool
6154 2003-04-18 Loren J. Rittle <ljrittle@acm.org>
6156 * include/c_std/std_cmath.h (C99 FP capture): Only undefine said
6157 C99 FP macros, if actually captured.
6159 * docs/html/17_intro/porting.texi (_GLIBCPP_USE_C99_CHECK): New macro.
6160 (_GLIBCPP_USE_C99_DYNAMIC): New macro.
6161 (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
6162 (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
6163 * config/os/bsd/freebsd/os_defines.h (_GLIBCPP_USE_C99_CHECK):
6165 (_GLIBCPP_USE_C99_DYNAMIC): New macro.
6166 (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
6167 (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
6168 * include/c_std/std_cstdlib.h: Use new macros.
6169 * include/c_std/std_cstdio.h: Use new macros.
6170 * include/c_std/std_cwchar.h: Use new macros.
6172 2003-04-17 Benjamin Kosnik <bkoz@redhat.com>
6175 * include/bits/ostream.tcc: Catch all exceptions for formatted
6176 output, instead of std::exception and derivatives.
6177 * include/bits/istream.tcc: Same.
6178 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
6179 * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
6180 * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
6181 * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
6182 * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
6183 * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
6186 2003-04-17 Phil Edwards <pme@gcc.gnu.org>
6188 * include/bits/c++config: Minor cosmetic tweaks.
6190 2003-04-17 Loren J. Rittle <ljrittle@acm.org>
6192 * testsuite_flags.in (PCHFLAGS): Find PCH in new home.
6193 * include/Makefile.am (pch_input): Find in ${target_builddir}.
6194 (pch_output): Rename to...
6195 (pch_output_builddir): ..this. Find in ${target_builddir}.
6196 (pch_source): Tweak.
6197 (pch_build): Key off a built file.
6198 (pch_output rule): Rename to...
6199 (pch_input rule): ...this. Produce ${pch_output_builddir}
6200 instead of ${pch_output}.
6201 (install-pch rule): Install ${pch_output_builddir}.
6202 * include/Makefile.in: Regenerated.
6204 2003-04-17 Paolo Carlini <pcarlini@unitus.it>
6206 * include/std/std_streambuf.h (setp): _M_out_lim, being
6207 the end limit of used put area, is set equal to _M_out_beg.
6209 2003-04-16 Benjamin Kosnik <bkoz@redhat.com>
6211 * acinclude.m4 (GLIBCPP_CHECK_PCH): New.
6212 * aclocal.m4: Regenerated.
6213 * configure.in: Remove old demangler bits.
6215 * configure: Regenerate.
6216 * config.h.in: Regenerate.
6217 * include/Makefile.am (allstamps): Now allstamped.
6218 (allcreated): Define this.
6219 (all-local): Use 'em.
6220 Conditionally define pch_build, pch_install based on
6222 (${pch_output}): New rule.
6223 (install-pch): New rule.
6224 (install-headers): New rule.
6225 (install-data-local): Install headers and conditionally pch.
6226 * include/Makefile.in: Regenerate.
6227 * testsuite_flags.in (--build-cxx): Use pch file.
6229 2003-04-16 Jonathan Wakely <redi@gcc.gnu.org>
6231 * docs/html/ext/sgiexts.html: Fix path to stylesheet.
6233 2003-04-15 Benjamin Kosnik <bkoz at redhat dot com>
6234 Paolo Carlini <pcarlini at unitus dot it>
6237 * docs/html/27_io/howto.html
6238 ('The buffering is screwing up my program!'): Explain that
6239 opening counts as an I/O operation.
6241 2003-04-15 Andreas Tobler <a.tobler@schweiz.ch>
6243 * testsuite/thread/pthread1.cc: Enable for darwin test.
6244 * testsuite/thread/pthread2.cc: Same.
6245 * testsuite/thread/pthread3.cc: Same.
6246 * testsuite/thread/pthread4.cc: Same.
6247 * testsuite/thread/pthread5.cc: Same.
6248 * testsuite/thread/pthread6.cc: Same.
6250 2003-04-15 Loren J. Rittle <ljrittle@acm.org>
6253 * include/c_std/std_cmath.h (__gnu_cx::__c99_binding): New namespace.
6254 Populate it with multiple legal ways to obtain the C99 float
6255 transcendentals. Use them instead of direct global reference.
6256 (C99 FP capture): Guard usage with _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC.
6257 * docs/html/17_intro/porting.texi
6258 (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
6259 (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
6260 (_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC): New macro.
6261 * config/os/bsd/freebsd/os_defines.h
6262 (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
6263 (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
6264 * testsuite/26_numerics/c_math_dynamic.cc: New file.
6266 2003-04-14 Andreas Tobler <toa@pop.agri.ch>
6267 Benjamin Kosnik <bkoz@redhat.com>
6269 * config/os/generic/ctype_inline.h: Fix.
6271 2003-04-14 Benjamin Kosnik <bkoz@redhat.com>
6273 * testsuite/testsuite_hooks.h
6274 (__gnu_cxx_test::run_test_wrapped_generic_locale_exception_catcher):
6275 Change to try_named_locale.
6276 * testsuite/testsuite_hooks.cc (__gnu_cxx_test): Same.
6278 * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Use
6280 * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
6281 * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
6282 * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Same.
6283 * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Same.
6284 * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Same.
6285 * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Same.
6286 * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Same.
6287 * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Same.
6288 * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Same.
6289 * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Same.
6290 * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Same.
6291 * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Same.
6292 * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Same.
6293 * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Same.
6294 * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Same.
6295 * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
6296 * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
6297 * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
6298 * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Same.
6299 * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Same.
6300 * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Same.
6301 * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Same.
6302 * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Same.
6303 * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Same.
6304 * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Same.
6305 * testsuite/22_locale/collate/compare/char/1.cc: Same.
6306 * testsuite/22_locale/collate/compare/char/2.cc: Same.
6307 * testsuite/22_locale/collate/compare/char/3.cc: Same.
6308 * testsuite/22_locale/collate/compare/wchar_t/1.cc: Same.
6309 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Same.
6310 * testsuite/22_locale/collate/compare/wchar_t/3.cc: Same.
6311 * testsuite/22_locale/collate/hash/char/2.cc: Same.
6312 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Same.
6313 * testsuite/22_locale/collate/transform/char/2.cc: Same.
6314 * testsuite/22_locale/collate/transform/char/3.cc: Same.
6315 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Same.
6316 * testsuite/22_locale/collate/transform/wchar_t/3.cc: Same.
6317 * testsuite/22_locale/collate_byname/1.cc: Same.
6318 * testsuite/22_locale/ctype/is/char/2.cc: Same.
6319 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
6320 * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Same.
6321 * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Same.
6322 * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Same.
6323 * testsuite/22_locale/facet/2.cc: Same.
6324 * testsuite/22_locale/locale/cons/2.cc: Same.
6325 * testsuite/22_locale/locale/cons/4.cc: Same.
6326 * testsuite/22_locale/locale/cons/5.cc: Same.
6327 * testsuite/22_locale/locale/cons/7.cc: Same.
6328 * testsuite/22_locale/locale/cons/7222-c.cc: Same.
6329 * testsuite/22_locale/locale/cons/7222-env.cc: Same.
6330 * testsuite/22_locale/locale/global_locale_objects/2.cc: Same.
6331 * testsuite/22_locale/messages/members/char/1.cc: Same.
6332 * testsuite/22_locale/messages/members/char/2.cc: Same.
6333 * testsuite/22_locale/messages/members/char/3.cc: Same.
6334 * testsuite/22_locale/messages_byname/1.cc: Same.
6335 * testsuite/22_locale/money_get/get/char/1.cc: Same.
6336 * testsuite/22_locale/money_get/get/char/2.cc: Same.
6337 * testsuite/22_locale/money_get/get/char/3.cc: Same.
6338 * testsuite/22_locale/money_get/get/char/4.cc: Same.
6339 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Same.
6340 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Same.
6341 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Same.
6342 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Same.
6343 * testsuite/22_locale/money_put/put/char/1.cc: Same.
6344 * testsuite/22_locale/money_put/put/char/2.cc: Same.
6345 * testsuite/22_locale/money_put/put/char/3.cc: Same.
6346 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Same.
6347 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Same.
6348 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Same.
6349 * testsuite/22_locale/moneypunct/members/char/2.cc: Same.
6350 * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Same.
6351 * testsuite/22_locale/moneypunct_byname/1.cc: Same.
6352 * testsuite/22_locale/num_get/get/char/1.cc: Same.
6353 * testsuite/22_locale/num_get/get/char/2.cc: Same.
6354 * testsuite/22_locale/num_get/get/char/3.cc: Same.
6355 * testsuite/22_locale/num_get/get/char/5.cc: Same.
6356 * testsuite/22_locale/num_get/get/char/6.cc: Same.
6357 * testsuite/22_locale/num_get/get/wchar_t/1.cc: Same.
6358 * testsuite/22_locale/num_get/get/wchar_t/2.cc: Same.
6359 * testsuite/22_locale/num_get/get/wchar_t/3.cc: Same.
6360 * testsuite/22_locale/num_get/get/wchar_t/5.cc: Same.
6361 * testsuite/22_locale/num_get/get/wchar_t/6.cc: Same.
6362 * testsuite/22_locale/num_put/put/char/1.cc: Same.
6363 * testsuite/22_locale/num_put/put/char/2.cc: Same.
6364 * testsuite/22_locale/num_put/put/char/3.cc: Same.
6365 * testsuite/22_locale/num_put/put/char/5.cc: Same.
6366 * testsuite/22_locale/num_put/put/wchar_t/1.cc: Same.
6367 * testsuite/22_locale/num_put/put/wchar_t/2.cc: Same.
6368 * testsuite/22_locale/num_put/put/wchar_t/3.cc: Same.
6369 * testsuite/22_locale/num_put/put/wchar_t/5.cc: Same.
6370 * testsuite/22_locale/numpunct/members/char/1.cc: Same.
6371 * testsuite/22_locale/numpunct/members/char/2.cc: Same.
6372 * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Same.
6373 * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Same.
6374 * testsuite/22_locale/numpunct_byname/1.cc: Same.
6375 * testsuite/22_locale/numpunct_byname/2.cc: Same.
6376 * testsuite/22_locale/time_get/date_order/char/1.cc: Same.
6377 * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Same.
6378 * testsuite/22_locale/time_get/get_date/char/1.cc: Same.
6379 * testsuite/22_locale/time_get/get_date/char/2.cc: Same.
6380 * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Same.
6381 * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Same.
6382 * testsuite/22_locale/time_get/get_monthname/char/1.cc: Same.
6383 * testsuite/22_locale/time_get/get_monthname/char/2.cc: Same.
6384 * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Same.
6385 * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Same.
6386 * testsuite/22_locale/time_get/get_time/char/1.cc: Same.
6387 * testsuite/22_locale/time_get/get_time/char/2.cc: Same.
6388 * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Same.
6389 * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Same.
6390 * testsuite/22_locale/time_get/get_weekday/char/1.cc: Same.
6391 * testsuite/22_locale/time_get/get_weekday/char/2.cc: Same.
6392 * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Same.
6393 * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Same.
6394 * testsuite/22_locale/time_get/get_year/char/1.cc: Same.
6395 * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Same.
6396 * testsuite/22_locale/time_put/put/char/1.cc: Same.
6397 * testsuite/22_locale/time_put/put/char/2.cc: Same.
6398 * testsuite/22_locale/time_put/put/char/3.cc: Same.
6399 * testsuite/22_locale/time_put/put/char/4.cc: Same.
6400 * testsuite/22_locale/time_put/put/char/5.cc: Same.
6401 * testsuite/22_locale/time_put/put/char/6.cc: Same.
6402 * testsuite/22_locale/time_put/put/char/7.cc: Same.
6403 * testsuite/22_locale/time_put/put/char/8.cc: Same.
6404 * testsuite/22_locale/time_put/put/wchar_t/1.cc: Same.
6405 * testsuite/22_locale/time_put/put/wchar_t/2.cc: Same.
6406 * testsuite/22_locale/time_put/put/wchar_t/3.cc: Same.
6407 * testsuite/22_locale/time_put/put/wchar_t/4.cc: Same.
6408 * testsuite/22_locale/time_put/put/wchar_t/5.cc: Same.
6409 * testsuite/22_locale/time_put/put/wchar_t/6.cc: Same.
6410 * testsuite/22_locale/time_put/put/wchar_t/7.cc: Same.
6411 * testsuite/22_locale/time_put/put/wchar_t/8.cc: Same.
6412 * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Same.
6413 * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Same.
6414 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc: Same.
6415 * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Same.
6416 * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Same.
6418 2003-04-14 Andreas Tobler <toa@pop.agri.ch>
6420 * configure.target (_cpu_incdir_fullpath): Solaris 2.9 uses
6421 solaris includes, not generic.
6423 2003-04-14 Loren J. Rittle <ljrittle@acm.org>
6425 * testsuite/26_numerics/c99_classification_macros_c.cc: Add XFAIL.
6427 * include/std/std_bitset.h (_M_do_find_next): Fix -Wall nit.
6428 * include/bits/concept_check.h: Fix multi-line comment.
6429 * testsuite/17_intro/headers.cc (dg-options): Add -Wall -Wsystem-header
6430 when target is *-*-freebsd*.
6432 2003-04-14 Nathan Myers <ncm@cantrip.org>
6433 Paolo Carlini <pcarlini@unitus.it>
6435 PR libstdc++/9701 (in_avail())
6436 * include/std/std_streambuf.h (in_avail): Simplify, in_avail
6437 doesn't care if there is anything in some putback cell.
6438 * testsuite/27_io/basic_streambuf/in_avail/char/9701-3.cc: Add.
6440 * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Remove some
6441 unused string literals.
6443 2003-04-14 Paolo Carlini <pcarlini@unitus.it>
6445 * include/bits/fstream.tcc (basic_filebuf::setbuf): Don't set
6446 _M_out_end, _M_set_indeterminate() does it.
6448 2003-04-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6450 * os/hpux/ctype_inline.h: Replace with gnu-linux version.
6452 2003-04-12 David Edelsohn <edelsohn@gnu.org>
6454 * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
6455 Change basic_streambuf instantiation to "unsigned char".
6456 * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
6458 2003-04-12 Paolo Carlini <pcarlini@unitus.it>
6460 Remove _M_buf_size_opt, use directly _M_buf_size instead.
6461 * include/bits/fstream.tcc
6462 (basic_filebuf::_M_allocate_internal_buffer, setbuf): Remove
6463 references to _M_buf_size_opt.
6464 * include/bits/sstream.tcc (basic_stringbuf::overflow): Likewise.
6465 * include/bits/streambuf.tcc (__copy_streambufs): Likewise, rename
6466 __bufsize to __in_avail and __size_opt to __buf_size.
6467 * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf): Likewise.
6468 * include/std/std_sstream.h (_M_stringbuf_init, setbuf): Likewise.
6469 * include/std/std_streambuf.h (~basic_streambuf(),
6470 basic_streambuf()): Likewise, remove _M_buf_size_opt member.
6471 * testsuite/27_io/basic_filebuf/close/char/3.cc: Set _M_buf_size.
6472 * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
6473 * testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Likewise.
6474 * testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Likewise.
6475 * testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Likewise.
6476 * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Likewise.
6477 * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Likewise.
6478 * testsuite/27_io/basic_filebuf/snextc/char/1.cc: Likewise.
6479 * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
6480 * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
6481 * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
6482 * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.
6484 2003-04-12 Paolo Carlini <pcarlini at unitus dot it>
6486 * include/ext/stdio_filebuf.h
6487 (stdio_filebuf::stdio_filebuf(int, openmode, bool, size_t),
6488 stdio_filebuf::stdio_filebuf(__c_file*, openmode, size_t):
6489 _M_buf_size_opt == 0 only means "not to use an allocated buffer"
6490 since a stack-based buffer is used for small values of the size_t
6492 * include/bits/fstream.tcc (basic_filebuf::_M_really_overflow).
6493 If _M_buf_size != 0 flush out the buffer (any kind, stack-based too).
6494 * testsuite/ext/stdio_filebuf_2.cc: New testfile.
6496 2003-04-12 Paolo Carlini <pcarlini@unitus.it>
6499 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: New.
6500 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Ditto.
6502 2003-04-11 Benjamin Kosnik <bkoz@redhat.com>
6504 * testsuite/22_locale/locale/cons/3.cc: Split.
6505 * testsuite/22_locale/locale/cons/7222-c.cc: New.
6506 * testsuite/22_locale/locale/cons/7222-env.cc: New.
6507 Check before trying to create a locale from the environment.
6508 * testsuite/27_io/ios_base/state/1.cc (test02): Use "C" locale.
6509 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
6512 2003-04-11 Benjamin Kosnik <bkoz@redhat.com>
6514 * testsuite/22_locale/ctype/is/char/3.cc (test03): Use the classic
6515 locale to construct this hybrid locale, not the global locale.
6517 2003-04-11 Benjamin Kosnik <bkoz@redhat.com>
6519 * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Add
6520 instantiation for AIX.
6521 * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
6522 * testsuite/25_algorithms/min_max.cc: Same.
6524 2003-04-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6526 * basic_file_stdio.cc (__basic_file<char>::close): Don't flush stream
6527 twice. Always set _M_cfile to 0 when stream was open.
6529 2003-04-09 Benjamin Kosnik <bkoz@redhat.com>
6531 Reshuffle 27_io testsuite.
6532 * testsuite/27_io/filebuf.cc,
6533 filebuf_members-1.tst, filebuf_members-1.txt, filebuf_members.cc,
6534 filebuf_virtuals-1.tst, filebuf_virtuals-1.txt,
6535 filebuf_virtuals-2.tst, filebuf_virtuals-3.tst,
6536 filebuf_virtuals.cc, fpos.cc, fstream.cc, fstream_members.cc,
6537 ifstream.cc, ifstream_members-1.tst, ifstream_members-1.txt,
6538 ifstream_members.cc, instantiations.cc, ios.cc,
6539 ios_base_callbacks.cc, ios_base_members_static-1.tst,
6540 ios_base_members_static.cc, ios_base_storage.cc,
6541 ios_base_types.cc, ios_ctor.cc, ios_init.cc,
6542 ios_manip_basefield.cc, ios_manip_fmtflags.cc, ios_members.cc,
6543 iostream.cc, iostream_members.cc, istream.cc,
6544 istream_exception.cc, istream_extractor_char.cc,
6545 istream_extractor_other-1.tst, istream_extractor_other-1.txt,
6546 istream_extractor_other-2.tst, istream_extractor_other.cc,
6547 istream_manip.cc, istream_seeks-1.tst, istream_seeks-1.txt,
6548 istream_seeks-2.tst, istream_seeks-3.tst, istream_seeks.cc,
6549 istream_sentry.cc, istream_unformatted-1.tst,
6550 istream_unformatted-1.txt, istream_unformatted.cc,
6551 istringstream.cc, istringstream_members.cc,
6552 narrow_stream_objects.cc, ofstream.cc, ofstream_members-1.tst,
6553 ofstream_members.cc, ostream.cc, ostream_exception.cc,
6554 ostream_fail.cc, ostream_inserter_arith.cc,
6555 ostream_inserter_char-1.tst, ostream_inserter_char-1.txt,
6556 ostream_inserter_char.cc, ostream_inserter_other-1.tst,
6557 ostream_inserter_other-2.tst, ostream_inserter_other.cc,
6558 ostream_manip.cc, ostream_seeks-1.tst, ostream_seeks.cc,
6559 ostream_sentry.cc, ostream_unformatted.cc, ostringstream.cc,
6560 ostringstream_members.cc, standard_manipulators.cc, streambuf.cc,
6561 streambuf_members.cc, stringbuf.cc, stringbuf_members.cc,
6562 stringbuf_virtuals.cc, stringstream.cc, stringstream_members.cc,
6563 wide_stream_objects.cc, istream_extractor_arith/01.cc,
6564 istream_extractor_arith/02.cc, istream_extractor_arith/03.cc,
6565 istream_extractor_arith/06.cc, istream_extractor_arith/07.cc,
6566 istream_extractor_arith/08.cc, istream_extractor_arith/09.cc,
6567 istream_extractor_arith/10.cc, istream_extractor_arith/11.cc,
6568 istream_extractor_arith/12.cc, istream_extractor_arith/13.cc:
6570 * 27_io/basic_filebuf/1.cc: New.
6571 * 27_io/basic_filebuf/2.cc: New.
6572 * 27_io/basic_filebuf/3.cc: New.
6573 * 27_io/basic_filebuf/4.cc: New.
6574 * 27_io/basic_filebuf/close/char/1.cc: New.
6575 * 27_io/basic_filebuf/close/char/2.cc: New.
6576 * 27_io/basic_filebuf/close/char/3.cc: New.
6577 * 27_io/basic_filebuf/close/char/4879.cc: New.
6578 * 27_io/basic_filebuf/close/char/9964.cc: New.
6579 * 27_io/basic_filebuf/imbue/char/1.cc: New.
6580 * 27_io/basic_filebuf/imbue/char/9322.cc: New.
6581 * 27_io/basic_filebuf/in_avail/char/1.cc: New.
6582 * 27_io/basic_filebuf/is_open/char/1.cc: New.
6583 * 27_io/basic_filebuf/open/char/1.cc: New.
6584 * 27_io/basic_filebuf/open/char/2.cc: New.
6585 * 27_io/basic_filebuf/open/char/3.cc: New.
6586 * 27_io/basic_filebuf/open/char/9507.cc: New.
6587 * 27_io/basic_filebuf/overflow/char/1.cc: New.
6588 * 27_io/basic_filebuf/overflow/char/3599.cc: New.
6589 * 27_io/basic_filebuf/overflow/char/9169.cc: New.
6590 * 27_io/basic_filebuf/overflow/char/9182-2.cc: New.
6591 * 27_io/basic_filebuf/overflow/char/9988.cc: New.
6592 * 27_io/basic_filebuf/sbumpc/char/1.cc: New.
6593 * 27_io/basic_filebuf/sbumpc/char/9825.cc: New.
6594 * 27_io/basic_filebuf/seekoff/char/1.cc: New.
6595 * 27_io/basic_filebuf/seekoff/char/2.cc: New.
6596 * 27_io/basic_filebuf/seekpos/char/1.cc: New.
6597 * 27_io/basic_filebuf/seekpos/char/2.cc: New.
6598 * 27_io/basic_filebuf/setbuf/char/1.cc: New.
6599 * 27_io/basic_filebuf/setbuf/char/2.cc: New.
6600 * 27_io/basic_filebuf/setbuf/char/3.cc: New.
6601 * 27_io/basic_filebuf/sgetc/char/1.cc: New.
6602 * 27_io/basic_filebuf/sgetn/char/1.cc: New.
6603 * 27_io/basic_filebuf/sgetn/char/2.cc: New.
6604 * 27_io/basic_filebuf/snextc/char/1.cc: New.
6605 * 27_io/basic_filebuf/sputbackc/char/1.cc: New.
6606 * 27_io/basic_filebuf/sputbackc/char/9425.cc: New.
6607 * 27_io/basic_filebuf/sputc/char/1.cc: New.
6608 * 27_io/basic_filebuf/sputc/char/1057.cc: New.
6609 * 27_io/basic_filebuf/sputc/char/9701-2.cc: New.
6610 * 27_io/basic_filebuf/sputn/char/1.cc: New.
6611 * 27_io/basic_filebuf/sputn/char/1057.cc: New.
6612 * 27_io/basic_filebuf/sputn/char/9701-1.cc: New.
6613 * 27_io/basic_filebuf/sungetc/char/1.cc: New.
6614 * 27_io/basic_filebuf/sync/char/1057.cc: New.
6615 * 27_io/basic_filebuf/sync/char/9182-1.cc: New.
6616 * 27_io/basic_filebuf/underflow/char/10097.cc: New.
6617 * 27_io/basic_fstream/1.cc: New.
6618 * 27_io/basic_fstream/2.cc: New.
6619 * 27_io/basic_fstream/3.cc: New.
6620 * 27_io/basic_fstream/4.cc: New.
6621 * 27_io/basic_fstream/rdbuf/char/2832.cc: New.
6622 * 27_io/basic_ifstream/1.cc: New.
6623 * 27_io/basic_ifstream/2.cc: New.
6624 * 27_io/basic_ifstream/3.cc: New.
6625 * 27_io/basic_ifstream/4.cc: New.
6626 * 27_io/basic_ifstream/cons/char/1.cc: New.
6627 * 27_io/basic_ifstream/open/char/1.cc: New.
6628 * 27_io/basic_ifstream/rdbuf/char/2832.cc: New.
6629 * 27_io/basic_ios/1.cc: New.
6630 * 27_io/basic_ios/2.cc: New.
6631 * 27_io/basic_ios/3.cc: New.
6632 * 27_io/basic_ios/4.cc: New.
6633 * 27_io/basic_ios/clear/char/1.cc: New.
6634 * 27_io/basic_ios/cons/char/1.cc: New.
6635 * 27_io/basic_ios/cons/char/2.cc: New.
6636 * 27_io/basic_ios/cons/char/3.cc: New.
6637 * 27_io/basic_ios/copyfmt/char/1.cc: New.
6638 * 27_io/basic_ios/copyfmt/char/2.cc: New.
6639 * 27_io/basic_ios/exceptions/char/1.cc: New.
6640 * 27_io/basic_ios/locales/char/1.cc: New.
6641 * 27_io/basic_iostream/1.cc: New.
6642 * 27_io/basic_iostream/2.cc: New.
6643 * 27_io/basic_iostream/3.cc: New.
6644 * 27_io/basic_iostream/4.cc: New.
6645 * 27_io/basic_istream/1.cc: New.
6646 * 27_io/basic_istream/2.cc: New.
6647 * 27_io/basic_istream/3.cc: New.
6648 * 27_io/basic_istream/4.cc: New.
6649 * 27_io/basic_istream/exceptions/char/9561.cc: New.
6650 * 27_io/basic_istream/extractors_arithmetic/char/01.cc: New.
6651 * 27_io/basic_istream/extractors_arithmetic/char/02.cc: New.
6652 * 27_io/basic_istream/extractors_arithmetic/char/03.cc: New.
6653 * 27_io/basic_istream/extractors_arithmetic/char/06.cc: New.
6654 * 27_io/basic_istream/extractors_arithmetic/char/07.cc: New.
6655 * 27_io/basic_istream/extractors_arithmetic/char/08.cc: New.
6656 * 27_io/basic_istream/extractors_arithmetic/char/09.cc: New.
6657 * 27_io/basic_istream/extractors_arithmetic/char/10.cc: New.
6658 * 27_io/basic_istream/extractors_arithmetic/char/11.cc: New.
6659 * 27_io/basic_istream/extractors_arithmetic/char/12.cc: New.
6660 * 27_io/basic_istream/extractors_arithmetic/char/13.cc: New.
6661 * 27_io/basic_istream/extractors_character/char/1.cc: New.
6662 * 27_io/basic_istream/extractors_character/char/2.cc: New.
6663 * 27_io/basic_istream/extractors_character/char/3.cc: New.
6664 * 27_io/basic_istream/extractors_character/char/9826.cc: New.
6665 * 27_io/basic_istream/extractors_other/char/1.cc: New.
6666 * 27_io/basic_istream/extractors_other/char/2.cc: New.
6667 * 27_io/basic_istream/extractors_other/char/3.cc: New.
6668 * 27_io/basic_istream/extractors_other/char/9318-in.cc: New.
6669 * 27_io/basic_istream/extractors_other/char/9424-in.cc: New.
6670 * 27_io/basic_istream/get/char/1.cc: New.
6671 * 27_io/basic_istream/get/char/2.cc: New.
6672 * 27_io/basic_istream/getline/char/1.cc: New.
6673 * 27_io/basic_istream/getline/char/2.cc: New.
6674 * 27_io/basic_istream/getline/char/3.cc: New.
6675 * 27_io/basic_istream/ignore/char/1.cc: New.
6676 * 27_io/basic_istream/ignore/char/6360.cc: New.
6677 * 27_io/basic_istream/ignore/char/7220.cc: New.
6678 * 27_io/basic_istream/peek/char/1.cc: New.
6679 * 27_io/basic_istream/peek/char/6414.cc: New.
6680 * 27_io/basic_istream/putback/char/1.cc: New.
6681 * 27_io/basic_istream/read/char/1.cc: New.
6682 * 27_io/basic_istream/read/char/2.cc: New.
6683 * 27_io/basic_istream/read/char/3.cc: New.
6684 * 27_io/basic_istream/readsome/char/6746-1.cc: New.
6685 * 27_io/basic_istream/readsome/char/6746-2.cc: New.
6686 * 27_io/basic_istream/readsome/char/8258.cc: New.
6687 * 27_io/basic_istream/seekg/char/2346-fstream.cc: New.
6688 * 27_io/basic_istream/seekg/char/2346-sstream.cc: New.
6689 * 27_io/basic_istream/seekg/char/8348-1.cc: New.
6690 * 27_io/basic_istream/seekg/char/8348-2.cc: New.
6691 * 27_io/basic_istream/seekg/char/fstream.cc: New.
6692 * 27_io/basic_istream/seekg/char/sstream.cc: New.
6693 * 27_io/basic_istream/sentry/char/1.cc: New.
6694 * 27_io/basic_istream/sentry/char/2.cc: New.
6695 * 27_io/basic_istream/sentry/char/3.cc: New.
6696 * 27_io/basic_istream/sentry/char/3983-fstream.cc: New.
6697 * 27_io/basic_istream/sentry/char/3983-sstream.cc: New.
6698 * 27_io/basic_istream/tellg/char/1.cc: New.
6699 * 27_io/basic_istream/tellg/char/8348.cc: New.
6700 * 27_io/basic_istream/tellg/char/fstream.cc: New.
6701 * 27_io/basic_istream/tellg/char/sstream.cc: New.
6702 * 27_io/basic_istream/ws/char/1.cc: New.
6703 * 27_io/basic_istringstream/1.cc: New.
6704 * 27_io/basic_istringstream/2.cc: New.
6705 * 27_io/basic_istringstream/3.cc: New.
6706 * 27_io/basic_istringstream/4.cc: New.
6707 * 27_io/basic_istringstream/rdbuf/char/2832.cc: New.
6708 * 27_io/basic_istringstream/str/char/1.cc: New.
6709 * 27_io/basic_ofstream/1.cc: New.
6710 * 27_io/basic_ofstream/2.cc: New.
6711 * 27_io/basic_ofstream/3.cc: New.
6712 * 27_io/basic_ofstream/4.cc: New.
6713 * 27_io/basic_ofstream/cons/char/2.cc: New.
6714 * 27_io/basic_ofstream/open/char/1.cc: New.
6715 * 27_io/basic_ofstream/rdbuf/char/2832.cc: New.
6716 * 27_io/basic_ostream/1.cc: New.
6717 * 27_io/basic_ostream/2.cc: New.
6718 * 27_io/basic_ostream/3.cc: New.
6719 * 27_io/basic_ostream/4.cc: New.
6720 * 27_io/basic_ostream/cons/char/9827.cc: New.
6721 * 27_io/basic_ostream/endl/char/1.cc: New.
6722 * 27_io/basic_ostream/ends/char/1.cc: New.
6723 * 27_io/basic_ostream/ends/char/2.cc: New.
6724 * 27_io/basic_ostream/exceptions/char/9561.cc: New.
6725 * 27_io/basic_ostream/flush/char/1.cc: New.
6726 * 27_io/basic_ostream/inserters_arithmetic/char/1.cc: New.
6727 * 27_io/basic_ostream/inserters_arithmetic/char/2.cc: New.
6728 * 27_io/basic_ostream/inserters_arithmetic/char/3.cc: New.
6729 * 27_io/basic_ostream/inserters_arithmetic/char/4.cc: New.
6730 * 27_io/basic_ostream/inserters_arithmetic/char/4402.cc: New.
6731 * 27_io/basic_ostream/inserters_arithmetic/char/5.cc: New.
6732 * 27_io/basic_ostream/inserters_arithmetic/char/6.cc: New.
6733 * 27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc: New.
6734 * 27_io/basic_ostream/inserters_character/char/1.cc: New.
6735 * 27_io/basic_ostream/inserters_character/char/2.cc: New.
6736 * 27_io/basic_ostream/inserters_character/char/3.cc: New.
6737 * 27_io/basic_ostream/inserters_character/char/4.cc: New.
6738 * 27_io/basic_ostream/inserters_character/char/5.cc: New.
6739 * 27_io/basic_ostream/inserters_character/char/6.cc: New.
6740 * 27_io/basic_ostream/inserters_character/char/8.cc: New.
6741 * 27_io/basic_ostream/inserters_character/wchar_t/7.cc: New.
6742 * 27_io/basic_ostream/inserters_character/wchar_t/8.cc: New.
6743 * 27_io/basic_ostream/inserters_other/char/1.cc: New.
6744 * 27_io/basic_ostream/inserters_other/char/2.cc: New.
6745 * 27_io/basic_ostream/inserters_other/char/3.cc: New.
6746 * 27_io/basic_ostream/inserters_other/char/4.cc: New.
6747 * 27_io/basic_ostream/inserters_other/char/9318-out.cc: New.
6748 * 27_io/basic_ostream/inserters_other/char/9424-out.cc: New.
6749 * 27_io/basic_ostream/sentry/char/1.cc: New.
6750 * 27_io/basic_ostream/sentry/char/2.cc: New.
6751 * 27_io/basic_ostream/sentry/char/3983-fstream.cc: New.
6752 * 27_io/basic_ostream/sentry/char/3983-sstream.cc: New.
6753 * 27_io/basic_ostream/tellp/char/1.cc: New.
6754 * 27_io/basic_ostream/tellp/char/2.cc: New.
6755 * 27_io/basic_ostringstream/1.cc: New.
6756 * 27_io/basic_ostringstream/2.cc: New.
6757 * 27_io/basic_ostringstream/3.cc: New.
6758 * 27_io/basic_ostringstream/4.cc: New.
6759 * 27_io/basic_ostringstream/cons/char/3.cc: New.
6760 * 27_io/basic_ostringstream/rdbuf/char/2832.cc: New.
6761 * 27_io/basic_ostringstream/str/char/1.cc: New.
6762 * 27_io/basic_ostringstream/str/char/2.cc: New.
6763 * 27_io/basic_streambuf/1.cc: New.
6764 * 27_io/basic_streambuf/2.cc: New.
6765 * 27_io/basic_streambuf/3.cc: New.
6766 * 27_io/basic_streambuf/cons/char/1.cc: New.
6767 * 27_io/basic_streambuf/imbue/char/1.cc: New.
6768 * 27_io/basic_streambuf/imbue/char/9322.cc: New.
6769 * 27_io/basic_streambuf/overflow/char/1.cc: New.
6770 * 27_io/basic_streambuf/overflow/char/2.cc: New.
6771 * 27_io/basic_streambuf/overflow/char/3599.cc: New.
6772 * 27_io/basic_streambuf/sgetc/char/1.cc: New.
6773 * 27_io/basic_streambuf/sgetn/char/1.cc: New.
6774 * 27_io/basic_streambuf/sputbackc/char/9538.cc: New.
6775 * 27_io/basic_streambuf/sputc/char/1057.cc: New.
6776 * 27_io/basic_streambuf/sputn/char/1.cc: New.
6777 * 27_io/basic_streambuf/sputn/char/1057.cc: New.
6778 * 27_io/basic_streambuf/sync/char/1057.cc: New.
6779 * 27_io/basic_stringbuf/1.cc: New.
6780 * 27_io/basic_stringbuf/2.cc: New.
6781 * 27_io/basic_stringbuf/3.cc: New.
6782 * 27_io/basic_stringbuf/4.cc: New.
6783 * 27_io/basic_stringbuf/5.cc: New.
6784 * 27_io/basic_stringbuf/imbue/char/1.cc: New.
6785 * 27_io/basic_stringbuf/imbue/char/9322.cc: New.
6786 * 27_io/basic_stringbuf/in_avail/char/1.cc: New.
6787 * 27_io/basic_stringbuf/overflow/char/2.cc: New.
6788 * 27_io/basic_stringbuf/overflow/char/3599.cc: New.
6789 * 27_io/basic_stringbuf/overflow/char/9988.cc: New.
6790 * 27_io/basic_stringbuf/sbumpc/char/1.cc: New.
6791 * 27_io/basic_stringbuf/sbumpc/char/9825.cc: New.
6792 * 27_io/basic_stringbuf/seekoff/char/1.cc: New.
6793 * 27_io/basic_stringbuf/seekoff/char/2.cc: New.
6794 * 27_io/basic_stringbuf/seekpos/char/1.cc: New.
6795 * 27_io/basic_stringbuf/seekpos/char/2.cc: New.
6796 * 27_io/basic_stringbuf/setbuf/char/1.cc: New.
6797 * 27_io/basic_stringbuf/setbuf/char/2.cc: New.
6798 * 27_io/basic_stringbuf/setbuf/char/3.cc: New.
6799 * 27_io/basic_stringbuf/sgetc/char/1.cc: New.
6800 * 27_io/basic_stringbuf/sgetn/char/1.cc: New.
6801 * 27_io/basic_stringbuf/snextc/char/1.cc: New.
6802 * 27_io/basic_stringbuf/sputbackc/char/1.cc: New.
6803 * 27_io/basic_stringbuf/sputbackc/char/9425.cc: New.
6804 * 27_io/basic_stringbuf/sputc/char/1.cc: New.
6805 * 27_io/basic_stringbuf/sputc/char/1057.cc: New.
6806 * 27_io/basic_stringbuf/sputc/char/9404-1.cc: New.
6807 * 27_io/basic_stringbuf/sputn/char/1.cc: New.
6808 * 27_io/basic_stringbuf/sputn/char/1057.cc: New.
6809 * 27_io/basic_stringbuf/sputn/char/9404-2.cc: New.
6810 * 27_io/basic_stringbuf/str/char/1.cc: New.
6811 * 27_io/basic_stringbuf/str/char/2.cc: New.
6812 * 27_io/basic_stringbuf/str/char/3.cc: New.
6813 * 27_io/basic_stringbuf/str/char/3955.cc: New.
6814 * 27_io/basic_stringbuf/sungetc/char/1.cc: New.
6815 * 27_io/basic_stringbuf/sync/char/1057.cc: New.
6816 * 27_io/basic_stringstream/1.cc: New.
6817 * 27_io/basic_stringstream/2.cc: New.
6818 * 27_io/basic_stringstream/3.cc: New.
6819 * 27_io/basic_stringstream/4.cc: New.
6820 * 27_io/basic_stringstream/rdbuf/char/2832.cc: New.
6821 * 27_io/basic_stringstream/str/char/1.cc: New.
6822 * 27_io/basic_stringstream/str/char/2.cc: New.
6823 * 27_io/basic_stringstream/str/char/3.cc: New.
6824 * 27_io/basic_stringstream/str/char/4.cc: New.
6825 * 27_io/fpos/1.cc: New.
6826 * 27_io/fpos/2.cc: New.
6827 * 27_io/fpos/3.cc: New.
6828 * 27_io/ios_base/callbacks/1.cc: New.
6829 * 27_io/ios_base/state/1.cc: New.
6830 * 27_io/ios_base/storage/1.cc: New.
6831 * 27_io/ios_base/storage/2.cc: New.
6832 * 27_io/ios_base/storage/3.cc: New.
6833 * 27_io/ios_base/sync_with_stdio/1.cc: New.
6834 * 27_io/ios_base/sync_with_stdio/2.cc: New.
6835 * 27_io/manipulators/adjustfield/char/1.cc: New.
6836 * 27_io/manipulators/adjustfield/char/2.cc: New.
6837 * 27_io/manipulators/basefield/char/1.cc: New.
6838 * 27_io/manipulators/standard/char/1.cc: New.
6839 * 27_io/manipulators/standard/char/2.cc: New.
6840 * 27_io/objects/char/1.cc: New.
6841 * 27_io/objects/char/2.cc: New.
6842 * 27_io/objects/char/2523-1_xin.cc: New.
6843 * 27_io/objects/char/2523-1_xin.in: New.
6844 * 27_io/objects/char/2523-2_xin.cc: New.
6845 * 27_io/objects/char/2523-2_xin.in: New.
6846 * 27_io/objects/char/3045.cc: New.
6847 * 27_io/objects/char/3647.cc: New.
6848 * 27_io/objects/char/3_xin.cc: New.
6849 * 27_io/objects/char/3_xin.in: New.
6850 * 27_io/objects/char/4_xin.cc: New.
6851 * 27_io/objects/char/4_xin.in: New.
6852 * 27_io/objects/char/5268.cc: New.
6853 * 27_io/objects/char/5280_xin.cc: New.
6854 * 27_io/objects/char/5280_xin.in: New.
6855 * 27_io/objects/char/6548_xin.cc: New.
6856 * 27_io/objects/char/6548_xin.in: New.
6857 * 27_io/objects/char/6648-1_xin.cc: New.
6858 * 27_io/objects/char/6648-1_xin.in: New.
6859 * 27_io/objects/char/6648-2_xin.cc: New.
6860 * 27_io/objects/char/6648-2_xin.in: New.
6861 * 27_io/objects/char/7744_xin.cc: New.
6862 * 27_io/objects/char/7744_xin.in: New.
6863 * 27_io/objects/wchar_t/1.cc: New.
6864 * 27_io/types/1.cc: New.
6865 * 27_io/types/2.cc: New.
6866 * data/filebuf_members-1.tst: New.
6867 * data/filebuf_members-1.txt: New.
6868 * data/filebuf_virtuals-1.tst: New.
6869 * data/filebuf_virtuals-1.txt: New.
6870 * data/filebuf_virtuals-2.tst: New.
6871 * data/filebuf_virtuals-3.tst: New.
6872 * data/ifstream_members-1.tst: New.
6873 * data/ifstream_members-1.txt: New.
6874 * data/ios_base_members_static-1.tst: New.
6875 * data/istream_extractor_other-1.tst: New.
6876 * data/istream_extractor_other-1.txt: New.
6877 * data/istream_extractor_other-2.tst: New.
6878 * data/istream_seeks-1.tst: New.
6879 * data/istream_seeks-1.txt: New.
6880 * data/istream_seeks-2.tst: New.
6881 * data/istream_seeks-3.tst: New.
6882 * data/istream_unformatted-1.tst: New.
6883 * data/istream_unformatted-1.txt: New.
6884 * data/ofstream_members-1.tst: New.
6885 * data/ostream_inserter_char-1.tst: New.
6886 * data/ostream_inserter_char-1.txt: New.
6887 * data/ostream_inserter_other-1.tst: New.
6888 * data/ostream_inserter_other-2.tst: New.
6889 * data/ostream_seeks-1.tst: New.
6891 2003-04-09 Benjamin Kosnik <bkoz@redhat.com>
6893 * include/bits/sstream.tcc (basic_stringbuf::seekpos): Remove
6894 requirement that __mode must be strict input or output.
6896 * include/std/std_streambuf.h (basic_streambuf::setp): Set
6899 * include/std/std_sstream.h (basic_strinbuf::str): Zero length
6900 output string shouldn't core.
6901 (basic_stringbuf::_M_really_sync): Add base argument. Remove rturn
6903 * include/bits/sstream.tcc: Adjust _M_really_sync bits here.
6905 * include/bits/istream.tcc (basic_istream::putback): Set gcount to
6908 2003-04-09 Benjamin Kosnik <bkoz@redhat.com>
6910 * testsuite/data: New directory.
6911 * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify
6912 to copy files from the testsuite data directory.
6913 (libstdc++-v3-list-sourcefiles): Add another test list filter, for
6914 testfiles containing _xin, which now means this is an interactive
6915 test and should be run with the interactive dejagnu hooks.
6916 * testsuite/Makefile.am: Remove testsuite_* files.
6917 * testsuite/Makefile.in: Regenerate.
6919 2003-04-09 Zack Weinberg <zack@codesourcery.com>
6921 * docs/html/install.html: Document complete list of locales
6922 required by test suite. Document procedure for installing
6923 said locales under Debian. Solicit instructions for other
6926 2003-04-08 Alexandre Oliva <aoliva@redhat.com>
6928 * include/bits/sstream.tcc (overflow): Make sure operands of min
6929 and max have the same type.
6931 2003-04-04 Jerry Quinn <jlquinn@optonline.net>
6934 * src/ios.cc (ios_base::_M_init): Remove _M_callbacks
6937 2003-03-31 Paolo Carlini <pcarlini@unitus.it>
6939 * include/std/std_streambuf.h (_M_out_buf_size()): Remove.
6940 * include/bits/fstream.tcc (_M_allocate_internal_buffer):
6941 Don't set _M_out_end.
6942 (basic_filebuf::overflow): Replace _M_out_buf_size() with
6943 this->_M_out_cur && this->_M_out_cur < this->_M_out_end.
6944 * include/bits/sstream.tcc (basic_stringbuf::overflow):
6945 Replace _M_out_buf_size() with this->_M_out_cur < this->_M_out_end;
6946 * include/bits/streambuf.tcc (basic_streambuf::sputc):
6947 Replace _M_out_buf_size() with _M_out_cur && _M_out_cur < _M_out_end.
6948 (basic_streambuf::xsputn): Replace _M_out_buf_size() with
6949 _M_out_end - _M_out_cur.
6950 (__copy_streambufs): Likewise.
6951 * include/std/std_fstream.h (_M_set_determinate): Set
6954 2003-03-30 Paolo Carlini <pcarlini@unitus.it>
6956 * include/bits/fstream.tcc (basic_filebuf::showmanyc,
6957 _M_convert_to_external, _M_really_overflow, seekoff): Fix
6958 test for synced buffer.
6959 * include/std/std_fstream.h (sync): Likewise.
6960 * src/fstream.cc (basic_filebuf<char>::_M_underflow_common,
6961 basic_filebuf<wchar_t>::_M_underflow_common): Likewise.
6963 2003-03-28 Benjamin Kosnik <bkoz@redhat.com>
6965 * include/std/std_sstream.h (basic_istringstream): Adjust
6967 (basic_ostringstream): Same.
6968 (basic_stringstream): Same.
6969 * include/std/std_fstream.h (basic_ifstream): Adjust initialization.
6970 (basic_ofstream): Same.
6971 (basic_fstream): Same.
6972 * include/std/std_ostream.h (basic_ostrem): Add protected ctor
6973 that does not call init.
6974 * include/std/std_istream.h (basic_istream): Same.
6975 (basic_iostream): Construct istream, ostream uninitialized, use
6976 init to initialize just once. Add protected ctor that does not
6979 2003-03-28 Paolo Carlini <pcarlini@unitus.it>
6980 Nathan Myers <ncm@cantrip.org>
6983 * include/bits/fstream.tcc (basic_filebuf<>::open): Don't
6985 (basic_filebuf<>::showmanyc): Use the information provided
6986 by codecvt and __basic_file<>::showmanyc_helper to implement
6987 a non-trivial showmanyc.
6988 * config/io/basic_file_stdio.h
6989 (__basic_file<>::showmanyc_helper): New, declare.
6990 * config/io/basic_file_stdio.cc
6991 (__basic_file<>::showmanyc_helper): Define.
6992 (__basic_file<>::_M_open_mode): Don't set O_NONBLOCK.
6993 (__basic_file<char>::open): Don't call fcntl().
6994 * acinclude.m4 (GLIBCPP_CHECK_S_ISREG_OR_S_IFREG,
6995 GLIBCPP_CHECK_POLL): New macros.
6996 * configure.in: Call here.
6997 * acconfig.h: Add #undefs for the corresponding symbols.
6998 * aclocal.m4: Regenerate.
6999 * configure: Regenerate.
7000 * config.h.in: Regenerate.
7002 2003-03-24 Benjamin Kosnik <bkoz@redhat.com>
7004 * config/linker-map.gnu: Remove string export restrictions.
7006 2003-03-24 Paolo Carlini <pcarlini@unitus.it>
7008 * testsuite/21_strings/basic_string/find/char/1.cc: Remove
7009 find_first_of, find_last_of and find_last_not_of tests.
7010 * testsuite/21_strings/basic_string/find/char/2.cc: find_first_of
7011 tests here, new file.
7012 * testsuite/21_strings/basic_string/find/wchar_t/1.cc: Likewise,
7013 remove wchar_t find_first_of, find_last_of and find_last_not_of tests.
7014 * testsuite/21_strings/basic_string/find/wchar_t/2.cc: Likewise,
7015 wchar_t find_first_of tests here, new file.
7016 * testsuite/21_strings/basic_string/rfind/char/2.cc: find_last_of
7018 * testsuite/21_strings/basic_string/rfind/char/3.cc: find_last_not_of
7020 * testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: likewise,
7021 wchar_t find_last_of tests here.
7022 * testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: likewise,
7023 wchar_t find_last_not_of tests here.
7025 2003-03-22 Loren J. Rittle <ljrittle@acm.org>
7027 * config/os/hpux/ctype_noninline.h (ctype<char>::classic_table):
7028 Correct return value.
7030 2003-03-21 Jerry Quinn <jlquinn@optonline.net>
7033 * include/bits/c++config (_GLIBCPP_FAST_MATH): Define.
7034 * include/std/std_complex.h (norm): Use faster,
7035 less accurate computation for builtin float types under --fast-math.
7037 2003-03-21 Magnus Fromreide <gnats@magfr.user.lysator.liu.se>
7039 * testsuite/testsuite_hooks.h: Fix warning nits.
7041 2003-03-19 Alexandre Oliva <aoliva@redhat.com>
7043 * config/cpu/mips/atomicity.h (__exchange_and_add, __atomic_add):
7044 Only .set mips2 for the o32 ABI.
7046 2003-03-19 Paolo Carlini <pcarlini@unitus.it>
7048 * testsuite/21_strings/char_traits/requirements/char/1.cc:
7049 Test char not wchar_t.
7051 2003-03-18 Paolo Carlini <pcarlini@unitus.it>
7053 * testsuite/21_strings/basic_string/append/wchar_t/1.cc:
7054 Correct size, taking into account sizeof(wchar_t).
7056 2003-03-18 Paolo Carlini <pcarlini@unitus.it>
7058 Reshuffle 21_strings testsuite.
7059 * testsuite/21_strings/append.cc, c_strings.cc, invariants.cc,
7060 assign.cc, ctor_copy_dtor.cc, nonmember.cc, capacity.cc,
7061 element_access.cc, operations.cc, char_traits_requirements.cc,
7062 find.cc, replace.cc, char_traits_typedefs.cc, insert.cc, rfind.cc,
7063 compare.cc, inserters_extractors.cc, substr.cc: Split up, add
7064 wchar_t tests as follows.
7065 * 21_strings/basic_string/append/char/1.cc: New.
7066 * 21_strings/basic_string/append/wchar_t/1.cc: New.
7067 * 21_strings/basic_string/assign/char/1.cc: New.
7068 * 21_strings/basic_string/assign/char/2.cc: New.
7069 * 21_strings/basic_string/assign/char/3.cc: New.
7070 * 21_strings/basic_string/assign/wchar_t/1.cc: New.
7071 * 21_strings/basic_string/assign/wchar_t/2.cc: New.
7072 * 21_strings/basic_string/assign/wchar_t/3.cc: New.
7073 * 21_strings/basic_string/capacity/1.cc: New.
7074 * 21_strings/basic_string/capacity/char/1.cc: New.
7075 * 21_strings/basic_string/capacity/char/2.cc: New.
7076 * 21_strings/basic_string/capacity/wchar_t/1.cc: New.
7077 * 21_strings/basic_string/capacity/wchar_t/2.cc: New.
7078 * 21_strings/basic_string/compare/char/1.cc: New.
7079 * 21_strings/basic_string/compare/wchar_t/1.cc: New.
7080 * 21_strings/basic_string/cons/char/1.cc: New.
7081 * 21_strings/basic_string/cons/char/2.cc: New.
7082 * 21_strings/basic_string/cons/char/3.cc: New.
7083 * 21_strings/basic_string/cons/char/4.cc: New.
7084 * 21_strings/basic_string/cons/char/5.cc: New.
7085 * 21_strings/basic_string/cons/wchar_t/1.cc: New.
7086 * 21_strings/basic_string/cons/wchar_t/2.cc: New.
7087 * 21_strings/basic_string/cons/wchar_t/3.cc: New.
7088 * 21_strings/basic_string/cons/wchar_t/4.cc: New.
7089 * 21_strings/basic_string/cons/wchar_t/5.cc: New.
7090 * 21_strings/basic_string/element_access/char/1.cc: New.
7091 * 21_strings/basic_string/element_access/char/2.cc: New.
7092 * 21_strings/basic_string/element_access/char/3.cc: New.
7093 * 21_strings/basic_string/element_access/wchar_t/1.cc: New.
7094 * 21_strings/basic_string/element_access/wchar_t/2.cc: New.
7095 * 21_strings/basic_string/element_access/wchar_t/3.cc: New.
7096 * 21_strings/basic_string/find/char/1.cc: New.
7097 * 21_strings/basic_string/find/wchar_t/1.cc: New.
7098 * 21_strings/basic_string/insert/char/1.cc: New.
7099 * 21_strings/basic_string/insert/char/2.cc: New.
7100 * 21_strings/basic_string/insert/wchar_t/1.cc: New.
7101 * 21_strings/basic_string/insert/wchar_t/2.cc: New.
7102 * 21_strings/basic_string/inserters_extractors/char/1.cc: New.
7103 * 21_strings/basic_string/inserters_extractors/char/4.cc: New.
7104 * 21_strings/basic_string/inserters_extractors/char/5.cc: New.
7105 * 21_strings/basic_string/inserters_extractors/char/6.cc: New.
7106 * 21_strings/basic_string/inserters_extractors/char/7.cc: New.
7107 * 21_strings/basic_string/inserters_extractors/char/8.cc: New.
7108 * 21_strings/basic_string/inserters_extractors/char/9.cc: New.
7109 * 21_strings/basic_string/inserters_extractors/wchar_t/1.cc: New.
7110 * 21_strings/basic_string/inserters_extractors/wchar_t/4.cc: New.
7111 * 21_strings/basic_string/inserters_extractors/wchar_t/5.cc: New.
7112 * 21_strings/basic_string/inserters_extractors/wchar_t/6.cc: New.
7113 * 21_strings/basic_string/inserters_extractors/wchar_t/7.cc: New.
7114 * 21_strings/basic_string/inserters_extractors/wchar_t/8.cc: New.
7115 * 21_strings/basic_string/inserters_extractors/wchar_t/9.cc: New.
7116 * 21_strings/basic_string/operators/char/1.cc: New.
7117 * 21_strings/basic_string/operators/char/2.cc: New.
7118 * 21_strings/basic_string/operators/wchar_t/1.cc: New.
7119 * 21_strings/basic_string/operators/wchar_t/2.cc: New.
7120 * 21_strings/basic_string/replace/char/1.cc: New.
7121 * 21_strings/basic_string/replace/char/2.cc: New.
7122 * 21_strings/basic_string/replace/char/3.cc: New.
7123 * 21_strings/basic_string/replace/char/4.cc: New.
7124 * 21_strings/basic_string/replace/char/5.cc: New.
7125 * 21_strings/basic_string/replace/wchar_t/1.cc: New.
7126 * 21_strings/basic_string/replace/wchar_t/2.cc: New.
7127 * 21_strings/basic_string/replace/wchar_t/3.cc: New.
7128 * 21_strings/basic_string/replace/wchar_t/4.cc: New.
7129 * 21_strings/basic_string/replace/wchar_t/5.cc: New.
7130 * 21_strings/basic_string/rfind/char/1.cc: New.
7131 * 21_strings/basic_string/rfind/char/2.cc: New.
7132 * 21_strings/basic_string/rfind/char/3.cc: New.
7133 * 21_strings/basic_string/rfind/wchar_t/1.cc: New.
7134 * 21_strings/basic_string/rfind/wchar_t/2.cc: New.
7135 * 21_strings/basic_string/rfind/wchar_t/3.cc: New.
7136 * 21_strings/basic_string/substr/char/1.cc: New.
7137 * 21_strings/basic_string/substr/wchar_t/1.cc: New.
7138 * 21_strings/c_strings/char/1.cc: New.
7139 * 21_strings/c_strings/char/2.cc: New.
7140 * 21_strings/c_strings/wchar_t/1.cc: New.
7141 * 21_strings/c_strings/wchar_t/2.cc: New.
7142 * 21_strings/char_traits/requirements/char/1.cc: New.
7143 * 21_strings/char_traits/requirements/wchar_t/1.cc: New.
7144 * 21_strings/char_traits/typedefs/char/1.cc: New.
7146 2003-03-17 Paolo Carlini <pcarlini@unitus.it>
7147 Petur Runolfsson <peturr02@ru.is>
7150 * src/fstream.cc (basic_filebuf<char>::_M_underflow_common,
7151 basic_filebuf<wchar_t>::_M_underflow_common):
7152 if (gptr() < egptr()) return *gptr().
7153 * testsuite/27_io/filebuf_virtuals.cc (test16): Add.
7155 * testsuite/27_io/filebuf_members.cc (test_04): Minor
7156 changes: unlink fifo before making it, fix spelling error.
7158 2003-03-17 Benjamin Kosnik <bkoz@redhat.com>
7160 * testsuite/Makefile.am (CLEANFILES): Add tmp*.
7161 * testsuite/Makefile.in: Regenerate.
7162 * testsuite/27_io/filebuf_members.cc: Consistently name tmp files.
7165 2003-03-17 Petur Runolfsson <peturr02@ru.is>
7168 * include/bits/fstream.tcc (basic_filebuf::close):
7169 Always close file, even when write fails.
7170 * testsuite/27_io/filebuf_members.cc (test_07): New test.
7172 2003-03-17 Danny Smith <dannysmith@users.sourceforge.net>
7174 * libsupc++/Makefile.am (C_COMPILE): Remove.
7175 (LTCOMPILE): Likewise.
7176 * libsupc++/Makefile.in: Regenerate.
7178 2003-03-14 Benjamin Kosnik <bkoz@redhat.com>
7180 * testsuite/23_containers/bitset_members.cc: Add test variable.
7181 * testsuite/23_containers/map_insert.cc: Same.
7182 * testsuite/22_locale/ctype/cons/char/1.cc: Same.
7183 * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Same.
7184 * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
7185 * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
7186 * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
7187 * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Same.
7188 * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Same.
7189 * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
7190 * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
7191 * testsuite/27_io/istream_exception.cc: Same.
7192 * testsuite/27_io/filebuf_virtuals.cc: Same.
7193 * testsuite/27_io/stringbuf_virtuals.cc: Same.
7194 * testsuite/27_io/ostream_inserter_arith.cc: Same.
7195 * testsuite/26_numerics/valarray_operators.cc: Same.
7196 * testsuite/26_numerics/slice.cc: Same.
7197 * testsuite/26_numerics/slice_array_assignment.cc: Same.
7198 * testsuite/24_iterators/istream_iterator.cc: Same.
7199 * mkcheck.in (TESTS_FILE): Use dejagnu-generated file if possible.
7201 2003-03-14 Petur Runolfsson <peturr02@ru.is>
7205 * config/locale/generic/ctype_members.cc,
7206 * config/locale/gnu/ctype_members.cc
7207 (ctype<wchar_t>::do_widen(char)): Cast argument to
7208 unsigned char before passing to btowc.
7209 (ctype<wchar_t>::do_widen(const char*, const char*, wchar_t*)):
7210 Convert characters with btowc instead of mbsrtowcs.
7211 (ctype<wchar_t>::do_narrow(const wchar_t*, const wchar_t*,
7213 Convert characters with wctob instead of wcsrtombs.
7214 * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: New test.
7215 * testsuite/22_locale/ctype/widen/wchar_t/2.cc: New test.
7216 * testsuite/22_locale/ctype/widen/wchar_t/3.cc: New test.
7218 2003-03-14 Benjamin Kosnik <bkoz@redhat.com>
7220 * include/stdc++.h: New.
7221 * libsupc++/exception_defines.h (__EXCEPTION_DEFINES_H): Add guard.
7222 * include/Makefile.am (stamp-std-precompile): Generate stdc++.h.gch
7223 * include/Makefile.in: Regenerate.
7224 * testsuite_flags.in (--build-cxx): Add, but don't use PCHFLAGS.
7225 (--cxxflags): Put -g -O2 here.
7226 * testsuite/libstdc++-v3.dg/dg.exp: Remove -g -O2 here.
7228 2003-03-14 Loren J. Rittle <ljrittle@acm.org>
7230 * testsuite/testsuite_hooks.h: Suppress runtime exception thrown by
7231 missing named locale.
7233 2003-03-14 Andreas Schwab <schwab@suse.de>
7235 * configure.in: Only append to makefiles that are newly created to
7236 avoid multiple multi-do/multi-clean rules.
7237 * configure: Rebuilt.
7239 2003-03-13 Jonathan Wakely <redi@gcc.gnu.org>
7241 * docs/html/configopts.html, docs/html/documentation.html,
7242 docs/html/explanations.html, docs/html/install.html,
7243 docs/html/19_diagnostics/howto.html, docs/html/faq/index.html: Fix
7244 invalid XHTML and make page header style consistent.
7246 2003-03-12 Jonathan Wakely <redi@gcc.gnu.org>
7248 * docs/html/faq/index.html: Explain memory "leaks" due to allocators.
7249 * docs/html/faq/index.txt: Regenerate.
7250 * docs/html/debug.html: Add a bit to allocator text and fix XHTML.
7252 2003-03-12 Andreas Schwab <schwab@suse.de>
7254 * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
7255 glibcpp_toolexeclibdir.
7256 * aclocal.m4, configure: Rebuilt.
7258 2003-03-11 Jonathan Wakely <redi@gcc.gnu.org>
7260 * docs/html/faq/index.html: Update text about location of headers.
7261 * docs/html/faq/index.txt: Regenerate.
7263 2003-03-11 Carlo Wood <carlo@alinoe.com>
7265 * include/bits/demangle.h: Prepend accessors of
7266 class qualifier with 'get_' in order to fix warnings
7267 when compiling with -Wshadow.
7269 2003-03-11 Loren J. Rittle <ljrittle@acm.org>
7271 * config/os/bsd/freebsd/ctype_inline.h: Support _M_table
7273 * testsuite/22_locale/ctype/cons/char/1.cc: Fix typo.
7275 * testsuite/testsuite_hooks.h (run_tests_wrapped_env): Do not
7276 report lack of setenv().
7278 2003-03-09 Paolo Carlini <pcarlini@unitus.it>
7280 * config/io/basic_file_stdio.cc: include <unistd.h>.
7282 2003-03-09 Paolo Carlini <pcarlini@unitus.it>
7283 Nathan Myers <ncm@cantrip.org>
7286 * config/io/basic_file_stdio.h (__basic_file<>::xsgetn, xsputn,
7287 seekoff, seekpos): Add a boolean parameter __stdio.
7288 * config/io/basic_file_stdio.cc (__basic_file<>::xsgetn, xsputn,
7289 seekoff, seekpos): If __stdio == true, use fread (fwrite, fseek/ftell,
7290 fseek/ftell, respectively), otherwise read (write, lseek, lseek,
7292 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external,
7293 _M_really_overflow, seekoff): Use the boolean parameter in the calls.
7294 * include/std/std_fstream.h (sync): Likewise.
7295 * src/fstream.cc (basic_filebuf<>::_M_underflow_common): Likewise.
7296 * src/ios.cc (ios_base::Init::_S_ios_create(bool)): Revert
7297 libstdc++/8399 commit involving isatty(0).
7298 * acinclude.m4 (GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1): Remove.
7299 (GLIBCPP_CHECK_UNISTD_SUPPORT): Remove
7300 * configure.in: Remove call.
7301 * aclocal.m4: Regenerate.
7302 * config.h.in: Regenerate.
7303 * configure: Regenerate.
7304 * testsuite/27_io/narrow_stream_objects.cc (test11): Add.
7306 2003-03-09 Paolo Carlini <pcarlini@unitus.it>
7309 * include/bits/fstream.tcc (overflow): don't write EOF to file.
7310 * testsuite/27_io/filebuf_virtuals.cc (test15): Add.
7312 2003-03-08 Jerry Quinn <jlquinn@optonline.net>
7315 * include/bits/basic_ios.h (_M_setstate): New.
7316 * include/bits/ostream.tcc (operator<<): Use it.
7317 * include/bits/istream.tcc (operator>>): Use it.
7318 * include/std/std_ostream.h (operator<<): Make friends.
7319 * include/std/std_istream.h (operator>>): Make friends.
7320 * testsuite/27_io/ostream_exception.cc,
7321 testsuite/27_io/istream_exception.cc: New tests.
7323 2003-03-08 Benjamin Kosnik <bkoz@redhat.com>
7325 * include/bits/locale_facets.tcc: Fix typo.
7327 2003-03-08 Loren J. Rittle <ljrittle@acm.org>
7329 * testsuite/26_numerics/c99_classification_macros_c.cc: Tweak test.
7331 * config/locale/generic/c_locale.cc
7332 (locale::facet::_S_create_c_locale): Throw runtime exception when
7333 unsupported language is specified.
7334 * testsuite/testsuite_hooks.h
7335 (run_test_wrapped_generic_locale_exception_catcher): New function.
7336 * testsuite/testsuite_hooks.cc (run_tests_wrapped_locale):
7337 Suppress runtime exception thrown by generic implementation.
7338 (run_tests_wrapped_env): Likewise.
7339 (run_test_wrapped_generic_locale_exception_catcher): New function.
7340 * testsuite/22_locale/collate/compare/char/1.cc: New test wrap.
7341 * testsuite/22_locale/collate/compare/char/2.cc: New test wrap.
7342 * testsuite/22_locale/collate/compare/char/3.cc: New test wrap.
7343 * testsuite/22_locale/collate/hash/char/2.cc: New test wrap.
7344 * testsuite/22_locale/collate/transform/char/2.cc: New test wrap.
7345 * testsuite/22_locale/collate/transform/char/3.cc: New test wrap.
7346 * testsuite/22_locale/collate_byname/1.cc: New test wrap.
7347 * testsuite/22_locale/ctype/is/char/2.cc: New test wrap.
7348 * testsuite/22_locale/facet/2.cc: New test wrap.
7349 * testsuite/22_locale/locale/cons/4.cc: New test wrap.
7350 * testsuite/22_locale/locale/cons/5.cc: New test wrap.
7351 * testsuite/22_locale/locale/cons/7.cc: New test wrap.
7352 * testsuite/22_locale/messages/members/char/1.cc: New test wrap.
7353 * testsuite/22_locale/messages/members/char/2.cc: New test wrap.
7354 * testsuite/22_locale/messages/members/char/3.cc: New test wrap.
7355 * testsuite/22_locale/messages_byname/1.cc: New test wrap.
7356 * testsuite/22_locale/money_get/get/char/1.cc: New test wrap.
7357 * testsuite/22_locale/money_get/get/char/2.cc: New test wrap.
7358 * testsuite/22_locale/money_get/get/char/3.cc: New test wrap.
7359 * testsuite/22_locale/money_get/get/char/4.cc: New test wrap.
7360 * testsuite/22_locale/money_put/put/char/1.cc: New test wrap.
7361 * testsuite/22_locale/money_put/put/char/2.cc: New test wrap.
7362 * testsuite/22_locale/money_put/put/char/3.cc: New test wrap.
7363 * testsuite/22_locale/moneypunct/members/char/2.cc: New test wrap.
7364 * testsuite/22_locale/moneypunct_byname/1.cc: New test wrap.
7365 * testsuite/22_locale/num_get/get/char/1.cc: New test wrap.
7366 * testsuite/22_locale/num_get/get/char/2.cc: New test wrap.
7367 * testsuite/22_locale/num_get/get/char/3.cc: New test wrap.
7368 * testsuite/22_locale/num_get/get/char/5.cc: New test wrap.
7369 * testsuite/22_locale/num_get/get/char/6.cc: New test wrap.
7370 * testsuite/22_locale/num_put/put/char/1.cc: New test wrap.
7371 * testsuite/22_locale/num_put/put/char/2.cc: New test wrap.
7372 * testsuite/22_locale/num_put/put/char/3.cc: New test wrap.
7373 * testsuite/22_locale/num_put/put/char/5.cc: New test wrap.
7374 * testsuite/22_locale/numpunct/members/char/1.cc: New test wrap.
7375 * testsuite/22_locale/numpunct/members/char/2.cc: New test wrap.
7376 * testsuite/22_locale/numpunct_byname/1.cc: New test wrap.
7377 * testsuite/22_locale/numpunct_byname/2.cc: New test wrap.
7378 * testsuite/22_locale/time_get/date_order/char/1.cc: New test wrap.
7379 * testsuite/22_locale/time_get/get_date/char/1.cc: New test wrap.
7380 * testsuite/22_locale/time_get/get_date/char/2.cc: New test wrap.
7381 * testsuite/22_locale/time_get/get_monthname/char/1.cc: New test wrap.
7382 * testsuite/22_locale/time_get/get_monthname/char/2.cc: New test wrap.
7383 * testsuite/22_locale/time_get/get_time/char/1.cc: New test wrap.
7384 * testsuite/22_locale/time_get/get_time/char/2.cc: New test wrap.
7385 * testsuite/22_locale/time_get/get_weekday/char/1.cc: New test wrap.
7386 * testsuite/22_locale/time_get/get_weekday/char/2.cc: New test wrap.
7387 * testsuite/22_locale/time_get/get_year/char/1.cc: New test wrap.
7388 * testsuite/22_locale/time_put/put/char/1.cc: New test wrap.
7389 * testsuite/22_locale/time_put/put/char/2.cc: New test wrap.
7390 * testsuite/22_locale/time_put/put/char/3.cc: New test wrap.
7391 * testsuite/22_locale/time_put/put/char/4.cc: New test wrap.
7392 * testsuite/22_locale/time_put/put/char/5.cc: New test wrap.
7393 * testsuite/22_locale/time_put/put/char/6.cc: New test wrap.
7394 * testsuite/22_locale/time_put/put/char/7.cc: New test wrap.
7395 * testsuite/22_locale/time_put/put/char/8.cc: New test wrap.
7396 * testsuite/27_io/filebuf_virtuals.cc: New test wrap.
7397 * testsuite/27_io/ios_members.cc: New test wrap.
7398 * testsuite/27_io/ostream_inserter_arith.cc (test02): Make void.
7400 * testsuite/27_io/streambuf_members.cc: New test wrap.
7401 * testsuite/27_io/stringbuf_virtuals.cc: New test wrap.
7403 2003-03-08 Paolo Carlini <pcarlini@unitus.it>
7404 Petur Runolfsson <peturr02@ru.is>
7407 * include/bits/streambuf.tcc (__copy_streambufs): Use
7408 sgetn-sputn only when sputn cannot fail, otherwise fall back
7409 to safe snextc-sputc.
7410 * testsuite/27_io/streambuf_members.cc (test11, test12): Add.
7412 2003-03-08 Jerry Quinn <jlquinn@optonline.net>
7414 * include/bits/locale_facets.tcc (num_put::do_put(bool)): Use
7415 locale cache for truename and falsename.
7417 2003-03-08 Jerry Quinn <jlquinn@optonline.net>
7419 * src/ios.cc (ios_base::ios_base): Correct order of _M_word and
7420 _M_word_size initialization.
7422 2003-03-07 Paolo Carlini <pcarlini@unitus.it>
7424 * include/bits/fstream.tcc (_M_convert_to_external):
7425 Set __elen to zero if codecvt::out eventually fails.
7427 2003-03-07 Paolo Carlini <pcarlini@unitus.it>
7430 * include/bits/fstream.tcc (_M_really_overflow): Check
7431 for _M_convert_to_external possible failures.
7432 * include/std/std_fstream.h (sync): Check _M_really_overflow
7433 return value and return -1 in case of failure.
7434 * testsuite/27_io/filebuf_virtuals.cc (test13, test14): Add.
7436 2003-03-07 Paolo Carlini <pcarlini@unitus.it>
7439 * include/bits/istream.tcc (operator>>(_CharT*),
7440 operator>>(basic_string&), ws): Pass a char_type to __ctype.is.
7441 * testsuite/27_io/stringstream.cc (test02): Add.
7443 * include/bits/istream.tcc (operator>>(_CharT*)):
7444 Assign a char_type to *__s.
7446 2003-03-07 Petur Runolfsson <peturr02@ru.is>
7449 * include/bits/locale_facets.tcc
7450 (collate::do_compare, collate::do_transform):
7451 Handle nul characters in input.
7452 * testsuite/22_locale/collate/compare/char/3.cc: New test.
7453 * testsuite/22_locale/collate/compare/wchar_t/3.cc: New test.
7454 * testsuite/22_locale/collate/transform/char/3.cc: New test.
7455 * testsuite/22_locale/collate/transform/wchar_t/3.cc: New test.
7457 2003-03-07 Jerry Quinn <jlquinn@optonline.net>
7459 * include/bits/streambuf_iterator.h (_M_put): Set _M_failed if
7461 * testsuite/27_io/ostream_fail.cc: New test.
7463 2003-03-07 Matthias Klose <doko@debian.org>
7465 * Makefile.am (AM_MAKEFLAGS): Also pass gxx_include_dir.
7466 FLAGS_TO_PASS: Set to AM_MAKEFLAGS
7467 * Makefile.in: Regenerate.
7468 * libsupc++/Makefile.am: Express glibcppinstalldir in terms
7470 AM_MAKEFLAGS: Pass gxx_include_dir.
7471 * libsupc++/Makefile.in: Regenerate.
7473 2003-03-06 Jerry Quinn <jlquinn@optonline.net>
7475 * testsuite/27_io/ios_base_storage.cc (test02): Set exception
7476 mask. Test setting small-numbered pword and iword slots. Test
7477 behavior at limit of numeric_limits::max. Check that values are
7478 still good after failures.
7480 2003-03-06 Jerry Quinn <jlquinn@optonline.net>
7482 * src/ios.cc (ios_base::_M_init): Remove _M_word_size.
7483 (ios_base::ios_base): Set _M_word, _M_word_size.
7484 (ios_base::~ios_base): Remove redundant test.
7485 * testsuite/27_io/ios_base_storage.cc (test03): New.
7487 2003-03-04 Alexandre Oliva <aoliva@redhat.com>
7489 * src/strstream.cc, include/bits/basic_string.tcc: Remove
7490 incorrect whitespace added in my previous change.
7492 2003-03-05 Carlo Wood <carlo@alinoe.com>
7494 * include/bits/ios_base.h(ios_base::Init::_S_initialized()): Added
7495 _S_initialized() in order to allow debugging libraries to detect
7496 when the std streams are initialized from an overloaded operator
7499 2003-03-05 Benjamin Kosnik <bkoz@redhat.com>
7501 * libsupc++/demangle.h: Move to..
7502 * include/bits/demangle.h: ...here.
7503 * src/demangle.cc: Adjust include.
7504 * include/Makefile.am (bits_headers): Add.
7505 * include/Makefile.in: Regenerate.
7507 2003-03-04 Benjamin Kosnik <bkoz@redhat.com>
7509 * src/globals.cc: Clarify comments, remove c_locale_imp_compat.
7511 * config/linker-map.gnu: Filter typeinfo and vtable info.
7513 2003-03-04 Jerry Quinn <jlquinn@optonline.net>
7515 * src/ios.cc (ios_base::_M_grow_words): Don't delete _M_word on
7516 new failure. Throw exception if badbit and exception mask when ix
7517 >= numeric_limits<int>::max().
7519 2003-03-04 Alexandre Oliva <aoliva@redhat.com>
7521 * src/strstream.cc (strstreambuf::overflow): Make sure operands of
7522 min and max have the same type.
7523 * include/bits/basic_string.tcc (append, rfind, compare): Likewise.
7525 2003-03-04 Benjamin Kosnik <bkoz@redhat.com>
7527 * include/Makefile.am (allstamps): Remove stamp-std-precompile.
7528 * include/Makefile.in: Regenerate.
7530 2003-03-03 Benjamin Kosnik <bkoz@redhat.com>
7532 * testsuite/abi_check.cc (report_symbol_info): Add version info.
7534 * config/linker-map.gnu: Hide more stuff.
7535 * include/Makefile.am: Cleanups.
7536 * include/Makefile.in: Regenerate.
7538 2003-02-27 Jerry Quinn <jlquinn@optonline.net>
7540 * config/locale/generic/messages_members.h (messages::messages):
7541 Remove name from unused parameter.
7543 2003-02-27 Benjamin Kosnik <bkoz@redhat.com>
7545 * src/Makefile.am (sources): Add demangle.cc.
7548 * src/Makefile.in: Regenerate.
7549 * libsupc++/Makefile.am: Remove old __cxa_demangle bits.
7550 * libsupc++/Makefile.in: Regenerate.
7552 * testsuite/testsuite_hooks.h
7553 (__gnu_cxx_test::verify_demangle): New.
7554 * testsuite/testsuite_hooks.cc: Define.
7556 2003-02-27 Carlo Wood <carlo@alinoe.com>
7558 * src/demangle.cc: New.
7559 * libsupc++/demangle.h: New.
7561 2003-02-27 Benjamin Kosnik <bkoz@redhat.com>
7562 Carlo Wood <carlo@alinoe.com>
7564 * testsuite/demangle/abi_examples/01.cc: New.
7565 * testsuite/demangle/abi_examples/02.cc: New.
7566 * testsuite/demangle/abi_examples/03.cc: New.
7567 * testsuite/demangle/abi_examples/04.cc: New.
7568 * testsuite/demangle/abi_examples/05.cc: New.
7569 * testsuite/demangle/abi_examples/06.cc: New.
7570 * testsuite/demangle/abi_examples/07.cc: New.
7571 * testsuite/demangle/abi_examples/08.cc: New.
7572 * testsuite/demangle/abi_examples/09.cc: New.
7573 * testsuite/demangle/abi_examples/10.cc: New.
7574 * testsuite/demangle/abi_examples/11.cc: New.
7575 * testsuite/demangle/abi_examples/12.cc: New.
7576 * testsuite/demangle/abi_examples/13.cc: New.
7577 * testsuite/demangle/abi_examples/14.cc: New.
7578 * testsuite/demangle/abi_examples/15.cc: New.
7579 * testsuite/demangle/abi_examples/16.cc: New.
7580 * testsuite/demangle/abi_examples/17.cc: New.
7581 * testsuite/demangle/abi_examples/18.cc: New.
7582 * testsuite/demangle/abi_examples/19.cc: New.
7583 * testsuite/demangle/abi_examples/20.cc: New.
7584 * testsuite/demangle/abi_examples/21.cc: New.
7585 * testsuite/demangle/abi_examples/22.cc: New.
7586 * testsuite/demangle/abi_examples/23.cc: New.
7587 * testsuite/demangle/abi_examples/24.cc: New.
7588 * testsuite/demangle/abi_examples/25.cc: New.
7589 * testsuite/demangle/abi_examples/26.cc: New.
7590 * testsuite/demangle/abi_text/01.cc: New.
7591 * testsuite/demangle/abi_text/02.cc: New.
7592 * testsuite/demangle/abi_text/03.cc: New.
7593 * testsuite/demangle/abi_text/04.cc: New.
7594 * testsuite/demangle/abi_text/05.cc: New.
7595 * testsuite/demangle/abi_text/06.cc: New.
7596 * testsuite/demangle/abi_text/07.cc: New.
7597 * testsuite/demangle/abi_text/08.cc: New.
7598 * testsuite/demangle/abi_text/09.cc: New.
7599 * testsuite/demangle/abi_text/10.cc: New.
7600 * testsuite/demangle/abi_text/11.cc: New.
7601 * testsuite/demangle/abi_text/12.cc: New.
7602 * testsuite/demangle/abi_text/13.cc: New.
7603 * testsuite/demangle/abi_text/14.cc: New.
7604 * testsuite/demangle/regression/3111-1.cc: New.
7605 * testsuite/demangle/regression/3111-2.cc: New.
7606 * testsuite/demangle/regression/7986-01.cc: New.
7607 * testsuite/demangle/regression/7986-02.cc: New.
7608 * testsuite/demangle/regression/7986-03.cc: New.
7609 * testsuite/demangle/regression/7986-04.cc: New.
7610 * testsuite/demangle/regression/7986-05.cc: New.
7611 * testsuite/demangle/regression/7986-06.cc: New.
7612 * testsuite/demangle/regression/7986-07.cc: New.
7613 * testsuite/demangle/regression/7986-08.cc: New.
7614 * testsuite/demangle/regression/7986-09.cc: New.
7615 * testsuite/demangle/regression/7986-10.cc: New.
7616 * testsuite/demangle/regression/7986-11.cc: New.
7617 * testsuite/demangle/regression/7986-12.cc: New.
7618 * testsuite/demangle/regression/7986.cc: New.
7619 * testsuite/demangle/regression/8897.cc: New.
7620 * testsuite/demangle/regression/cw-01.cc: New.
7621 * testsuite/demangle/regression/cw-02.cc: New.
7622 * testsuite/demangle/regression/cw-03.cc: New.
7623 * testsuite/demangle/regression/cw-04.cc: New.
7624 * testsuite/demangle/regression/cw-05.cc: New.
7625 * testsuite/demangle/regression/cw-06.cc: New.
7626 * testsuite/demangle/regression/cw-07.cc: New.
7627 * testsuite/demangle/regression/cw-08.cc: New.
7628 * testsuite/demangle/regression/cw-09.cc: New.
7629 * testsuite/demangle/regression/cw-10.cc: New.
7630 * testsuite/demangle/regression/cw-11.cc: New.
7631 * testsuite/demangle/regression/cw-12.cc: New.
7632 * testsuite/demangle/regression/cw-13.cc: New.
7633 * testsuite/demangle/regression/cw-14.cc: New.
7634 * testsuite/demangle/regression/old.cc: New.
7636 2003-02-25 Phil Edwards <pme@gcc.gnu.org>
7638 * docs/doxygen/Intro.3: Update with new (proper) names.
7639 * docs/doxygen/TODO: Update.
7640 * docs/doxygen/run_doxygen: More comments, fix up man pages.
7641 Fake entries for standard typedefs.
7642 * docs/doxygen/user.cfg.in: Turn INLINE_INHERITED_MEMB back on.
7643 * docs/html/documentation.html: Top-level man page is now called
7645 * include/std/std_limits.h: Doxygenate.
7647 2003-02-25 Scott Snyder <snyder@fnal.gov>
7650 * include/bits/stl_map.h (lower_bound, upper_bound, equal_range):
7651 Correct documentation.
7652 * include/bits/stl_multimap.h (lower_bound, upper_bound,
7653 equal_range): Likewise.
7655 2003-02-24 Paolo Carlini <pcarlini@unitus.it>
7659 (basic_filebuf<char/wchar_t>::_M_underflow_common): When
7660 __bump is true (uflow), always increment the read pointer
7661 (_M_in_cur) before returning successfully.
7662 * testsuite/27_io/filebuf_virtuals.cc (test12): Add.
7664 2003-02-24 Paolo Carlini <pcarlini@unitus.it>
7665 Nathan Myers <ncm@cantrip.org>
7667 PR libstdc++/9404, PR libstdc++/9701 (partial)
7668 (aka pptr == epptr implies overflow)
7669 * include/bits/fstream.tcc (_M_allocate_internal_buffer):
7670 Consistently, _M_out_end points to the end of the buffer just
7672 (overflow): Tweak to use _M_out_buf_size().
7673 (_M_convert_to_external): The role of the old _M_out_end is
7674 now played by _M_out_lim.
7675 (_M_really_overflow): Likewise.
7676 (seekoff): Likewise.
7677 (setbuf): _M_out_end points to the end of the external buffer.
7678 * include/bits/sstream.tcc (overflow): Rewrote, taking into
7679 account the resolution of DR 169 (TC).
7680 (seekoff): Use _M_string.capacity(); ios_base::end is now _M_out_lim.
7681 (seekpos): Use _M_string.capacity(); tweak.
7682 * include/bits/streambuf.tcc (sputc, xsputn): Remove comments.
7683 * include/std/std_fstream.h (sync): The role of the old
7684 _M_out_end is now played by _M_out_lim.
7685 (_M_set_indeterminate): Use _M_set_determinate.
7686 (_M_set_determinate): _M_out_end is now _M_out_lim.
7687 (_M_is_indeterminate): Likewise.
7688 * include/std/std_sstream.h (str()): _M_out_end is now _M_out_lim.
7689 (_M_stringbuf_init): Don't set _M_buf_size, unused for sstreams,
7690 which have the information readily available as _M_string.capacity();
7691 for ate and app modes, pass the string size to _M_really_sync.
7692 (_M_really_sync): Consistently set _M_out_end and _M_out_lim, to
7693 point to the end of the buffer (i.e., epptr) and to the string end,
7695 * include/std/std_streambuf.h: tweak comments, add _M_out_lim,
7696 which points to the right limit of the used put area.
7697 (_M_out_cur_move): The role of the old _M_out_end is now played
7699 (_M_out_buf_size): Simplify: now (when _M_out_cur) return simply
7700 _M_out_end - _M_out_cur (i.e., pptr), _very_ close to the letter
7702 (basic_streambuf()): Initialize _M_out_lim too.
7703 * testsuite/27_io/filebuf_virtuals.cc (test10): Trivial tweak.
7704 * testsuite/27_io/filebuf_virtuals.cc (test11): Add.
7705 * testsuite/27_io/stringbuf_virtuals.cc (test09): Add.
7707 2003-02-24 Benjamin Kosnik <bkoz@redhat.com>
7709 * testsuite/27_io/ios_base_storage.cc (main): Call
7712 2003-02-21 Jerry Quinn <jlquinn@optonline.net>
7714 * include/bits/locale_facets.tcc (_M_convert_float): Replace
7715 numpunct facet accesses with data from __locale_cache.
7717 2003-02-20 Phil Edwards <pme@gcc.gnu.org>
7719 * docs/html/faq/index.html (3.9): New note, wchar_t on FreeBSD.
7720 * docs/html/faq/index.txt: Regenerate.
7722 2003-02-20 Phil Edwards <pme@gcc.gnu.org>
7724 * config/linker-map.gnu: Also export locking symbols needed for the
7725 generic atomicity.h case.
7727 2003-02-20 Alexandre Oliva <aoliva@redhat.com>
7729 * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
7731 * configure: Rebuilt.
7733 2003-02-19 Paolo Carlini <pcarlini@unitus.it>
7735 * include/bits/sstream.tcc (overflow): According to
7736 27.7.1.3, p5, actual output is performed by sputc(c).
7738 2003-02-19 Phil Edwards <pme@gcc.gnu.org>
7741 * include/bits/stl_alloc.h: Remove all traces of assert().
7743 2003-02-18 Paolo Carlini <pcarlini@unitus.it>
7745 * include/std/std_sstream.h (str()): the size of the
7746 current string may be different from the initial one
7747 whenever _M_out_end > _M_out_beg.
7748 * testsuite/27_io/stringbuf_members.cc (test07): Add.
7750 2003-02-18 Paolo Carlini <pcarlini@unitus.it>
7753 * include/bits/stl_alloc.h (__pool_alloc::allocate): Remove assert.
7755 2003-02-17 Benjamin Kosnik <bkoz@redhat.com>
7757 * include/bits/basic_ios.tcc (copyfmt): Copy locale data as well.
7758 * testsuite/27_io/ios_members.cc (test03): New.
7760 2003-02-17 Jerry Quinn <jlquinn@optonline.net>
7762 * include/bits/basic_ios.h (basic_ios::_M_cache_locale): Declare.
7763 (basic_ios::_M_cache_facets): Move into above.
7764 * include/bits/basic_ios.tcc (basic_ios::copyfmt): Rebuild locale
7766 (basic_ios::imbue): Force locale cache to be built.
7767 (basic_ios::_M_init): Create and initialize locale cache.
7768 * include/bits/ios_base.h (__locale_cache_base): Declare.
7769 (ios_base::_M_locale_cache): New.
7770 (ios_base::_M_cache): Define.
7771 * include/bits/locale_facets.h: (__num_base): Fix comment. Add
7773 (__locale_cache_base,__locale_cache<_CharT>): New classes.
7774 (__locale_cache<char>, __locale_cache<wchar_t>): New specializations.
7775 * include/bits/locale_facets.tcc (num_put::_M_convert_int): Use locale
7776 cache literal string, grouping flag, thousands separator.
7777 (__locale_cache<_CharT>::__locale_cache): New.
7778 (__locale_cache<_CharT>::_M_init): New.
7779 * src/ios.cc: Clear _M_locale_cache in constructor.
7780 * src/locale-inst.cc (__locale_cache<char>, __locale_cache<_char_t>):
7783 2003-02-17 Paolo Carlini <pcarlini@unitus.it>
7785 * src/locale-inst.cc: Do not include <cassert>.
7786 * src/locale.cc: Likewise.
7788 2003-02-17 Paolo Carlini <pcarlini@unitus.it>
7791 * include/std/std_fstream.h: Declare underflow and uflow
7792 specializations, change generic definitions to do nothing.
7793 * src/fstream.cc: Add underflow and uflow specializations.
7795 2003-02-17 Paolo Carlini <pcarlini@unitus.it>
7798 * include/bits/fstream.tcc (_M_convert_to_external):
7799 Deal correctly with noconv, as prescribed by 27.8.1.4,p8.
7800 * testsuite/27_io/filebuf_virtuals.cc (test10): Add.
7802 2003-02-13 Benjamin Kosnik <bkoz@redhat.com>
7804 * include/bits/c++config (_GLIBCPP_EXTERN_TEMPLATE): Define.
7805 * include/bits/basic_ios.tcc: Guard use of extern template.
7806 * include/std/std_iomanip.h: Same.
7807 * include/bits/streambuf.tcc: Same.
7808 * include/bits/stl_alloc.h: Same.
7809 * include/bits/locale_facets.tcc: Same.
7810 * include/bits/ostream.tcc: Same.
7811 * include/bits/istream.tcc: Same.
7812 * include/bits/fstream.tcc: Same.
7813 * include/bits/basic_string.tcc: Same.
7815 2003-02-13 Paolo Carlini <pcarlini@unitus.it>
7817 * include/bits/ostream.tcc (sentry::sentry): Improve
7818 performance-wise the fix for libstdc++/9563.
7820 2003-02-12 Phil Edwards <pme@gcc.gnu.org>
7822 * config/cpu/generic/atomicity.h (_Atomic_add_mutex): Fix declaration.
7823 (_GLIBCPP_NEED_GENERIC_MUTEX): Define for this file.
7824 (_Atomic_add_mutex_once, __gthread_atomic_add_mutex_once): Declare
7825 when we don't have static mutex initialization.
7826 (__exchange_and_add): Use _Atomic_add_mutex_once.
7827 * src/misc-inst.cc: Definitions of all the above.
7829 2003-02-12 Paolo Carlini <pcarlini@unitus.it>
7832 * include/bits/ostream.tcc (sentry::sentry): Check
7833 the state of the stream after the preparation.
7834 * testsuite/27_io/ostream_sentry.cc (test02): Add.
7836 2003-02-11 Benjamin Kosnik <bkoz@redhat.com>
7838 * include/Makefile.am (stamp-std-precompile): Add rule.
7839 * include/Makefile.in: Regenerated.
7841 2003-02-11 Jerry Quinn <jlquinn@optonline.net>
7842 Benjamin Kosnik <benjamin@redhat.com>
7844 * include/bits/locale_facets.h (__num_base): Add _S_atoms_out.
7845 Add indexes into this array.
7846 (__num_base::_S_atoms): To _S_atoms_in.
7847 (num_put::_M_insert): Rename to _M_pad.
7848 (num_put::_M_convert_int): Adjust remove __mod, __modl arguments.
7849 (num_put::_M_widen_int): Rename to _M_group_int.
7850 (num_put::_M_widen_float): Rename to _M_group_float.
7851 * include/bits/locale_facets.tcc (__int_to_char): New inline
7852 function and adapter functions.
7853 (num_put::_M_group_int): Streamline.
7854 (num_put::_M_group_float): Streamline.
7855 (num_put::_M_convert_int): Remove unused parameter names. Choose
7856 large enough buffer for text. Use __int_to_char instead of
7857 __convert_from_v. Formatted text is now at the end of the buffer.
7858 (num_put::_M_convert_float): Preliminary fixups.
7859 * src/locale-inst.cc (__convert_from_v<long long>): Add ifdef.
7860 (__int_to_char<unsigned long long>): Same.
7861 (__int_to_char<char, unsigned long>): New.
7862 (__int_to_char<char, unsigned long long>): New.
7863 (__int_to_char<wchar_t, unsigned long>): New.
7864 (__int_to_char<wchar_t, unsigned long long>): New.
7866 2003-02-11 Scott Snyder <snyder@fnal.gov>
7869 * include/bits/fstream.tcc (seekoff): Avoid operator+
7872 2003-02-11 Paolo Carlini <pcarlini@unitus.it>
7875 * include/ext/stdio_filebuf.h
7876 (stdio_filebuf(int, std::ios_base::openmode, bool, int_type),
7877 stdio_filebuf(std::__c_file*, std::ios_base::openmode, int_type)):
7878 Change to take a __size parameter of type size_t, not
7879 of type (template parameter dependent) int_type.
7880 * src/ios.cc (ios_base::Init::_S_ios_create): Change type of
7881 size vars to size_t.
7882 * testsuite/ext/stdio_filebuf.cc: Add.
7884 2003-02-11 Paolo Carlini <pcarlini@unitus.it>
7885 Petur Runolfsson <peturr02@ru.is>
7888 * include/bits/streambuf.tcc (__copy_streambufs):
7889 Don't conditionalize the copy to __testput.
7890 * testsuite/27_io/streambuf_members.cc (test09, test10): Add.
7892 2002-02-11 DJ Delorie <dj@redhat.com>
7894 * acinclude.m4: Check for native targets that can't link at
7895 this point in the build.
7896 * aclocal.m4: Regenerate.
7897 * configure: Regenerate.
7899 2003-02-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7901 * hppa/atomicity.h (__Atomicity_lock<__inst>::_S_atomicity_lock):
7903 (__exchange_and_add, __atomic_add): Use PA 2.0 ordered store to reset
7906 2003-02-07 Paolo Carlini <pcarlini@unitus.it>
7908 * testsuite/27_io/filebuf_virtuals.cc (test08): Fix for
7909 unsigned char platforms.
7911 2003-02-06 Paolo Carlini <pcarlini@unitus.it>
7914 * include/std/std_istream.h
7915 (basic_istream::sentry::operator bool()): Make const.
7916 * include/std/std_ostream.h
7917 (basic_ostream::sentry::operator bool()): Likewise.
7918 * testsuite/27_io/istream_sentry.cc (test03): Add.
7919 * testsuite/27_io/ostream_sentry.cc: Add.
7921 2003-02-06 Paolo Carlini <pcarlini@unitus.it>
7924 Implement resolution of DR 231 (Ready)
7925 * include/bits/locale_facets.h (__num_base::_S_format_float):
7926 Change declaration: return void, remove __prec parameter.
7927 * src/locale.cc (__num_base::_S_format_float): Implement
7928 resolution of DR 231.
7929 * include/bits/locale_facets.tcc (num_put::_M_convert_float):
7930 Tweak uses. Check for negative precision.
7931 * testsuite/22_locale/num_put/put/char/6.cc: Add
7932 * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
7934 2003-02-06 Peter Soetens <peter.soetens@mech.kuleuven.ac.be>
7936 * config/io/basic_file_libio.h: Fixups.
7937 * config/io/c_io_libio.h: Same.
7938 * libio/Makefile.am: Same.
7939 * libio/Makefile.in: Regenerated.
7941 2003-02-06 Benjamin Kosnik <bkoz@redhat.com>
7943 * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc (test01):
7944 Explicitly use the "C" locale.
7945 * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc (test01): Same.
7947 2003-02-06 Petur Runolfsson <peturr02@ru.is>
7951 PR libstdc++/9028 (partial)
7957 (codecvt<wchar_t, char, mbstate_t>::do_encoding,
7958 codecvt<wchar_t, char, mbstate_t>::do_length,
7959 codecvt<wchar_t, char, mbstate_t>::do_max_length):
7961 * config/locale/generic/codecvt_members.cc: ...here.
7962 * config/locale/gnu/codecvt_members.cc: ...and here.
7964 * config/locale/generic/codecvt_members.cc,
7965 * config/locale/gnu/codecvt_members.cc
7966 (codecvt<wchar_t, char, mbstate_t>::do_encoding
7967 codecvt<wchar_t, char, mbstate_t>::do_in,
7968 codecvt<wchar_t, char, mbstate_t>::do_length,
7969 codecvt<wchar_t, char, mbstate_t>::do_max_length,
7970 codecvt<wchar_t, char, mbstate_t>::do_out):
7971 New implementation that handles stateless encodings,
7974 * config/locale/generic/codecvt_members.cc,
7975 * config/locale/gnu/codecvt_members.cc,
7976 * config/locale/ieee_1003.1-2001/codecvt_specializations.h,
7977 * include/bits/codecvt.h,
7979 (codecvt::length, codecvt::do_length):
7980 Change type of first argument of length and do_length from
7981 'const state_type&' to 'state_type&' according to DR 75.
7983 * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Cleanup.
7984 * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: New test.
7985 * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: New test.
7986 * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: New test.
7987 * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc:
7988 Cleanup and check for correct return value from encoding
7990 * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: New test.
7991 * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: New test.
7992 * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: New test.
7993 * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Cleanup.
7994 * testsuite/22_locale/codecvt/in/wchar_t/2.cc: New test.
7995 * testsuite/22_locale/codecvt/in/wchar_t/3.cc: New test.
7996 * testsuite/22_locale/codecvt/in/wchar_t/4.cc: New test.
7997 * testsuite/22_locale/codecvt/in/wchar_t/5.cc: New test.
7998 * testsuite/22_locale/codecvt/in/wchar_t/6.cc: New test.
7999 * testsuite/22_locale/codecvt/in/wchar_t/7.cc: New test.
8000 * testsuite/22_locale/codecvt/in/wchar_t/8.cc: New test.
8001 * testsuite/22_locale/codecvt/in/wchar_t/9.cc: New test.
8002 * testsuite/22_locale/codecvt/length/char/1.cc: Cleanup.
8003 * testsuite/22_locale/codecvt/length/char/2.cc: New test.
8004 * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Cleanup.
8005 * testsuite/22_locale/codecvt/length/wchar_t/2.cc: New test.
8006 * testsuite/22_locale/codecvt/length/wchar_t/3.cc: New test.
8007 * testsuite/22_locale/codecvt/length/wchar_t/4.cc: New test.
8008 * testsuite/22_locale/codecvt/length/wchar_t/5.cc: New test.
8009 * testsuite/22_locale/codecvt/length/wchar_t/6.cc: New test.
8010 * testsuite/22_locale/codecvt/length/wchar_t/7.cc: New test.
8011 * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Cleanup.
8012 * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: New test.
8013 * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: New test.
8014 * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: New test.
8015 * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Cleanup.
8016 * testsuite/22_locale/codecvt/out/wchar_t/2.cc: New test.
8017 * testsuite/22_locale/codecvt/out/wchar_t/3.cc: New test.
8018 * testsuite/22_locale/codecvt/out/wchar_t/4.cc: New test.
8019 * testsuite/22_locale/codecvt/out/wchar_t/5.cc: New test.
8020 * testsuite/22_locale/codecvt/out/wchar_t/6.cc: New test.
8021 * testsuite/22_locale/codecvt/out/wchar_t/7.cc: New test.
8022 * testsuite/22_locale/codecvt/unicode/1.cc: New test.
8023 * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Cleanup.
8024 * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: New test.
8025 * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: New test.
8026 * testsuite/22_locale/codecvt/unshfit/wchar_t/4.cc: New test.
8028 2003-02-05 Benjamin Kosnik <bkoz@redhat.com>
8030 * include/bits/locale_facets.tcc (time_put::do_put): Use __write.
8031 (money_put::do_put): Same.
8033 2003-02-05 Jerry Quinn <jlquinn@optonline.net>
8035 * include/bits/ios_base.h (ios_base): Document reserved storage.
8037 * include/bits/locale_facets.h: (struct __pad): Comment on
8039 (__verify_grouping): Same.
8040 (__add_grouping): Same.
8041 * include/bits/locale_facets.tcc (__verify_grouping): Move
8042 comments to declaration.
8043 (__add_grouping): Same.
8045 * include/bits/locale_facets.tcc:
8046 (__write<_CharT, _OutIter>): New function.
8047 (__write<_CharT>): New function specialization.
8048 (num_put::_M_insert): Remove explicit loop over iterator. Use
8050 (num_put::_M_widen_float): Remove __basefield.
8051 (num_put::_M_widen_int): Move __basefield to within grouping block.
8053 * include/bits/streambuf_iterator.h: Include <streambuf>.
8054 (ostreambuf_iterator::_M_put): Add.
8056 2003-02-05 Paolo Carlini <pcarlini@unitus.it>
8058 * testsuite/26_numerics/valarray_name_lookup.cc: Fix typo.
8060 2003-02-04 Nathan Myers <ncm@cantrip.org>
8062 * testsuite/25_algorithms/min_max.cc (test02): Add.
8064 2003-02-04 Paolo Carlini <pcarlini@unitus.it>
8066 PR libstdc++/9439, PR libstdc++/9425
8067 * config/io/basic_file_stdio.cc
8068 (__basic_file<char>::seekoff, seekpos): Return -1L if
8070 * include/bits/fstream.tcc (basic_filebuf::seekoff):
8071 Check _M_file.seekoff return value; always return
8072 pos_type(off_type(-1)) in case of failure.
8073 (basic_filebuf::pbackfail): Check this->seekoff return
8074 value and return traits_type::eof() in case of failure.
8075 * testsuite/27_io/filebuf_virtuals.cc (test09): Add.
8077 2003-02-04 Jerry Quinn <jlquinn@optonline.net>
8079 * include/std/std_ostream.h (ostream::_M_write): Declare.
8080 * ostream.tcc (ostream::_M_write): Define.
8081 (basic_ostream::write): Use it.
8082 (operator<<(basic_ostream, _CharT)): Ditto.
8083 (operator<<(basic_ostream, char)): Ditto.
8084 (operator<<(basic_ostream, _CharT*)): Ditto.
8085 (operator<<(basic_ostream, char*)): Ditto.
8086 (operator<<(basic_ostream, basic_string)): Ditto.
8088 2003-02-04 Benjamin Kosnik <bkoz@redhat.com>
8090 * testsuite/26_numerics/valarray_name_lookup.cc: Fix.
8092 2002-02-04 Jonathan Wakely <redi@gcc.gnu.org>
8094 * docs/html/27_io/howto.html: Link to Dietmar Kuehl's IOStream page,
8095 add HTML comment about updating links if numbering changes.
8097 2003-02-04 Paolo Carlini <pcarlini@unitus.it>
8100 * include/bits/streambuf.tcc (sputbackc): Access
8101 this->gptr()[-1] only if _M_in_beg < _M_in_cur.
8102 * testsuite/27_io/filebuf_virtuals.cc (test08): Add.
8104 2003-02-04 Paolo Carlini <pcarlini@unitus.it>
8107 * include/bits/fstream.tcc (open): If the 'ate' repositioning
8108 operation fails, calls close _and_ returns a null pointer
8109 to indicate failure (27.8.1.3,4).
8110 * testsuite/27_io/filebuf_members.cc (test_06): Add.
8112 2003-02-04 Petur Runolfsson <peturr02@ru.is>
8114 * testsuite/27_io/filebuf_members.cc (test_04): Remove exit(0).
8116 2002-02-04 Jonathan Wakely <redi@gcc.gnu.org>
8118 * docs/html/27_io/howto.html: New section on stdio_filebuf.
8119 * docs/html/ext/howto.html: Move stdio_filebuf notes to 27_io.
8120 * docs/html/documentation.html: Regenerate.
8122 2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
8124 * docs/html/17_intro/porting.texi: Update to GFDL 1.2.
8125 * docs/html/17_intro/porting.html: Regenerate.
8127 2003-02-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
8128 Phil Edwards <pme@gcc.gnu.org>
8130 * include/std/std_bitset.h: Replace CHAR_BIT with __CHAR_BIT__, use
8131 numeric_limits for bits-per-word values.
8132 (_Base_bitset::_M_do_count, _Base_bitset<1>::_M_do_count):
8133 Use __builtin_popcountl instead.
8134 (_Base_bitset::_M_do_find_first, _Base_bitset::_M_do_find_next,
8135 _Base_bitset<1>::_M_do_find_first, _Base_bitset<1>::_M_do_find_next):
8136 Use __builtin_ctzl instead.
8137 (_S_bit_count, _S_first_one): Remove.
8138 * config/linker-map.gnu (GLIBCPP_3.4): Remove std::_S_bit_count.
8139 * src/Makefile.am (sources): Remove bitset.cc.
8140 * src/bitset.cc: Delete file.
8141 * src/Makefile.in: Regenerate.
8143 2003-02-03 Phil Edwards <pme@gcc.gnu.org>
8145 PR libstdc++/9527, PR libstdc++/8713
8146 * docs/html/install.html: Mention glibc version requirement.
8147 * docs/html/faq/index.html (3.8): New note, glibc 2.2.5+ is needed
8148 with 3.2.1+ (formatting bugfixes).
8149 * docs/html/faq/index.txt: Regenerate.
8151 2003-02-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
8154 * include/bits/valarray_before.h (_UnBase::operator[]): Apply unary
8157 * include/bits/valarray_before.h (__not_equal_to): Use != instead
8160 * testsuite/26_numerics/valarray_operators.cc: New test.
8162 2003-02-01 Phil Edwards <pme@gcc.gnu.org>
8164 * docs/html/faq/index.html: Correct link to libg++ information.
8165 * docs/html/faq/index.txt: Regenerated.
8167 2003-02-01 Paolo Carlini <pcarlini@unitus.it>
8168 Benjamin Kosnik <bkoz@redhat.com>
8170 Const correctness issue:
8171 http://gcc.gnu.org/ml/libstdc++/2003-01/msg00370.html
8172 * include/bits/locale_classes.h
8173 (locale::_Impl::_M_facets): Change type to const facet**.
8174 (locale::_Impl::_M_install_facet): Change declaration to
8176 (locale::facet::_M_references): Make mutable.
8177 (locale::facet::_M_add_reference): Declare const.
8178 (locale::facet::_M_remove_reference): Likewise.
8179 * include/bits/locale_facets.tcc
8180 (use_facet(const locale&)): Tweak for const facet** _M_facets.
8181 (has_facet(const locale&)): Likewise.
8183 (locale::facet::_M_add_reference): Adjust definition.
8184 (locale::facet::_M_remove_reference): Likewise.
8186 (locale::_Impl::_Impl(const _Impl&, size_t)): Tweak for
8187 const facet** _M_facets.
8188 (locale::_Impl::_Impl(const char*, size_t)): Likewise.
8189 (locale::_Impl::_Impl(facet**, size_t, bool)): Likewise.
8190 (locale::_Impl::_M_install_facet): Adjust definition to take
8191 const facet* and for const facet** _M_facets.
8192 * testsuite/22_locale/locale/cons/8.cc: Add.
8194 2003-01-29 Mark Mitchell <mark@codesourcery.com>
8196 * include/std/std_limits.h (numeric_limits<float>::has_infinity):
8197 Use __FLT_HAS_INIFINITY__ to initialize.
8198 (numeric_limits<float>::has_quiet_NaN): Likewise.
8199 (numeric_limits<double>::has_infinity): Use __DBL_HAS_INIFINITY__
8201 (numeric_limits<double>::has_quiet_NaN): Likewise.
8202 (numeric_limits<long double>::has_infinity): Use
8203 __LDBL_HAS_INIFINITY__ to initialize.
8204 (numeric_limits<long_double>::has_quiet_NaN): Likewise.
8206 2003-01-28 Nathan Sidwell <nathan@codesourcery.com>
8209 * libsupc++/tinfo.cc (__vmi_class_type_info::__do_dyncast): Cope
8210 with bases which are very ambiguous.
8212 2003-01-28 Danny Smith <dannysmith@users.sourceforge.net>
8214 * src/Makefile.am (CONFIG_CXXFLAGS): Reverse order of
8215 @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@.
8216 * libsupc++/Makefile.am (CONFIG_CXXFLAGS): Likewise.
8217 * src/Makefile.in: Regenerate.
8218 * libsupc++/Makefile.in: Regenerate.
8220 2003-01-27 Alexandre Oliva <aoliva@redhat.com>
8222 * acinclude.m4 (glibcpp_toolexeclibdir): Instead of
8223 $(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless
8224 version_specific_libs is enabled.
8225 * aclocal.m4, configure: Rebuilt.
8227 2003-01-24 Nathan Sidwell <nathan@codesourcery.com>
8229 * include/bits/valarray_meta.h: Remove, split into ...
8230 * include/bits/valarray_before.h: ... this, and ...
8231 * include/bits/valarray_after.h: ... this.
8232 * include/std/std_valarray.h: Adjust.
8233 * include/Makefile.am (bits_headers): Adjust.
8234 * include/Makefile.in: Regenerate.
8236 2003-01-24 Andreas Schwab <schwab@suse.de>
8238 * config/linker-map.gnu: Fix for size_t variance.
8240 2003-01-23 Petur Runolfsson <peturr02@ru.is>
8243 * include/std/std_streambuf.h
8244 (basic_streambuf::basic_streambuf,
8245 basic_streambuf::~basic_streambuf,
8246 basic_streambuf::getloc, basic_streambuf::imbue):
8247 Remove _M_buf_locale_init
8248 * include/bits/fstream.tcc (basic_filebuf::imbue): Likewise
8249 * testsuite/27_io/filebuf_virtuals.cc (test08): Add.
8250 * testsuite/27_io/streambuf_members.cc (test08): Add.
8251 * testsuite/27_io/stringbuf_virtuals.cc (test08): Add.
8253 2003-01-23 Benjamin Kosnik <bkoz@redhat.com>
8255 Revert include ordering.
8256 * config/locale/generic/c_locale.h: Add include guards.
8257 * config/locale/gnu/c_locale.h: Same.
8258 * include/bits/locale_classes.h: Remove cctype include.
8259 * include/std/std_iosfwd.h: Add c++locale.h, cctype includes.
8260 * include/std/std_fstream.h: Remove streambuf include.
8261 * include/std/std_sstream.h: Remove streambuf include.
8263 2003-01-23 Benjamin Kosnik <bkoz@redhat.com>
8265 * configure.in (libtool_VERSION): To 6:0:0.
8266 * configure: Regenerated.
8267 * config/linker-map.gnu: Clean.
8269 * src/misc-inst.cc: Remove instantiations.
8271 * include/bits/stl_alloc.h (__malloc_alloc_template):
8273 (__default_alloc_template): To __pool_alloc.
8274 * src/stl-inst.cc: Same.
8275 * include/backward/alloc.h: Update.
8276 * testsuite/ext/allocators.cc: Update.
8278 * src/globals.cc (__gnu_cxx): Remove _GLIBCPP_ASM_SYMVER. Should
8279 really try to remove these if possible.
8280 * src/locale.cc (std): Same.
8282 * testsuite/abi_check.cc (check_version): Add.
8284 2003-01-22 Benjamin Kosnik <bkoz@redhat.com>
8285 Sysoltsev Slawa <Vyatcheslav.Sysoltsev@intel.com>
8286 Mark Mitchell <mark@codesourcery.com>
8289 * include/std/std_fstream.h (basic_filebuf::uflow): Declare.
8290 (basic_filebuf::underflow): Declare.
8293 2003-01-22 Benjamin Kosnik <bkoz@redhat.com>
8295 * include/bits/locale_facets.h: Move non-facet classes requiring
8297 * include/bits/locale_classes.h: New.
8298 * include/bits/Makefile.am (bits_headers_src): Add locale_classes.h.
8299 * include/bits/Makefile.in: Regenerate.
8301 * include/bits/locale_facets.tcc (__convert_from_v): Move to...
8302 * config/locale/gnu/c_locale.h: ...here.
8303 * config/locale/generic/c_locale.h: Same.
8305 * include/bits/locale_facets.tcc: Move declarations to...
8306 * include/bits/locale_facets.h: ...here.
8307 * include/bits/basic_ios.h: Tweak includes accordingly.
8308 * include/std/std_sstream.h: Add streambuf include.
8309 * include/std/std_fstream.h: Ditto.
8310 * include/std/std_locale.h: Add locale_classes.h include.
8311 * include/std/std_iosfwd.h: Tweak.
8312 * src/concept-inst.cc: Add iterator include.
8314 * config/linker-map.gnu: Specify __cxa functions, mark __cxa_dyn_*
8315 bits as unexported in the future.
8317 2003-01-21 Benjamin Kosnik <bkoz@redhat.com>
8319 Reshuffle 22_locale testsuite.
8320 * 22_locale/(codecvt.cc money_get.cc
8321 codecvt_members_char_char.cc money_get_members_char.cc
8322 codecvt_members_unicode_char.cc money_get_members_wchar_t.cc
8323 codecvt_members_unicode_wchar_t.cc moneypunct_byname.cc
8324 codecvt_members_wchar_t_char.cc moneypunct.cc collate_byname.cc
8325 moneypunct_members_char.cc collate.cc moneypunct_members_wchar_t.cc
8326 collate_members_char.cc money_put.cc collate_members_wchar_t.cc
8327 money_put_members_char.cc ctor_copy_dtor.cc
8328 money_put_members_wchar_t.cc ctype.cc num_get.cc ctype_is_char.cc
8329 num_get_members_char.cc ctype_is_wchar_t.cc num_get_members_wchar_t.cc
8330 ctype_members_char.cc numpunct_byname.cc ctype_members_wchar_t.cc
8331 numpunct.cc ctype_narrow_char.cc numpunct_members_char.cc
8332 ctype_narrow_wchar_t.cc numpunct_members_wchar_t.cc ctype_scan_char.cc
8333 num_put.cc ctype_scan_wchar_t.cc num_put_members_char.cc
8334 ctype_to_char.cc num_put_members_wchar_t.cc ctype_to_wchar_t.cc
8335 operators.cc ctype_widen_char.cc static_members.cc
8336 ctype_widen_wchar_t.cc time_get.cc facet.cc time_get_members_char.cc
8337 global_templates.cc time_get_members_wchar_t.cc, members.cc,
8338 time_put.cc, messages_byname.cc, time_put_members_char.cc,
8339 messages.cc, time_put_members_wchar_t.cc, messages_members_char.cc):
8340 Split up into individual test cases...
8341 * 22_locale/codecvt/1.cc: New.
8342 * 22_locale/codecvt/2.cc: New.
8343 * 22_locale/codecvt/always_noconv/char/1.cc: New.
8344 * 22_locale/codecvt/always_noconv/char/wrapped_env.cc: New.
8345 * 22_locale/codecvt/always_noconv/char/wrapped_locale.cc: New.
8346 * 22_locale/codecvt/always_noconv/wchar_t/1.cc: New.
8347 * 22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc: New.
8348 * 22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc: New.
8349 * 22_locale/codecvt/encoding/char/1.cc: New.
8350 * 22_locale/codecvt/encoding/char/wrapped_env.cc: New.
8351 * 22_locale/codecvt/encoding/char/wrapped_locale.cc: New.
8352 * 22_locale/codecvt/encoding/wchar_t/1.cc: New.
8353 * 22_locale/codecvt/encoding/wchar_t/wrapped_env.cc: New.
8354 * 22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc: New.
8355 * 22_locale/codecvt/in/char/1.cc: New.
8356 * 22_locale/codecvt/in/char/wrapped_env.cc: New.
8357 * 22_locale/codecvt/in/char/wrapped_locale.cc: New.
8358 * 22_locale/codecvt/in/wchar_t/1.cc: New.
8359 * 22_locale/codecvt/in/wchar_t/wrapped_env.cc: New.
8360 * 22_locale/codecvt/in/wchar_t/wrapped_locale.cc: New.
8361 * 22_locale/codecvt/length/char/1.cc: New.
8362 * 22_locale/codecvt/length/char/wrapped_env.cc: New.
8363 * 22_locale/codecvt/length/char/wrapped_locale.cc: New.
8364 * 22_locale/codecvt/length/wchar_t/1.cc: New.
8365 * 22_locale/codecvt/length/wchar_t/wrapped_env.cc: New.
8366 * 22_locale/codecvt/length/wchar_t/wrapped_locale.cc: New.
8367 * 22_locale/codecvt/max_length/char/1.cc: New.
8368 * 22_locale/codecvt/max_length/char/wrapped_env.cc: New.
8369 * 22_locale/codecvt/max_length/char/wrapped_locale.cc: New.
8370 * 22_locale/codecvt/max_length/wchar_t/1.cc: New.
8371 * 22_locale/codecvt/max_length/wchar_t/wrapped_env.cc: New.
8372 * 22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc: New.
8373 * 22_locale/codecvt/out/char/1.cc: New.
8374 * 22_locale/codecvt/out/char/wrapped_env.cc: New.
8375 * 22_locale/codecvt/out/char/wrapped_locale.cc: New.
8376 * 22_locale/codecvt/out/wchar_t/1.cc: New.
8377 * 22_locale/codecvt/out/wchar_t/wrapped_env.cc: New.
8378 * 22_locale/codecvt/out/wchar_t/wrapped_locale.cc: New.
8379 * 22_locale/codecvt/unicode/char.cc: New.
8380 * 22_locale/codecvt/unicode/wchar_t.cc: New.
8381 * 22_locale/codecvt/unshift/char/1.cc: New.
8382 * 22_locale/codecvt/unshift/char/wrapped_env.cc: New.
8383 * 22_locale/codecvt/unshift/char/wrapped_locale.cc: New.
8384 * 22_locale/codecvt/unshift/wchar_t/1.cc: New.
8385 * 22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: New.
8386 * 22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc: New.
8387 * 22_locale/collate/1.cc: New.
8388 * 22_locale/collate/2.cc: New.
8389 * 22_locale/collate/compare/char/1.cc: New.
8390 * 22_locale/collate/compare/char/2.cc: New.
8391 * 22_locale/collate/compare/char/wrapped_env.cc: New.
8392 * 22_locale/collate/compare/char/wrapped_locale.cc: New.
8393 * 22_locale/collate/compare/wchar_t/1.cc: New.
8394 * 22_locale/collate/compare/wchar_t/2.cc: New.
8395 * 22_locale/collate/compare/wchar_t/wrapped_env.cc: New.
8396 * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: New.
8397 * 22_locale/collate/hash/char/1.cc: New.
8398 * 22_locale/collate/hash/char/2.cc: New.
8399 * 22_locale/collate/hash/char/wrapped_env.cc: New.
8400 * 22_locale/collate/hash/char/wrapped_locale.cc: New.
8401 * 22_locale/collate/hash/wchar_t/1.cc: New.
8402 * 22_locale/collate/hash/wchar_t/2.cc: New.
8403 * 22_locale/collate/hash/wchar_t/wrapped_env.cc: New.
8404 * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: New.
8405 * 22_locale/collate/transform/char/2.cc: New.
8406 * 22_locale/collate/transform/char/wrapped_env.cc: New.
8407 * 22_locale/collate/transform/char/wrapped_locale.cc: New.
8408 * 22_locale/collate/transform/wchar_t/2.cc: New.
8409 * 22_locale/collate/transform/wchar_t/wrapped_env.cc: New.
8410 * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: New.
8411 * 22_locale/collate_byname/1.cc: New.
8412 * 22_locale/ctype/1.cc: New.
8413 * 22_locale/ctype/2.cc: New.
8414 * 22_locale/ctype/cons/char/1.cc: New.
8415 * 22_locale/ctype/cons/char/wrapped_env.cc: New.
8416 * 22_locale/ctype/cons/char/wrapped_locale.cc: New.
8417 * 22_locale/ctype/is/char/1.cc: New.
8418 * 22_locale/ctype/is/char/2.cc: New.
8419 * 22_locale/ctype/is/char/3.cc: New.
8420 * 22_locale/ctype/is/char/wrapped_env.cc: New.
8421 * 22_locale/ctype/is/char/wrapped_locale.cc: New.
8422 * 22_locale/ctype/is/wchar_t/1.cc: New.
8423 * 22_locale/ctype/is/wchar_t/2.cc: New.
8424 * 22_locale/ctype/is/wchar_t/wrapped_env.cc: New.
8425 * 22_locale/ctype/is/wchar_t/wrapped_locale.cc: New.
8426 * 22_locale/ctype/narrow/char/1.cc: New.
8427 * 22_locale/ctype/narrow/char/2.cc: New.
8428 * 22_locale/ctype/narrow/char/wrapped_env.cc: New.
8429 * 22_locale/ctype/narrow/char/wrapped_locale.cc: New.
8430 * 22_locale/ctype/narrow/wchar_t/1.cc: New.
8431 * 22_locale/ctype/narrow/wchar_t/2.cc: New.
8432 * 22_locale/ctype/narrow/wchar_t/wrapped_env.cc: New.
8433 * 22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: New.
8434 * 22_locale/ctype/scan/char/1.cc: New.
8435 * 22_locale/ctype/scan/char/wrapped_env.cc: New.
8436 * 22_locale/ctype/scan/char/wrapped_locale.cc: New.
8437 * 22_locale/ctype/scan/wchar_t/1.cc: New.
8438 * 22_locale/ctype/scan/wchar_t/wrapped_env.cc: New.
8439 * 22_locale/ctype/scan/wchar_t/wrapped_locale.cc: New.
8440 * 22_locale/ctype/to/char/1.cc: New.
8441 * 22_locale/ctype/to/char/wrapped_env.cc: New.
8442 * 22_locale/ctype/to/char/wrapped_locale.cc: New.
8443 * 22_locale/ctype/to/wchar_t/1.cc: New.
8444 * 22_locale/ctype/to/wchar_t/wrapped_env.cc: New.
8445 * 22_locale/ctype/to/wchar_t/wrapped_locale.cc: New.
8446 * 22_locale/ctype/widen/char/1.cc: New.
8447 * 22_locale/ctype/widen/char/wrapped_env.cc: New.
8448 * 22_locale/ctype/widen/char/wrapped_locale.cc: New.
8449 * 22_locale/ctype/widen/wchar_t/1.cc: New.
8450 * 22_locale/ctype/widen/wchar_t/wrapped_env.cc: New.
8451 * 22_locale/ctype/widen/wchar_t/wrapped_locale.cc: New.
8452 * 22_locale/facet/1.cc: New.
8453 * 22_locale/facet/2.cc: New.
8454 * 22_locale/global_templates/1.cc: New.
8455 * 22_locale/locale/cons/1.cc: New.
8456 * 22_locale/locale/cons/2.cc: New.
8457 * 22_locale/locale/cons/3.cc: New.
8458 * 22_locale/locale/cons/4.cc: New.
8459 * 22_locale/locale/cons/5.cc: New.
8460 * 22_locale/locale/cons/6.cc: New.
8461 * 22_locale/locale/cons/7.cc: New.
8462 * 22_locale/locale/global_locale_objects/1.cc: New.
8463 * 22_locale/locale/global_locale_objects/2.cc: New.
8464 * 22_locale/locale/global_locale_objects/3.cc: New.
8465 * 22_locale/locale/operations/1.cc: New.
8466 * 22_locale/locale/operations/2.cc: New.
8467 * 22_locale/messages/1.cc: New.
8468 * 22_locale/messages/2.cc: New.
8469 * 22_locale/messages/members/char/1.cc: New.
8470 * 22_locale/messages/members/char/2.cc: New.
8471 * 22_locale/messages/members/char/3.cc: New.
8472 * 22_locale/messages/members/char/wrapped_env.cc: New.
8473 * 22_locale/messages/members/char/wrapped_locale.cc: New.
8474 * 22_locale/messages_byname/1.cc: New.
8475 * 22_locale/money_get/1.cc: New.
8476 * 22_locale/money_get/2.cc: New.
8477 * 22_locale/money_get/get/char/1.cc: New.
8478 * 22_locale/money_get/get/char/2.cc: New.
8479 * 22_locale/money_get/get/char/3.cc: New.
8480 * 22_locale/money_get/get/char/4.cc: New.
8481 * 22_locale/money_get/get/char/5.cc: New.
8482 * 22_locale/money_get/get/char/6.cc: New.
8483 * 22_locale/money_get/get/char/7.cc: New.
8484 * 22_locale/money_get/get/char/8.cc: New.
8485 * 22_locale/money_get/get/char/wrapped_env.cc: New.
8486 * 22_locale/money_get/get/char/wrapped_locale.cc: New.
8487 * 22_locale/money_get/get/wchar_t/1.cc: New.
8488 * 22_locale/money_get/get/wchar_t/2.cc: New.
8489 * 22_locale/money_get/get/wchar_t/3.cc: New.
8490 * 22_locale/money_get/get/wchar_t/4.cc: New.
8491 * 22_locale/money_get/get/wchar_t/5.cc: New.
8492 * 22_locale/money_get/get/wchar_t/6.cc: New.
8493 * 22_locale/money_get/get/wchar_t/7.cc: New.
8494 * 22_locale/money_get/get/wchar_t/8.cc: New.
8495 * 22_locale/money_get/get/wchar_t/wrapped_env.cc: New.
8496 * 22_locale/money_get/get/wchar_t/wrapped_locale.cc: New.
8497 * 22_locale/money_put/1.cc: New.
8498 * 22_locale/money_put/2.cc: New.
8499 * 22_locale/money_put/put/char/1.cc: New.
8500 * 22_locale/money_put/put/char/2.cc: New.
8501 * 22_locale/money_put/put/char/3.cc: New.
8502 * 22_locale/money_put/put/char/4.cc: New.
8503 * 22_locale/money_put/put/char/5.cc: New.
8504 * 22_locale/money_put/put/char/6.cc: New.
8505 * 22_locale/money_put/put/char/wrapped_env.cc: New.
8506 * 22_locale/money_put/put/char/wrapped_locale.cc: New.
8507 * 22_locale/money_put/put/wchar_t/1.cc: New.
8508 * 22_locale/money_put/put/wchar_t/2.cc: New.
8509 * 22_locale/money_put/put/wchar_t/3.cc: New.
8510 * 22_locale/money_put/put/wchar_t/4.cc: New.
8511 * 22_locale/money_put/put/wchar_t/5.cc: New.
8512 * 22_locale/money_put/put/wchar_t/6.cc: New.
8513 * 22_locale/money_put/put/wchar_t/wrapped_env.cc: New.
8514 * 22_locale/money_put/put/wchar_t/wrapped_locale.cc: New.
8515 * 22_locale/moneypunct/1.cc: New.
8516 * 22_locale/moneypunct/2.cc: New.
8517 * 22_locale/moneypunct/3.cc: New.
8518 * 22_locale/moneypunct/members/char/1.cc: New.
8519 * 22_locale/moneypunct/members/char/2.cc: New.
8520 * 22_locale/moneypunct/members/char/wrapped_env.cc: New.
8521 * 22_locale/moneypunct/members/char/wrapped_locale.cc: New.
8522 * 22_locale/moneypunct/members/wchar_t/1.cc: New.
8523 * 22_locale/moneypunct/members/wchar_t/2.cc: New.
8524 * 22_locale/moneypunct/members/wchar_t/wrapped_env.cc: New.
8525 * 22_locale/moneypunct/members/wchar_t/wrapped_locale.cc: New.
8526 * 22_locale/moneypunct_byname/1.cc: New.
8527 * 22_locale/num_get/1.cc: New.
8528 * 22_locale/num_get/2.cc: New.
8529 * 22_locale/num_get/get/char/1.cc: New.
8530 * 22_locale/num_get/get/char/2.cc: New.
8531 * 22_locale/num_get/get/char/3.cc: New.
8532 * 22_locale/num_get/get/char/4.cc: New.
8533 * 22_locale/num_get/get/char/5.cc: New.
8534 * 22_locale/num_get/get/char/6.cc: New.
8535 * 22_locale/num_get/get/char/wrapped_env.cc: New.
8536 * 22_locale/num_get/get/char/wrapped_locale.cc: New.
8537 * 22_locale/num_get/get/wchar_t/1.cc: New.
8538 * 22_locale/num_get/get/wchar_t/2.cc: New.
8539 * 22_locale/num_get/get/wchar_t/3.cc: New.
8540 * 22_locale/num_get/get/wchar_t/4.cc: New.
8541 * 22_locale/num_get/get/wchar_t/5.cc: New.
8542 * 22_locale/num_get/get/wchar_t/6.cc: New.
8543 * 22_locale/num_get/get/wchar_t/wrapped_env.cc: New.
8544 * 22_locale/num_get/get/wchar_t/wrapped_locale.cc: New.
8545 * 22_locale/num_put/1.cc: New.
8546 * 22_locale/num_put/2.cc: New.
8547 * 22_locale/num_put/put/char/1.cc: New.
8548 * 22_locale/num_put/put/char/2.cc: New.
8549 * 22_locale/num_put/put/char/3.cc: New.
8550 * 22_locale/num_put/put/char/4.cc: New.
8551 * 22_locale/num_put/put/char/5.cc: New.
8552 * 22_locale/num_put/put/char/wrapped_env.cc: New.
8553 * 22_locale/num_put/put/char/wrapped_locale.cc: New.
8554 * 22_locale/num_put/put/wchar_t/1.cc: New.
8555 * 22_locale/num_put/put/wchar_t/2.cc: New.
8556 * 22_locale/num_put/put/wchar_t/3.cc: New.
8557 * 22_locale/num_put/put/wchar_t/4.cc: New.
8558 * 22_locale/num_put/put/wchar_t/5.cc: New.
8559 * 22_locale/num_put/put/wchar_t/wrapped_env.cc: New.
8560 * 22_locale/num_put/put/wchar_t/wrapped_locale.cc: New.
8561 * 22_locale/numpunct/1.cc: New.
8562 * 22_locale/numpunct/2.cc: New.
8563 * 22_locale/numpunct/members/char/1.cc: New.
8564 * 22_locale/numpunct/members/char/2.cc: New.
8565 * 22_locale/numpunct/members/char/wrapped_env.cc: New.
8566 * 22_locale/numpunct/members/char/wrapped_locale.cc: New.
8567 * 22_locale/numpunct/members/wchar_t/1.cc: New.
8568 * 22_locale/numpunct/members/wchar_t/2.cc: New.
8569 * 22_locale/numpunct/members/wchar_t/wrapped_env.cc: New.
8570 * 22_locale/numpunct/members/wchar_t/wrapped_locale.cc: New.
8571 * 22_locale/numpunct_byname/1.cc: New.
8572 * 22_locale/numpunct_byname/2.cc: New.
8573 * 22_locale/time_get/1.cc: New.
8574 * 22_locale/time_get/2.cc: New.
8575 * 22_locale/time_get/date_order/char/1.cc: New.
8576 * 22_locale/time_get/date_order/char/wrapped_env.cc: New.
8577 * 22_locale/time_get/date_order/char/wrapped_locale.cc: New.
8578 * 22_locale/time_get/date_order/wchar_t/1.cc: New.
8579 * 22_locale/time_get/date_order/wchar_t/wrapped_env.cc: New.
8580 * 22_locale/time_get/date_order/wchar_t/wrapped_locale.cc: New.
8581 * 22_locale/time_get/get_date/char/1.cc: New.
8582 * 22_locale/time_get/get_date/char/2.cc: New.
8583 * 22_locale/time_get/get_date/char/3.cc: New.
8584 * 22_locale/time_get/get_date/char/wrapped_env.cc: New.
8585 * 22_locale/time_get/get_date/char/wrapped_locale.cc: New.
8586 * 22_locale/time_get/get_date/wchar_t/1.cc: New.
8587 * 22_locale/time_get/get_date/wchar_t/2.cc: New.
8588 * 22_locale/time_get/get_date/wchar_t/3.cc: New.
8589 * 22_locale/time_get/get_date/wchar_t/wrapped_env.cc: New.
8590 * 22_locale/time_get/get_date/wchar_t/wrapped_locale.cc: New.
8591 * 22_locale/time_get/get_monthname/char/1.cc: New.
8592 * 22_locale/time_get/get_monthname/char/2.cc: New.
8593 * 22_locale/time_get/get_monthname/char/3.cc: New.
8594 * 22_locale/time_get/get_monthname/char/wrapped_env.cc: New.
8595 * 22_locale/time_get/get_monthname/char/wrapped_locale.cc: New.
8596 * 22_locale/time_get/get_monthname/wchar_t/1.cc: New.
8597 * 22_locale/time_get/get_monthname/wchar_t/2.cc: New.
8598 * 22_locale/time_get/get_monthname/wchar_t/3.cc: New.
8599 * 22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc: New.
8600 * 22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc: New.
8601 * 22_locale/time_get/get_time/char/1.cc: New.
8602 * 22_locale/time_get/get_time/char/2.cc: New.
8603 * 22_locale/time_get/get_time/char/3.cc: New.
8604 * 22_locale/time_get/get_time/char/wrapped_env.cc: New.
8605 * 22_locale/time_get/get_time/char/wrapped_locale.cc: New.
8606 * 22_locale/time_get/get_time/wchar_t/1.cc: New.
8607 * 22_locale/time_get/get_time/wchar_t/2.cc: New.
8608 * 22_locale/time_get/get_time/wchar_t/3.cc: New.
8609 * 22_locale/time_get/get_time/wchar_t/wrapped_env.cc: New.
8610 * 22_locale/time_get/get_time/wchar_t/wrapped_locale.cc: New.
8611 * 22_locale/time_get/get_weekday/char/1.cc: New.
8612 * 22_locale/time_get/get_weekday/char/2.cc: New.
8613 * 22_locale/time_get/get_weekday/char/3.cc: New.
8614 * 22_locale/time_get/get_weekday/char/wrapped_env.cc: New.
8615 * 22_locale/time_get/get_weekday/char/wrapped_locale.cc: New.
8616 * 22_locale/time_get/get_weekday/wchar_t/1.cc: New.
8617 * 22_locale/time_get/get_weekday/wchar_t/2.cc: New.
8618 * 22_locale/time_get/get_weekday/wchar_t/3.cc: New.
8619 * 22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc: New.
8620 * 22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc: New.
8621 * 22_locale/time_get/get_year/char/1.cc: New.
8622 * 22_locale/time_get/get_year/char/3.cc: New.
8623 * 22_locale/time_get/get_year/char/wrapped_env.cc: New.
8624 * 22_locale/time_get/get_year/char/wrapped_locale.cc: New.
8625 * 22_locale/time_get/get_year/wchar_t/1.cc: New.
8626 * 22_locale/time_get/get_year/wchar_t/3.cc: New.
8627 * 22_locale/time_get/get_year/wchar_t/wrapped_env.cc: New.
8628 * 22_locale/time_get/get_year/wchar_t/wrapped_locale.cc: New.
8629 * 22_locale/time_put/1.cc: New.
8630 * 22_locale/time_put/2.cc: New.
8631 * 22_locale/time_put/put/char/1.cc: New.
8632 * 22_locale/time_put/put/char/10.cc: New.
8633 * 22_locale/time_put/put/char/2.cc: New.
8634 * 22_locale/time_put/put/char/3.cc: New.
8635 * 22_locale/time_put/put/char/4.cc: New.
8636 * 22_locale/time_put/put/char/5.cc: New.
8637 * 22_locale/time_put/put/char/6.cc: New.
8638 * 22_locale/time_put/put/char/7.cc: New.
8639 * 22_locale/time_put/put/char/8.cc: New.
8640 * 22_locale/time_put/put/char/9.cc: New.
8641 * 22_locale/time_put/put/char/wrapped_env.cc: New.
8642 * 22_locale/time_put/put/char/wrapped_locale.cc: New.
8643 * 22_locale/time_put/put/wchar_t/1.cc: New.
8644 * 22_locale/time_put/put/wchar_t/10.cc: New.
8645 * 22_locale/time_put/put/wchar_t/2.cc: New.
8646 * 22_locale/time_put/put/wchar_t/3.cc: New.
8647 * 22_locale/time_put/put/wchar_t/4.cc: New.
8648 * 22_locale/time_put/put/wchar_t/5.cc: New.
8649 * 22_locale/time_put/put/wchar_t/6.cc: New.
8650 * 22_locale/time_put/put/wchar_t/7.cc: New.
8651 * 22_locale/time_put/put/wchar_t/8.cc: New.
8652 * 22_locale/time_put/put/wchar_t/9.cc: New.
8653 * 22_locale/time_put/put/wchar_t/wrapped_env.cc: New.
8654 * 22_locale/time_put/put/wchar_t/wrapped_locale.cc: New.
8656 2003-01-16 Jeffrey D. Oldham <oldham@codesourcery.com>
8658 * config/locale/generic/messages_members.h
8659 (messages_byname<_CharT>::messages_byname): Use this-> to refer to
8660 unqualified members of base clasess.
8662 2003-01-16 Mark Mitchell <mark@codesourcery.com>
8663 Jeffrey Oldham <oldham@codesourcery.com>
8665 * config/locale/gnu/messages_members.h: Use this-> to refer to
8666 unqualified members of base clasess.
8667 * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Likewise.
8668 * include/bits/codecvt.h: Likewise.
8669 * include/bits/deque.tcc: Likewise.
8670 * include/bits/fstream.tcc: Likewise.
8671 * include/bits/istream.tcc: Likewise.
8672 * include/bits/list.tcc: Likewise.
8673 * include/bits/locale_facets.h: Likewise.
8674 * include/bits/ostream.tcc: Likewise.
8675 * include/bits/sstream.tcc: Likewise.
8676 * include/bits/stl_bvector.h: Likewise.
8677 * include/bits/stl_deque.h: Likewise.
8678 * include/bits/stl_list.h: Likewise.
8679 * include/bits/stl_tree.h: Likewise.
8680 * include/bits/stl_vector.h: Likewise.
8681 * include/bits/vector.tcc: Likewise.
8682 * include/ext/ropeimpl.h: Likewise.
8683 * include/ext/stdio_filebuf.h: Likewise.
8684 * include/ext/stl_rope.h: Likewise.
8685 * include/std/std_fstream.h: Likewise.
8686 * include/std/std_sstream.h: Likewise.
8688 2003-01-15 Phil Edwards <pme@gcc.gnu.org>
8690 * include/bits/basic_string.tcc (_S_string_copy): Unused, remove.
8692 2003-01-15 Benjamin Kosnik <bkoz@redhat.com>
8694 * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Substitute
8695 GLIBCPP_TEST_WCHAR_T if building wchar_t bits in the library.
8696 * aclocal.m4: Regenerate.
8697 * configure: Regenerate.
8698 * testsuite/Makefile.am (all-local): Add conditional rule to
8699 generate testsuite_wchar_t.
8700 * testsuite/Makefile.in: Regenerate.
8701 * testsuite/lib/libstdc++-v3-dg.exp
8702 (libstdc++-v3-list-sourcefiles): Remove wchar_t files if
8703 testsuite_wchar_t is not present in the build directory.
8704 * testsuite/libstdc++-v3.dg/dg.exp: Add -g -O2 to DEFAULT_CXXFLAGS.
8705 Remove setulimit bits.
8706 * testsuite/26_numerics/complex_value.cc: Set to noopts.
8707 * testsuite/Makefile.am (CLEANFILES): Add.
8708 * testsuite/Makefile.in: Regenerate.
8710 2003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
8712 * config/os/hpux/os_defines.h (_GLIBCPP_GTHREAD_USE_WEAK): Define for
8715 2003-01-14 Jeffrey D. Oldham <oldham@codesourcery.com>
8717 Further conform g++'s __vmi_class_type_info to the C++ ABI
8719 * libsupc++/cxxabi.h
8720 (__vmi_class_type_info::__flags_masks): Remove enumerations not
8721 required by the specification.
8723 2003-01-12 Benjamin Kosnik <bkoz@redhat.com>
8725 Renames, namespaces for testsuite utilities.
8726 * testsuite/testsuite_hooks.h: Put into namespace __gnu_cxx_test.
8727 (gnu_allocator_tracker): Rename to allocation_tracker.
8728 (gnu_new_allocator): Rename to tracker_alloc.
8729 (__set_testsuite_memlimit): Rename to set_memory_limits.
8730 (gnu_assignment_operator): Rename to assignment_operator.
8731 (gnu_destructor): Rename to destructor.
8732 (gnu_copy_tracker): Rename to copy_tracker.
8733 (gnu_char, gnu_int, gnu_long): Rename to pod_char, pod_int, pod_long.
8734 (run_tests_wrapped_locale): New.
8735 (run_tests_wrapped_env): New.
8736 * testsuite/testsuite_hooks.cc: Same.
8737 (class locale_data): Add.
8738 (class enviornment_variable): Add.
8739 (class not_found): Add.
8740 * testsuite/testsuite_allocator.h: Same.
8741 * testsuite/testsuite_allocator.cc: Same.
8742 * testsuite/23_containers/deque_ctor.cc
8743 (test_copy_ctor_exception_safety): Change gnu_allocator_tracker to
8745 Change gnu_new_allocator to tracker_alloc.
8746 Change gnu_counting_struct to counter.
8747 Change gnu_copy_tracker to copy_tracker.
8748 Change gnu_copy_constructor to copy_constructor.
8749 Change gnu_assignment_operator to assignment_operator.
8751 * testsuite/23_containers/vector_capacity.cc: Same.
8752 * testsuite/23_containers/vector_ctor.cc (test01): Same.
8753 * testsuite/23_containers/list_modifiers.cc: Change
8754 gnu_copy_tracker to copy_tracker.
8755 * testsuite/21_strings/ctor_copy_dtor.cc (main): Change
8756 __set_testsuite_memlimit to set_memory_limits.
8757 * testsuite/21_strings/insert.cc (main): Same.
8758 * testsuite/27_io/filebuf.cc: Change gnu_char to pod_char.
8759 * testsuite/27_io/stringstream.cc: Same.
8760 * testsuite/27_io/stringbuf.cc: Same.
8761 * testsuite/27_io/streambuf.cc: Same.
8762 * testsuite/27_io/ostream.cc: Same.
8763 * testsuite/27_io/istream.cc: Same.
8764 * testsuite/27_io/fstream.cc: Same.
8765 * testsuite/lib/libstdc++-v3-dg.exp
8766 (libstdc++-v3-list-sourcefiles): Additionally handle files two and
8767 three levels deeper in glob patterns.
8769 2003-01-11 Phil Edwards <pme@gcc.gnu.org>
8771 * docs/doxygen/tables.html: Finished now.
8772 * docs/doxygen/user.cfg.in: Update to latest version of Doxygen.
8773 * include/bits/basic_ios.h (basic_ios::rdbuf): Add example to
8776 * include/bits/deque.tcc, include/bits/stl_alloc.h,
8777 include/bits/stl_deque.h, include/bits/stl_list.h,
8778 include/bits/stl_vector.h: Remove _GLIBCPP_DEPRECATED bits scheduled
8781 2003-01-09 Benjamin Kosnik <bkoz@redhat.com>
8783 * configure.in: Revert.
8784 * configure: Regenerate.
8786 2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
8788 * include/Makefile.am (install-data-local): Prepend
8789 $(DESTDIR) to destination paths in all (un)installation
8790 commands. Use ${c_base_builddir} and ${std_builddir}
8791 as destination subdirectories to achieve consistency with
8792 preceding mkinstalldirs commands. No effect because both
8793 variables contain "." only.
8794 * include/Makefile.in: Regenerate.
8796 2003-01-08 Benjamin Kosnik <bkoz@redhat.com>
8798 * include/Makefile.am (stamp-*): Add checks for existing stamps.
8799 * include/Makefile.in: Regenerate.
8801 * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): Correct comment.
8802 * aclocal.m4: Regenerate.
8804 * configure.in: Don't add new multi-do rules every time the
8805 directory is reconfigured.
8806 * configure: Regenerate.
8808 2003-01-08 Brad Spencer <spencer@infointeractive.com>
8809 Nathan Myers <ncm@cantrip.org>
8811 * src/Makefile.am (stamp-debug): Clean.
8812 * src/Makefile.in: Regenerate.
8814 2003-01-07 Benjamin Kosnik <bkoz@redhat.com>
8817 * Makefile.am (distclean-multi): Fix.
8818 * Makefile.in: Regenerate.
8820 2003-01-06 Benjamin Kosnik <bkoz@redhat.com>
8822 * include/bits/locale_facets.h (messages): Move ctor, dtor
8824 (__timepunct): Same.
8825 * config/locale/gnu/messages_members.h (messages): Add dtor, ctor
8826 definitions. Conditionalize for GNU systems.
8827 * config/locale/generic/messages_members.h (messages): Add dtor, ctor
8829 * config/locale/gnu/time_members.h (messages): New. Add dtor, ctor
8830 definitions. Conditionalize for GNU systems.
8831 * config/locale/generic/time_members.h (messages): New. Add dtor, ctor
8833 * include/bits/localefwd.h (locale::facet::_S_c_name): Add.
8834 * src/locale.cc: Define.
8835 * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool):
8837 * config/locale/gnu/time_members.h: Use it.
8838 * config/locale/gnu/messages_members.h: Use it.
8839 * config/linker-map.gnu: Add locale::facets details.
8840 * include/Makefile.am (target_headers_extra): Add time_members.h.
8841 * include/Makefile.in: Regenerate.
8842 * acinclude.m4: Export CTIME_H.
8843 * aclocal.m4: Regenerate.
8844 * configure: Regnerate.
8846 2003-01-06 Paolo Carlini <pcarlini@unitus.it>
8849 (codecvt<char, char, mbstate_t>::do_in, do_out):
8850 Tweak parameters to avoid unused parameter warnings.
8852 2003-01-06 Paolo Carlini <pcarlini@unitus.it>
8855 * include/bits/locale_facets.cc (num_put::_M_convert_float):
8856 Limit __prec to digits10 + 2, not digits10 + 1, taking into
8857 account the possibility of %{g,G} conversion specifiers
8858 inside _S_format_float.
8859 * testsuite/27_io/ostream_inserter_arith.cc (test06): Add.
8861 2003-01-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8863 * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init,
8864 libstdc++-v3-list-sourcefiles): Additionally handle files one
8865 level deeper in glob patterns.
8867 * testsuite/27_io/istream_extractor_arith.cc: Delete, split...
8868 * testsuite/27_io/istream_extractor_arith/01.cc,
8869 testsuite/27_io/istream_extractor_arith/02.cc,
8870 testsuite/27_io/istream_extractor_arith/03.cc,
8871 testsuite/27_io/istream_extractor_arith/06.cc,
8872 testsuite/27_io/istream_extractor_arith/07.cc,
8873 testsuite/27_io/istream_extractor_arith/08.cc,
8874 testsuite/27_io/istream_extractor_arith/09.cc,
8875 testsuite/27_io/istream_extractor_arith/10.cc,
8876 testsuite/27_io/istream_extractor_arith/11.cc,
8877 testsuite/27_io/istream_extractor_arith/12.cc,
8878 testsuite/27_io/istream_extractor_arith/13.cc: ... to new files.
8879 * testsuite/27_io/istream_extractor_arith/12.cc: Add XFAIL for
8882 2003-01-05 Paolo Carlini <pcarlini@unitus.it>
8886 (codecvt<char, char, mbstate_t>::do_in, do_out):
8887 Implement the resolution of DR19 (TC).
8888 * testsuite/22_locale/codecvt_members_char_char.cc
8891 2003-01-02 Jason Merrill <jason@redhat.com>
8893 * config/cpu/i486/atomicity.h (__exchange_and_add, __atomic_add):
8894 *__mem is also an output.
8895 * config/cpu/m68k/atomicity.h (__exchange_and_add): Likewise.