2003-12-31 Paolo Carlini * include/bits/locale_facets.tcc (num_get::_M_extract_int, num_get::_M_extract_float): According to 22.2.2.1.2, p8-9, _first_ look for thousands_sep, then for decimal_point and finally for digits. (num_get::_M_extract_float): After the decimal_point or 'e'/'E', decimal_point and thousands_sep just break out the parsing loop. * testsuite/22_locale/num_get/get/char/11.cc: Add tests. * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise. 2003-12-30 Paolo Carlini PR libstdc++/13369 * include/bits/locale_facets.tcc (__verify_grouping): Fix to deal properly with __grouping_tmp.size() > __grouping.size(). * testsuite/22_locale/num_get/get/char/13.cc: New. * testsuite/22_locale/num_get/get/wchar_t/13.cc: Ditto. 2003-12-29 Jerry Quinn * include/bits/locale_facets.h (ctype.narrow,widen): Add cast. 2003-12-29 Paolo Carlini * acinclude.m4 (GLIBCXX_CHECK_LFS): Add -fno-exceptions to CXXFLAGS. * aclocal.m4: Regenerate. * configure: Likewise. 2003-12-29 Mark Mitchell * acconfig.h: Add _GLIBCXX_USE_C99_MATH. * acinclude.m4 (GLIBCXX_ENABLE_C99): Define GLIBCXX_USE_C99_MATH. * configure.ac: Define HAVE_S_ISREG and HAVE_S_IFREG when targeting newlib. * aclocal.m4: Regenerated. * config.h.in: Likewise. * configure: Likewise. * Makefile.in: Likewise. * include/Makefile.in: Likewise. * libmath/Makefile.in: Likewise. * libsupc++/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. * src/Makefile.in: Likewise. * po/Makefile.in: Likewise. * include/c_std/std_cmath.h (_GLIBCXX_USE_C99): Replace with ... (_GLIBCXX_USE_C99_MATH): ... this. * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL for arm-none-elf. * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise. * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise. * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise. * testsuite/27_io/basic_istream/readsome/char/6476-2.cc: Likewise. * testsuite/27_io/objects/char/9.cc: Likewise. * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise. 2003-12-28 Paolo Carlini * include/ext/pool_allocator.h (class __pool_alloc): Use operator new and operator delete. 2003-12-24 Andrew Pinski * config/cpu/i386/atomicity.h (__exchange_and_add): Fix output constraint. PR libstdc++/13480 * config/cpu/i386/atomicity.h: Split up read-write memory operand. 2003-12-23 Benjamin Kosnik * include/ext/new_allocator.h (new_allocator): Proper allocator class. (__new_alloc): Delete. * include/ext/malloc_allocator.h (malloc_allocator): Same. (__malloc_alloc): Delete. * include/ext/mt_allocator.h: Same, but weakly. * include/ext/debug_allocator.h: Convert to the new style. * include/ext/pool_allocator.h: Use global new and delete directly. * include/backward/alloc.h: Don't inject malloc_allocator, or debug_allocator. * testsuite/ext/allocators.cc: Minimal fixups for usage of new classes. Comment out tests with __pool_alloc for now. * testsuite/performance/allocator.cc: Same. 2003-12-22 Matt Austern * include/bits/stl_bvector.h (_Bvector_alloc_base): Eliminate. (_Bvector_base): Inherit directly from word allocator. * include/bits/stl_tree.h (_Rb_tree_alloc_base): Eliminate. (_Rb_tree_base): Eliminate. (_Rb_tree): Inherit directly from node allocator. * include/ext/slist (_Alist_alloc_base): Eliminate. (_Slist_base): Inherit direcly from node allocator. 2003-12-22 Benjamin Kosnik * testsuite/18_support/numeric_limits.cc: Add _GLIBCXX_ASSERT to dg-options in testcases that use VERIFY. * testsuite/23_containers/vector/invalidation/1.cc: Same. * testsuite/23_containers/vector/invalidation/2.cc: Same. * testsuite/23_containers/vector/invalidation/3.cc: Same. * testsuite/23_containers/vector/invalidation/4.cc: Same. * testsuite/23_containers/vector/resize/1.cc: Same. * testsuite/26_numerics/complex_value.cc: Same. * testsuite/27_io/ios_base/storage/1.cc: Same. * testsuite/27_io/ios_base/storage/2.cc: Same. * testsuite/27_io/ios_base/storage/3.cc: Same. * testsuite/27_io/manipulators/standard/char/2.cc: Same. * testsuite/backward/11460.cc: Same. * testsuite/backward/strstream_members.cc: Same. * include/ext/hash_set (class hash_multiset): Fix typo. 2003-12-22 Benjamin Kosnik * testsuite/27_io/objects/char/5.cc: Don't use stdc++.h.gch. * testsuite/27_io/objects/wchar_t/5.cc: Same. * docs/html/test.html: Add docs for constructing test files that don't use stdc++.h.gch. * scripts/testsuite_flags.in (PCHFLAGS): Move to --cxxpchflags. * testsuite/libstdc++-dg/normal.exp: Compute DEFAULT_CXXFLAGS differently. * include/bits/ios_base.h (ios_base::Init::_S_initialized): Remove. * src/ios_init.cc: Same. * config/linker-map.gnu: Same. * testsuite/27_io/ios_base/cons/copy_neg.cc: Adjust line numbers. * testsuite/27_io/ios_base/cons/assign_neg.cc: Same. 2003-12-22 Andrew Pinski PR libstdc++/13462 * include/bits/stl_multiset.h (__gnu_norm::multiset): Define pointer as allocator's pointer, likewise for reference, const_pointer, and const_reference. * include/bits/stl_set.h (__gnu_norm::set): Likewise. * include/ext/hash_set (__gnu_ext::hash_set): Likewise. (__gnu_ext::hash_multiset): Likewise. 2003-12-22 Paolo Carlini * include/bits/locale_facets.tcc (num_get::_M_extract_int, num_get::_M_extract_float): According to 22.2.2.1.2, p8-9, first look for decimal_point and thousands_sep, when parsing sign, leading zeros (and 0, Ox, 0X for integer types) too. * testsuite/22_locale/num_get/get/char/12.cc: New. * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise. * testsuite/22_locale/num_get/get/char/11.cc: Add a comment. * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise. 2003-12-20 Jason Merrill * config/cpu/powerpc/atomicity.h: Fix oversight in previous change. 2003-12-20 Jerry Quinn * docs/doxygen/TODO: Update. * include/bits/locale_classes.h (locale, facet, id): Document. * include/bits/locale_facets.tcc (has_facet, use_facet): Document. 2003-12-19 Jason Merrill * config/cpu/cris/atomicity.h: Remove memory clobbers. * config/cpu/mips/atomicity.h: Likewise. * config/cpu/i486/atomicity.h: Remove memory clobbers. Split up read-write memory operand. * config/cpu/m68k/atomicity.h: Likewise. * config/cpu/powerpc/atomicity.h: Make memory I/O explicit. * config/cpu/s390/atomicity.h: Likewise. * config/cpu/sparc/atomicity.h: Likewise. 2003-12-20 Carlo Wood * bits/demangle.h namespace __gnu_cxx::demangler (session::decode_encoding): Put the postfix of the return type of (member) functions after the function instead of after the return type. 2003-12-19 Jerry Quinn * include/bits/locale_facet.h (__ctype_abstract_base,ctype,ctype,ctype): Document. 2003-12-19 Paolo Carlini * include/bits/locale_facets.tcc (num_get::_M_extract_int, num_get::_M_extract_float): According to 22.2.2.1.2, p8-9, first look for decimal_point and thousands_sep. * testsuite/22_locale/num_get/get/char/11.cc: New. * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise. 2003-12-19 Paolo Carlini * include/bits/locale_facets.tcc (num_get::_M_extract_float): When __found_sci becomes true stop eating thousands separators and the decimal radix separator. * testsuite/22_locale/num_get/get/char/9.cc: New. * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise. * config/locale/generic/c_locale.cc (__convert_to_v): Don't check that *__sanity == '\0': parsing may stop earlier, still be successful. * config/locale/gnu/c_locale.cc: Likewise. * testsuite/22_locale/num_get/get/char/10.cc: New. * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: Tweak in one place accordingly. * testsuite/22_locale/money_get/get/char/1.cc: Fix typo. * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise. 2003-12-18 Benjamin Kosnik * include/bits/stl_list.h: Formatting tweaks. * include/bits/list.tcc: Same. 2003-12-18 Matt Austern * include/bits/demangle.h: Fix allocator type correctness, i.e. make sure that when we instantiate a container with a value type and an allocator, the allocator's value type matches the container's. * include/bits/stl_deque.h (_Deque_alloc_base): Eliminate. (_Deque_base): inherit directly from the deque's allocator. Use rebinding instead of _Alloc_traits. Pick up data members from _Deque_alloc_base. * include/bits/stl_list.h (_List_alloc_base): Eliminate. (_List_base): Inherit directly from the list's allocator. Use rebinding instead of _Alloc_traits. Pick up data members from _List_alloc_base. * include/bits/stl_vector.h (_Vector_alloc_base): Eliminate (_Vector_base): Inherit directly from the vector's allocator. Use rebinding instead of _Alloc_traits. Pick up data members from _Vector_alloc_base. * include/ext/hashtable.h: Fix allocator type correctness (the vector of buckets must be passed an allocator for objects of type _Node*). Use rebinding instead of _Alloc_traits. 2003-12-17 Paolo Carlini * include/bits/locale_facets.tcc (time_get::_M_extract_via_format): Use narrow to get from __format[__i] a char __c representing a formatting code, don't use it to compare *__beg to __format[__i]. * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: New. 2003-12-17 Paolo Carlini * testsuite/performance/container_benchmark.cc: Tweak outputs. * testsuite/performance/list_create_fill_sort.cc: Shrink a bit some outputs. * testsuite/testsuite_performance.h: Widen a few output fields. * testsuite/performance/ifstream_extract_int.cc: New. 2003-12-16 Phil Edwards * configure.ac (AM_INIT_AUTOMAKE): Don't warn about GNU Make. * configure: Regenerated. * Makefile.am (check-%): New catch-all forwarding target. * Makefile.in: Regenerated. 2003-12-16 Paolo Carlini * testsuite/performance/container_benchmark.cc: New, a benchmark developed by Bjarne Stroustrup and Alexander Stepanov and made available with no restrictions. * testsuite/testsuite_performance.h (report_header): New, useful to produce header lines in the reports. 2003-12-16 Jonathan Wakely * docs/html/21_strings/howto.html: Document shrink-to-fit reserve(). * docs/html/faq/index.html: Reducing vector's capacity() to size(). * docs/html/documentation.html, docs/html/faq/index.txt: Regenerate. 2003-12-16 Paolo Carlini * testsuite/performance/narrow_widen_char.cc: Tweak the number of iterations for each test. * testsuite/performance/narrow_widen_wchar_t.cc: Add a missing clear_counters. 2003-12-16 Paolo Carlini PR libstdc++/11723 * include/bits/locale_facets.h: Add _M_bit and _M_wmask, used to speed up the computation of ctype::do_is. * config/locale/generic/ctype_members.cc (_M_initialize_ctype): Fill _M_bit and _M_wmask. (ctype::do_is): Use _M_bit and _M_wmask. * config/locale/gnu/ctype_members.cc: Likewise. * testsuite/performance/is_wchar_t.cc: New. * testsuite/performance/narrow_widen_wchar_t.cc: Tweak string literal (incorrect citation ;) * include/bits/locale_facets.h: Minor tweaks, const correctness, unsigned -> size_t. 2003-12-16 Jerry Quinn * include/bits/locale_facets.h (widen, narrow): Uncomment the intended code. 2003-12-15 Jerry Quinn * config/os/aix/ctype_noninline.h, config/os/bsd/freebsd/ctype_noninline.h, config/os/bsd/netbsd/ctype_noninline.h, config/os/djgpp/ctype_noninline.h, config/os/generic/ctype_noninline.h, config/os/gnu-linux/ctype_noninline.h, config/os/hpux/ctype_noninline.h, config/os/irix/irix5.2/ctype_noninline.h, config/os/irix/irix6.5/ctype_noninline.h, config/os/mingw32/ctype_noninline.h, config/os/newlib/ctype_noninline.h, config/os/qnx/qnx6.1/ctype_noninline.h, config/os/solaris/solaris2.5/ctype_noninline.h, config/os/solaris/solaris2.6/ctype_noninline.h, config/os/solaris/solaris2.7/ctype_noninline.h, config/os/vxworks/ctype_noninline.h, config/os/windiss/ctype_noninline.h (ctype): Initialize _M_narrow, _M_widen. * include/bits/locale_facets.h (_M_widen, _M_widen_ok, _M_narrow, _M_narrow_ok): New. (widen, narrow): Use tables to bypass virtual functions. (_M_widen_init, _M_narrow_init): New. 2003-12-15 Carlo Wood * include/bits/ios_base.h (Init::_S_initialized): Change into declaration. * src/ios_init.cc (Init::_S_initialized): Add definition. 2003-12-15 Benjamin Kosnik PR libstdc++/12658 * include/Makefile.am (bits_headers): Add concurrence.h. * include/Makefile.in: Regenerated. * include/bits/concurrence.h: New. * src/locale_init.cc: Use it. (locale::locale): Lock critical regions. (locale::global): Same. 2003-12-15 Benjamin Kosnik * include/bits/basic_string.h: Change _*_references to _*_refcount. * include/bits/locale_classes.h: Same. * src/locale.cc: Same. * src/locale_name.cc: Same. * src/locale_init.cc: Same. 2003-12-15 Benjamin Kosnik PR libstdc++/12855 * include/bits/ios_base.h (Init::_S_ios_base_init): Change to _S_refcount, make atomic. * src/ios.cc: Adjust definition. * src/ios_init.cc (ios_base::Init::Init): Use __exchange_and_add, and __atomic_add. (ios_base::Init::~Init): Same. * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers. * testsuite/27_io/ios_base/cons/copy_neg.cc: Same. 2003-12-15 Paolo Carlini * include/bits/locale_facets.tcc (num_get::do_get(bool&)): Fail as soon as the begins of both truename and falsename stop to match; always leave __beg one position beyond the last char successfully matched. * testsuite/22_locale/num_get/get/char/8.cc: New. * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise. 2003-12-15 Paolo Carlini * include/bits/locale_facets.h (_M_widen): Reserve space for all the possible widened chars. * config/locale/generic/ctype_members.cc (_M_initialize_ctype): Compute at construction time all the possible widened chars. (do_widen): Tweak, simplify. * config/locale/gnu/ctype_members.cc: Likewise. * testsuite/performance/narrow_widen_wchar_t.cc: Add tests for the array versions. 2003-12-12 Paolo Carlini Benjamin Kosnik PR libstdc++/13341 * include/bits/locale_facets.h (ctype): Declare _M_initialize_ctype() and _M_narrow_ok, _M_narrow and _M_widen. * src/ctype.cc (ctype::ctype(size_t), ctype::ctype(__c_locale, size_t)): Use _M_initialize_ctype to fill _M_narrow and _M_widen. (ctype_byname::ctype_byname(const char*, size_t)): Likewise. * config/locale/generic/ctype_members.cc (do_narrow, do_widen) Use _M_narrow and _M_widen when possible, instead of calling wctob and btowc, respectively. (_M_initialize_ctype): Define, it fills at construction time _M_narrow and _M_widen. * config/locale/gnu/ctype_members.cc: Likewise. * testsuite/performance/narrow_widen_wchar_t.cc: New. 2003-12-12 Jonathan Wakely * docs/html/faq/index.txt: Regenerate after adding tags. 2003-12-11 Neil Ferguson Paolo Carlini * include/bits/basic_string.tcc (reserve): Allow shrink-to-fit. * testsuite/21_strings/basic_string/capacity/1.cc: Tweak. * testsuite/21_strings/basic_string/capacity/char/1.cc: Ditto. * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Ditto. 2003-12-10 Benjamin Kosnik PR libstdc++/6243 * testsuite/lib/libstdc++.exp (v3-init): Add original_ld_library_path, calculate ld_library path, set LD_LIBRARY_PATH to both. Based on libjava.exp. 2003-12-10 Benjamin Kosnik Alexandre Oliva PR libstdc++/11612 * testsuite/Makefile.am (GLIBCXX_DIR): New. (GLIBGCC_DIR): New. (CXXLINK): Use both with -R so libtool links the correct libs. 2003-12-10 Paolo Carlini PR libstdc++/13217 * include/bits/fstream.tcc (underflow): Deal gracefully with read errors: throw ios_base::failure. 2003-12-10 Benjamin Kosnik PR libstdc++/10063 * config/io/basic_file_stdio.cc (__basic_file::sys_open): Sync. * testsuite/ext/stdio_filebuf/char/10063-1.cc: New. * testsuite/ext/stdio_filebuf/char/10063-2.cc: New. 2003-12-10 Paolo Carlini * include/bits/locale_facets.tcc (num_put::do_put(void*)): Remove the try/catch, not necessary. 2003-12-10 Paolo Carlini * testsuite/22_locale/locale/cons/12438.cc: Tweak memory limit and iterations to avoid spurious failures on some 64 bit machines. 2003-12-09 Benjamin Kosnik * config/linker-map.gnu: Remove private ios_base members from export list. * config/cpu/alpha/atomicity.h: Consistently format. * config/cpu/cris/atomicity.h: Same. * config/cpu/generic/atomicity.h: Same. * config/cpu/hppa/atomicity.h: Same. * config/cpu/i386/atomicity.h: Same. * config/cpu/i486/atomicity.h: Same. * config/cpu/ia64/atomicity.h: Same. * config/cpu/m68k/atomicity.h: Same. * config/cpu/mips/atomicity.h: Same. * config/cpu/powerpc/atomicity.h: Same. * config/cpu/s390/atomicity.h: Same. * config/cpu/sparc/atomicity.h: Same. 2003-12-09 Benjamin Kosnik PR libstdc++/13296 * acinclude.m4 (GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS): Remove. * aclocal.m4: Regenerate. * configure.ac: Remove call to GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS. * conigure: Regenerate. * src/Makefile.am (libstdc___la_LDFLAGS): Remove LIBUNWIND_FLAGS. * src/Makefile.in: Regenerate. * docs/html/17_intro/configury.html: Modify. 2003-12-09 Paolo Carlini * include/bits/demangle.h (struct implementation_details): Keep in comments the names of the unused parameters. 2003-12-09 Paolo Carlini * include/bits/demangle.h (struct implementation_details): Fix unused parameters warning. 2003-12-09 Paolo Carlini * include/bits/locale_facets.tcc (num_get::_M_extract_int): Slightly streamline the code dealing with overflows and the parsing of the sign. 2003-12-09 Bernardo Innocenti * include/ext/algorithm, include/ext/debug_allocator.h, include/ext/enc_filebuf.h, include/ext/functional, include/ext/hash_fun.h, include/ext/hash_map, include/ext/hash_set, include/ext/hashtable.h, include/ext/iterator, include/ext/malloc_allocator.h, include/ext/memory, include/ext/mt_allocator.h, include/ext/numeric, include/ext/pod_char_traits.h, include/ext/pool_allocator.h, include/ext/rb_tree, include/ext/rope, include/ext/ropeimpl.h, include/ext/slist, include/ext/stdio_filebuf.h, include/ext/stdio_sync_filebuf.h: Remove trailing whitespace. 2003-12-09 Bernardo Innocenti * include/debug/bitset, include/debug/debug.h, include/debug/deque, include/debug/formatter.h, include/debug/hash_map.h, include/debug/hash_multimap.h, include/debug/hash_multiset.h, include/debug/hash_set, include/debug/hash_set.h, include/debug/list, include/debug/map.h, include/debug/multimap.h, include/debug/multiset.h, include/debug/safe_base.h, include/debug/safe_iterator.h, include/debug/safe_iterator.tcc, include/debug/safe_sequence.h, include/debug/set.h, include/debug/string, include/debug/vector: Remove trailing whitespace. 2003-12-09 Bernardo Innocenti * include/c_compatibility/iso646.h, include/c_compatibility/limits.h, include/c_compatibility/locale.h, include/c_compatibility/stdio.h, include/c_compatibility/string.h, include/c_compatibility/time.h, include/c_compatibility/wchar.h, include/c_compatibility/wctype.h: Remove trailing whitespace. 2003-12-09 Bernardo Innocenti * include/c_std/cmath.tcc, include/c_std/std_cassert.h, include/c_std/std_cctype.h, include/c_std/std_cmath.h, include/c_std/std_cstddef.h, include/c_std/std_cstdio.h, include/c_std/std_cstdlib.h, include/c_std/std_cstring.h, include/c_std/std_cwchar.h, include/c_std/std_cwctype.h: Remove trailing whitespace. 2003-12-09 Bernardo Innocenti * include/c/std_cctype.h, include/c/std_cmath.h, include/c/std_cstdlib.h include/c/std_cwchar.h, include/c/std_cwctype.h: Remove trailing whitespace. 2003-12-09 Bernardo Innocenti * include/backward/algo.h, include/backward/algobase.h, include/backward/alloc.h, include/backward/complex.h, include/backward/defalloc.h, include/backward/function.h, include/backward/iterator.h, include/backward/new.h, include/backward/ostream.h, include/backward/queue.h, include/backward/rope.h, include/backward/stream.h, include/backward/streambuf.h, include/backward/strstream, include/backward/tempbuf.h, include/backward/tree.h, include/backward/vector.h: Remove trailing whitespace. 2003-12-08 Paolo Carlini * config/locale/generic/c_locale.cc (__convert_to_v(long&), __convert_to_v(unsigned long&), __convert_to_v(long long&), __convert_to_v(unsigned long long&): Remove. (__convert_to_v(float&), __convert_to_v(double&), __convert_to_v(long double&)): Remove last unused parameter. * config/locale/gnu/c_locale.cc: Likewise. * include/bits/locale_facets.h: Likewise. (num_get::_M_extract_int): Update declaration. (class __num_base): Tweak _S_ie and _S_iE according to the _S_atoms_in changes. * include/bits/locale_facets.tcc (num_get::_M_extract_int): Provide directly the final _ValueT, not a string: accumulate the result checking for overflow at each digit. (num_get::do_get(bool&), num_get::do_get(long&), num_get::do_get(unsigned short&), num_get::do_get(unsigned int&), num_get::do_get(unsigned long&), num_get::do_get(long long&), num_get::do_get(unsigned long long&), num_get::do_get(void*&)): Use the new _M_extract_int, simplify. * src/locale-inst.cc (num_get::_M_extract_int(long&), num_get::_M_extract_int(unsigned short&), num_get::_M_extract_int(unsigned int&), num_get::_M_extract_int(unsigned long&), num_get::_M_extract_int(long long&), num_get::_M_extract_int(unsigned long long&): Instantiate. * src/locale_facets.cc (__num_base::_S_atoms_in): Reorder the chars in the natural order: abcdefABCDEF. 2003-12-08 David S. Miller PR libstdc++/12496 * config/cpu/sparc/atomicity.h (__exchange_and_add, __atomic_add): Extend increment to _Atomic_word before giving to assembler. 2003-12-06 Benjamin Kosnik * testsuite/ext/enc_filebuf/char/13189.cc: Guard for __enc_traits. * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same. 2003-12-06 Benjamin Kosnik PR libstdc++/11691 * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf): Remove __del argument to file descriptor constructor. * config/io/basic_file_stdio.h (__basic_file::sys_open): Remove bool argument. * config/io/basic_file_stdio.cc: Same. 2003-12-05 Benjamin Kosnik PR libstdc++/13189 * include/ext/enc_filebuf.h: Fix. * include/bits/fstream.tcc: Tweak formatting. * include/bits/postypes.h: Same. * include/bits/sstream.tcc: Same. * include/bits/streambuf.tcc: Same. * testsuite/ext/stdio_filebuf.cc: Split. * testsuite/ext/stdio_filebuf_2.cc: Split. * testsuite/ext/stdio_sync_filebuf_char.cc: Split. * testsuite/ext/stdio_sync_filebuf_wchar_t.cc: Split. * testsuite/ext/enc_filebuf/char/13189.cc: New. * testsuite/ext/enc_filebuf/wchar_t/13189.cc: New. * testsuite/ext/stdio_filebuf/char/1.cc: New. * testsuite/ext/stdio_filebuf/char/2.cc: New. * testsuite/ext/stdio_sync_filebuf/char/1.cc: New. * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: New. * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: New. * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: New. * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: New. * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: New. * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: New. * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: New. * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: New. * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: New. 2003-12-05 Carlo Wood PR libstdc++/13045 * bits/demangle.h namespace __gnu_cxx::demangler (enum substitution_nt): Removed trailing comma. (implementation_details): Added. (session::M_implementation_details): Added. (session::session): Pass implementation_details. (session::decode_encoding): Same. (session::decode_real): Added. (_GLIBCXX_DEMANGLER_STYLE_VOID _GLIBCXX_DEMANGLER_STYLE_LITERAL _GLIBCXX_DEMANGLER_STYLE_LITERAL_INT _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Replaced with implementation_details equivalent. (session::decode_expression): Use M_implementation_details instead of macros. Add extra parentheses around 'larger than' operator in expressions in template arguments. (session::decode_bare_function_type): Idem. (session::decode_literal): Idem, and call decode_real for floating literals. (session::decode_type_with_postfix): Put the postfix of the return type of (member) functions after the function instead of after the return type. Also, put a space after the prefix of qualified function pointers: "int (* const". * src/demangle.cc: include most dependent header file first. * testsuite/demangle/regression/cw-16.cc: Updated two and added three tests. 2003-12-04 Benjamin Kosnik PR libstdc++/13284 * include/bits/stl_algo.h (__random_number): Remove. (random_shuffle): Use rand, as permitted by DR 395. * include/ext/algorithm: Same. * linkage.m4 (GLIBCXX_CHECK_STDLIB_SUPPORT): Remove lrand48. * acconfig.h: Same. * crossconfig.m4: Remove HAVE_DRAND48, HAVE_LRAND48. * config.h.in: Regenerated. * configure: Same. * aclocal.m4: Same. 2003-12-04 Paolo Carlini PR libstdc++/12653 * include/std/std_bitset.h (operator>>): Implement resolution of DR 303 [WP]: use widen('0') and widen('1'). * docs/html/ext/howto.html: Add an entry for DR 303. * include/std/std_bitset.h (operator>>): Implement the common requirements of formatted input functions (27.6.1.2.1). * include/std/std_bitset.h (operator>>): Set the failbit when nothing was extracted and _Nb != 0. * testsuite/23_containers/bitset/input/1.cc: New. 2003-12-03 Paolo Carlini PR libstdc++/12791 * include/bits/locale_facets.tcc (time_get::_M_extract_num): Rewrite, stop the parsing as soon as a digit cannot possibly lead to a final number within the bounds; otherwise, simplify, avoiding __ctype.is() and atoi(). * testsuite/22_locale/time_get/get_date/char/12791.cc: New. * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: New. * include/bits/locale_facets.tcc (time_get::_M_extract_via_format): Minor tweak: a 4-digit integer cannot be bigger than 9999. * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Use type-correct wchar_t string literals. * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto. * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto. * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto. * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto. 2003-12-02 Paolo Carlini * include/bits/locale_facets.tcc (time_get::do_get_year): Avoid using a basic_string and calling a full blown strtol (via __convert_to_v) for simple 2 or 4 digits, base 10, positive integers; simplify. 2003-12-02 Paolo Carlini * config/locale/gnu/monetary_members.cc (money_base::_S_construct_pattern): For case 3: and 4: exchanging 'if (__precedes)' and 'if (__space)' allows to factor out a few more assignments. 2003-12-01 Benjamin Kosnik * include/bits/basic_ios.h (basic_ios::setstate): Revert. * include/bits/istream.tcc: Only call setstate if __err != goodbit. * include/bits/ostream.tcc: Same. * testsuite/27_io/basic_ios/exceptions/char/2.cc: New. * testsuite/testsuite_io.h (__gnu_test::fail_streambuf): Make internal buffer non-static. 2003-12-01 Benjamin Kosnik * docs/html/17_intro/C++STYLE: Add exception bits. * include/bits/fstream.tcc: Add location info to exception strings. * include/bits/stl_construct.h: Formatting tweaks. 2003-12-01 Paolo Carlini PR libstdc++/10378 * include/bits/allocator.h (allocator::construct): Implement resolution of DR 402 [Ready] (in Revision 28). * include/bits/allocator_traits.h (__allocator::construct): Likewise. * include/bits/stl_construct.h (_Construct): Likewise. * testsuite/20_util/allocator_members.cc: Move to... * testsuite/20_util/allocator/1.cc: ... here. * testsuite/20_util/allocator/10378.cc: New. * docs/html/ext/howto.html: Add an entry for DR 402. 2003-11-30 Paolo Carlini * config/locale/gnu/codecvt_members.cc (codecvt::do_in, codecvt::do_length): More minor tweaks. 2003-11-30 Paolo Carlini * config/locale/gnu/codecvt_members.cc (codecvt::do_in): Minor stylistic tweak. 2003-11-30 Paolo Carlini * include/bits/locale_facets.tcc (num_put::do_put(..., bool)): Minor tweaks, consistent with the style used in other facets. 2003-11-29 Paolo Carlini * include/bits/fstream.tcc (underflow): Minor tweaks in preparation for libstdc++/13217. 2003-11-29 Paolo Carlini * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Tweak for a few small problems (fix timings, use VERIFY..) 2003-11-28 Paolo Carlini * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: Remove. * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: New, the original third testcase for libstdc++/13171 belong here. 2003-11-28 Paolo Carlini * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: Remove extraneous wchar_t lines. 2003-11-27 Paolo Carlini PR libstdc++/11544 PR libstdc++/11603 * include/bits/fstream.tcc (underflow): Throw ios_base::failure upon incomplete or invalid byte sequences in the file. * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: New. * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: New. * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: New. 2003-11-27 Paolo Carlini * include/std/std_streambuf.h (__copy_streambufs): Remove the first, unused, basic_ios<> parameter. * src/streambuf-inst.cc: Likewise. * include/bits/streambuf.tcc: Likewise. * include/bits/istream.tcc (operator>>(__streambuf_type*)): Tweak accordingly the call. * include/bits/ostream.tcc (operator<<(__streambuf_type*)): Likewise. * include/bits/streambuf.tcc (__copy_streambufs): Remove redundant try/catch. 2003-11-26 Benjamin Kosnik PR libstdc++/9371 PR libstdc++/9546 PR libstdc++/10093 PR libstdc++/10095 * include/bits/basic_ios.h (basic_ios::setstate): Elide if goodbit. (basic_ios::_M_setstate): Consolidate common error handling code. * include/bits/basic_ios.tcc: Tweak. * include/bits/fstream.tcc: Tweak. * include/bits/istream.tcc: Use _M_setstate for common exception handling. Move setstate calls after catch. (basic_istream::tellg): Check for exceptions thrown by streambuf virtual functions. (basic_istream::seekg): Same. * include/bits/ostream.tcc: Same, but for ostream. (basic_ostream::flush): Check for exceptions thrown by streambuf virtual functions. (basic_istream::tellp): Same. (basic_istream::seekp): Same. * include/bits/locale_facets.tcc: Tweak. * include/bits/streambuf.tcc: Tweak. (__copy_streambufs): Propagate exceptions. * testsuite/testsuite_io.h (fail_streambuf): New. (fail_num_get): New. (fail_num_put): New. (facet_error): New. (underflow_error): New. (overflow_error): New. (positioning_error): New. * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Tweak. * testsuite/27_io/basic_istream/extractors_arithmetic/char/ exceptions_badbit_throw.cc, exceptions_failbit.cc, exceptions_failbit_throw.cc: New. * testsuite/27_io/basic_istream/extractors_other/char/ error_failbit.cc, exceptions_badbit_throw.cc, exceptions_failbit_throw.cc, exceptions_null.cc: New. * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc: New. * testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc: New. * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc: New. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/ exceptions_badbit_throw.cc, exceptions_failbit_throw.cc: New. * testsuite/27_io/basic_ostream/inserters_other/char/ error_failbit.cc, exceptions_badbit_throw.cc, exceptions_failbit_throw.cc, exceptions_null.cc: New. * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc: New. * testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc: New. 2003-11-26 Benjamin Kosnik PR libstdc++/12297 * include/bits/istream.tcc (basic_istream::sentry::sentry): Set failbit and eofbit when eof. * testsuite/27_io/basic_istream/sentry/char/12297.cc: New. 2003-11-26 Paolo Carlini Petur Runolfsson PR libstdc++/13171 * include/bits/fstream.tcc (imbue): Relax the conditions under which the function succeeds: allow for two consecutive calls with the same name; state dependent encodings are ok even after open if at the beginning of the file; don't check seekoff return value (pipes, cin, cout, etc...) * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: New. * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: New. * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: New. * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: New. * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak comment. * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Tweak comment. * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: More correctly use the UTF-8 locale appearing in the PR. 2003-11-26 Paolo Carlini * include/bits/locale_facets.h (__numpunct_cache<>::_M_cache): Avoid zeroing _M_grouping, _M_truename and _M_falsename: the constructor always does it immediately before the _M_cache call. 2003-11-25 Paolo Carlini * config/locale/gnu/codecvt_members.cc (codecvt::do_length): Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the former is very fast, but stops if encounters a NUL. (codecvt::do_out): Tweaks. (codecvt::do_in): Tweaks, improve the code dealing with errors. * testsuite/performance/wchar_t_length.cc: New. 2003-11-24 Paolo Carlini * config/locale/gnu/codecvt_members.cc (codecvt::do_in): Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the former is very fast, but stops if encounters a NUL. (codecvt::do_out): Tweak. * testsuite/performance/wchar_t_in.cc: New. 2003-11-24 Paolo Carlini * include/bits/locale_facets.h (__numpunct_cache<>::_M_cache): Set _M_allocated at the beginning in order to avoid memory leaks; simplify a bit. 2003-11-24 Benjamin Kosnik * include/bits/streambuf_iterator.h (ostreambuf_iterator): Remove non-standard throw specs. * testsuite/24_iterators/istreambuf_iterator.cc: Split into... * testsuite/24_iterators/istreambuf_iterator/1.cc * testsuite/24_iterators/istreambuf_iterator/2.cc * testsuite/24_iterators/istreambuf_iterator/2627.cc * testsuite/24_iterators/ostreambuf_iterator.cc: Split into... * testsuite/24_iterators/ostreambuf_iterator/1.cc * testsuite/24_iterators/ostreambuf_iterator/2.cc * testsuite/24_iterators/reverse_iterator/1.cc: Just compile, don't link. * include/bits/allocator.h: Formatting tweak. 2003-11-24 Paolo Carlini * src/locale_init.cc: Cosmetic reformatting. 2003-11-23 Paolo Carlini * include/bits/locale_facets.tcc (__add_grouping): Cosmetic reformatting. 2003-11-23 Paolo Carlini * include/bits/locale_facets.tcc (_M_extract_float, _M_extract_int): Remove a wrong comment and simplify the corresponding code using char_traits::find(). 2003-11-22 Paolo Carlini * config/locale/gnu/monetary_members.cc (money_base::_S_construct_pattern): Factor out two assignments. 2003-11-22 Paolo Carlini * include/bits/istream.tcc (getline(basic_string<>&)): Fix error in comment of the previous commit. 2003-11-22 Paolo Carlini PR libstdc++/12593 * include/bits/istream.tcc (operator>>(basic_string<>&), getline(basic_string<>&)): Implement resolution of DR 91 [WP]; fix some minor issues with the exit conditions. * docs/html/ext/howto.html: Add an entry for DR 91. 2003-11-21 Paolo Carlini * config/locale/gnu/monetary_members.cc (money_base::_S_construct_pattern): Factor out an assignment. 2003-11-21 Paolo Carlini PR libstdc++/12882 (partial) * acinclude.m4 (GLIBCXX_CHECK_LFS): Check fseeko64 and ftello64 too. * include/ext/stdio_sync_filebuf.h (seekoff): Use fseeko64 and ftello64 if available. * aclocal.m4: Regenerate. * configure: Ditto. 2003-11-20 Benjamin Kosnik * include/debug/formatter.h: Use _Tp as template argument. * src/debug.cc: Same, instantiate std::size_t. 2003-11-20 Benjamin Kosnik PR libstdc++/13109 * include/debug/formatter.h (_Error_formatter::_M_format_word): New. * src/debug.cc (__gnu_debug): Format. (_Error_formatter::_M_format_word): Define, use, instantiate. 2003-11-20 Paolo Carlini PR libstdc++/11602 * config/locale/gnu/codecvt_members.cc (codecvt::do_out): Rewrite, using both wcsnrtombs and wcrtomb in a loop: the former is very fast, but stops if encounters a NUL. * testsuite/performance/wchar_t_out.cc: New, from the PR. 2003-11-19 Paolo Carlini * config/locale/gnu/codecvt_members.cc (do_out): If we can upper bound the total number of external chars to something smaller than __to_end - __to, avoid the temporary buffer, the memcopy and simplify the loop. * config/locale/generic/codecvt_members.cc (do_out): Likewise. 2003-11-19 Andreas Tobler * testsuite/lib/libstdc++.exp: Add DYLD_LIBRARY_PATH for darwin. * testsuite/libstdc++-dg/normal.exp: Add -multiply_defined suppress flag. 2003-11-18 Jonathan Wakely * docs/html/configopts.html, docs/html/debug.html, docs/html/documentation.html, docs/html/explanations.html, docs/html/install.html, docs/html/17_intro/contribute.html, docs/html/17_intro/howto.html, docs/html/17_intro/license.html, docs/html/18_support/howto.html, docs/html/19_diagnostics/howto.html, docs/html/20_util/howto.html, docs/html/21_strings/howto.html, docs/html/22_locale/codecvt.html, docs/html/22_locale/ctype.html, docs/html/22_locale/howto.html, docs/html/22_locale/locale.html, docs/html/22_locale/messages.html, docs/html/23_containers/howto.html, docs/html/24_iterators/howto.html, docs/html/25_algorithms/howto.html, docs/html/26_numerics/howto.html, docs/html/27_io/howto.html, docs/html/ext/howto.html, docs/html/ext/sgiexts.html: Add tags. 2003-11-18 Paolo Carlini PR libstdc++/12868 * include/bits/fstream.tcc (imbue): For encodings != -1 it's always ok to imbue a new locale, provided seekoff(0, cur, ...) doesn't fail, of course. (underflow): In order for the above to work, deal gracefully with _M_codecvt->in returning codecvt_base::error while (__ilen = __iend - this->eback()) > 0: it just means __ilen correctly converted internal characters before an error. * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: New. 2003-11-17 Paolo Carlini * include/bits/locale_facets.tcc: Fix typo in comment. 2003-11-17 Paolo Carlini * testsuite/22_locale/num_put/put/char/8.cc: New test, summarizing the discussion ensuing libstdc++/12988. * testsuite/22_locale/num_put/put/wchar_t/8.cc: Ditto. 2003-11-15 Paolo Carlini * include/std/std_fstream.h: Tweak a comment. 2003-11-15 Roger Sayle * include/c_std/std_cmath.h: Don't import C99's float transcendentals into the __gnu_cxx::__c99_binding namespace. (acos, asin, atan, atan2, ceil, cosh, exp, floor, fmod, frexp, ldexp, log, log10, modf, pow, sinh, tan, tanh): Implement using GCC's math builtins, i.e. __builtin_foo. * libmath/stubs.c (acosf, acosl, asinf, asinl, atanf, atanl, ceilf, ceill, floorf, floorl, fmodf, fmodl, frexpf, frexpl, ldexpf, ldexpl, modff, modfl): Provide stub implementations. 2003-11-14 Paolo Carlini * testsuite/22_locale/locale/cons/12352.cc: Use __gnu_test::try_named_locale. 2003-11-14 Paolo Carlini * docs/html/ext/howto.html: Add entries for DR 63, 75 and 305; tweak entries for DR 60 and 328. 2003-11-13 Douglas Gregor * docs/html/debug.html: Users are allowed to specialize in namespace __gnu_debug, unlike in the Apple version of the debug mode. Clear up a confusing double-negative. Note that std::basic_string does provide extra debugging capabilities, but not safe iterators. * include/bits/basic_string.tcc: Make sure there's never an ambiguity when calling __is_null_pointer. * include/debug/deque: (deque::erase) Properly handle invalidation when erasing at the end of the deque. * include/debug/vector: (vector::swap): Swap _M_guaranteed_capacity. (vector::clear): Set the guaranteed capacity to 0. * testsuite/23_containers/deque/invalidation/4.cc: (test04): Test iterator invalidation when erasing at the end of the deque. 2003-11-13 Paolo Carlini Petur Runolfsson PR libstdc++/13007 * include/bits/fstream.tcc (imbue): Don't touch the stored locale. * include/std/std_streambuf.h (imbue): According to the standard, base class version does nothing. (pubimbue): Store the locale. * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: New. * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: New. * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak. * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: New. * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: New. * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: New. * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: New. 2003-11-13 Petur Runolfsson PR libstdc++/12594 * include/bits/ostream.tcc (basic_ostream::operator<<(basic_ostream& (*)(basic_ostream&)), basic_ostream::operator<<(basic_ios& (*)(basic_ios&)), basic_ostream::operator<<(ios_base& (*)(ios_base&))): Implement the resolution of DR 60 (TC): These are not formatted output functions so don't construct sentry objects and don't catch exceptions. (basic_ostream::put, basic_ostream::write): Implement the resolution of DR 63 (TC) by catching exceptions and setting badbit. (basic_ostream::flush): Implement the resolution of DR 60 (TC): This is not an unformatted output function so don't construct a sentry object. * testsuite/testsuite_io.h (sync_streambuf): Define. * testsuite/27_io/basic_ostream/flush/char/2.cc: New test. * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: New test. * testsuite/27_io/basic_ostream/put/char/1.cc: New test. * testsuite/27_io/basic_ostream/write/char/1.cc: New test. 2003-11-13 Paolo Carlini * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1: Fix, closely following the testcase included in the PR. * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: Ditto. * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: Ditto. * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: Ditto. 2003-11-13 Jonathan Wakely * docs/html/17_intro/configury.html: XHTML tweak. 2003-11-13 Jonathan Wakely * docs/html/debug_mode.html: XHTML fixes. 2003-11-12 Benjamin Kosnik * docs/html/debug_mode.html: Update. * docs/html/17_intro/TODO: Update. 2003-11-12 Benjamin Kosnik * include/bits/c++config: Move using directive... * include/debug/formatter.h: ...here. 2003-11-12 Carlo Wood PR libstdc++/12947 * bits/demangle.h (_GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS): Added. (_GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Added. (session::next_peek() const): Added. (decode_non_negative_decimal_integer(string_type&)): Renamed from decode_decimal_integer(string_type&). (session::decode_nested_name): Decode as well. (session::add_substitution): Handle for 's. (enum xary_nt): Added. (struct entry_st): Added member `xary_nt type' instead of `bool unary'. (symbol_name_table_c): Updated for `entry_st::type' and additional operators (unary `operator+' and `sizeof(type)'). (offset_table_c): Updated for new operators (causing a new hash map). (decode_operator_name): Match the updated hash map. (session::decode_expression): Support for `sizeof ([typename] type)' (st), dependent names (sr) and casting operator (cv). Handle `entry_st::type'. Handle _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS and _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME. (session::decode_type_with_postfix): Support `extern "C"' function types (FY). * testsuite/demangle/regression/cw-16.cc: Added tests for the added functionality. * testsuite/demangle/regression/3111-2.cc: sizeof now has a space appended. 2003-11-11 Paolo Carlini PR libstdc++/12875 * include/bits/fstream.tcc (setbuf): Don't do anything after open(), in particular don't discard data. (_M_allocate_internal_buffer): Tweak to not allocate memory in case the buffer is provided by the user via setbuf. * include/ext/stdio_filebuf.h: Tweak comment. * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: New. * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Likewise. * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Tweak, now setbuf does nothing after open(). * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise. 2003-11-11 Doug Gregor * docs/html/debug.html: Document libstdc++ debug mode. * docs/html/debug_mode.html: Document libstdc++ debug mode design. * docs/html/test.html: Document how to test under debug mode. * docs/html/17_intro/howto.html: Document debug-mode macros. * include/Makefile.am: Install debug-mode headers. * src/Makefile.am: Include debug.cc. * include/bits/basic_string.tcc: (basic_string::_S_construct): Fix NULL pointer check. (__is_null_pointer): New. Add precondition annotations. * include/bits/stream_iterator.h (istream_iterator, ostream_iterator): Added precondition annotations. * include/bits/streambuf_iterator.h (istreambuf_iterator): Ditto. * include/bits/stl_queue.h (queue, priority_queue): Ditto. * include/bits/stl_stack.h (stack): Ditto. * include/bits/basic_string.h (basic_string): Ditto. * include/bits/basic_string.tcc (basic_string): Ditto. * include/std/std_memory.h (auto_ptr): Ditto. * include/std/std_valarray.h (valarray): Ditto. * include/bits/stl_algo.h: Added algorithm precondition annotations. * include/bits/stl_algobase.h: Added algorithm precondition annotations. * include/bits/stl_numeric.h: Ditto. * include/ext/algorithm: Added algorithm precondition annotations. (__is_heap): Moved away from here. * include/bits/stl_heap.h: Added algorithm precondition annotations. (__is_heap): Moved to the top of this file. (__is_heap): Added iterator range overloads. * testsuite/20_util/auto_ptr_neg.cc: Fix line numbers to match up with changes in std_memory.h. * testsuite/23_containers/list/operators/4.cc: Don't verify performance guarantees when in debug mode. * testsuite/23_containers/bitset/invalidation/1.cc: New. * testsuite/23_containers/deque/invalidation/1.cc: New. * testsuite/23_containers/deque/invalidation/2.cc: New. * testsuite/23_containers/deque/invalidation/3.cc: New. * testsuite/23_containers/deque/invalidation/4.cc: New. * testsuite/23_containers/list/invalidation/1.cc: New. * testsuite/23_containers/list/invalidation/2.cc: New. * testsuite/23_containers/list/invalidation/3.cc: New. * testsuite/23_containers/list/invalidation/4.cc: New. * testsuite/23_containers/map/invalidation/1.cc: New. * testsuite/23_containers/map/invalidation/2.cc: New. * testsuite/23_containers/multimap/invalidation/1.cc: New. * testsuite/23_containers/multimap/invalidation/2.cc: New. * testsuite/23_containers/multiset/invalidation/1.cc: New. * testsuite/23_containers/multiset/invalidation/2.cc: New. * testsuite/23_containers/set/invalidation/1.cc: New. * testsuite/23_containers/set/invalidation/2.cc: New. * testsuite/23_containers/vector/invalidation/1.cc: New. * testsuite/23_containers/vector/invalidation/2.cc: New. * testsuite/23_containers/vector/invalidation/3.cc: New. * testsuite/23_containers/vector/invalidation/4.cc: New. * testsuite/25_algorithms/heap.cc: Don't verify performance guarantees when in debug mode. * include/debug/bitset: New. * include/debug/debug.h: New. * include/debug/deque: New. * include/debug/formatter.h: New. * include/debug/hash_map: New. * include/debug/hash_map.h: New. * include/debug/hash_multimap.h: New. * include/debug/hash_set: New. * include/debug/hash_set.h: New. * include/debug/hash_multiset.h: New. * include/debug/list: New. * include/debug/map: New. * include/debug/map.h: New. * include/debug/multimap.h: New. * include/debug/multiset.h: New. * include/debug/safe_base.h: New. * include/debug/safe_iterator.h: New. * include/debug/safe_iterator.tcc: New. * include/debug/safe_sequence.h: New. * include/debug/set: New. * include/debug/set.h: New. * include/debug/string: New. * include/debug/vector: New. * src/debug.cc: New. * config/linker-map.gnu: Add debug mode symbols. 2003-11-11 Benjamin Kosnik * src/string-inst.cc: Tweak namespaces. * src/misc-inst.cc: Same. * docs/html/debug.html: Edits. * config/link-map.gnu: Remove cruft. * include/bits/c++config: Add in namespace associations. * include/std/std_bitset.h: Adjust namespace to __gnu_norm, comment tweaks. * include/bits/deque.tcc: Same. * include/bits/list.tcc: Same. * include/bits/stl_bvector.h: Same. * include/bits/stl_deque.h: Same. * include/bits/stl_list.h: Same. * include/bits/stl_map.h: Same. * include/bits/stl_multimap.h: Same. * include/bits/stl_multiset.h: Same. * include/bits/stl_set.h: Same. * include/bits/stl_vector.h: Same. * include/bits/vector.tcc: Same. * include/std/std_algorithm.h: Remove markup comments. * include/std/std_functional.h: Same. * include/std/std_iterator.h: Same. * include/std/std_numeric.h: Same. * include/std/std_utility.h: Same. * include/bits/stl_queue.h: Formatting tweaks. * include/bits/stl_stack.h: Same. * include/std/std_deque.h: Include debugging version in debug mode. * include/std/std_list.h: Same. * include/std/std_map.h: Same. * include/std/std_set.h: Same. * include/std/std_vector.h: Same. * include/std/std_queue.h: Use deque, vector. * include/std/std_stack.h: Same. 2003-11-09 Paolo Carlini * include/bits/locale_facets.tcc (_M_insert_int, _M_insert_float): Move a couple of vars inside an if block. 2003-11-09 Paolo Carlini PR libstdc++/12971 * include/bits/locale_facets.tcc (money_put::do_put(..., long double)): Fix conversion specification as per DR 328 [WP]. * testsuite/22_locale/money_put/put/char/12971.cc: Add. * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Ditto. * docs/html/ext/howto.html: Add entry for DR 328. 2003-11-08 Paolo Carlini PR libstdc++/12967 * include/bits/list.tcc (merge): Implement resolution of DR 300 [WP]. * docs/html/ext/howto.html: Add entry for DR 300; tweak entry for DR 231. * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html: Import R27. 2003-11-07 Jonathan Wakely * libsupc++/vec.cc: Conform to C++STYLE. 2003-11-07 Carlo Wood PR libstdc++/12736 * bits/demangle.h (qualifier_list::decode_KVrA): Added. (qualifier_list::decode_qualifiers): Collect concatenated K, V, r and A qualifiers before processing them as a group. * testsuite/demangle/abi_text/01.cc: Reordered CV-qualifiers. * testsuite/demangle/regression/cw-16.cc: New. 2003-11-07 Robert Millan * configure.host: Add kfreebsd*-gnu and knetbsd*-gnu. * crossconfig.m4: Likewise. * configure: Regenerate. 2003-11-07 Carlo Wood * include/bits/demangle.h (qualifier_list::decode_qualifiers(string_type&, string_type&, bool member_function_pointer_qualifiers): Always separate the '[' of an array type with a space from what is left of it, except when that is the closing bracket of another array dimension. 2003-11-07 Carlo Wood * include/bits/demangle.h (qualifier_list::decode_qualifiers(string_type&, string_type&, bool) const): Made const. (qualifier_list::M_printing_suppressed): Added mutable. (_GLIBCXX_DEMANGLER_DOUT_ENTERING3, _GLIBCXX_DEMANGLER_RETURN3, std::ostream& operator<<(std::ostream&, qualifier const&), std::ostream& operator<<(std::ostream&, qualifier_list const&), qualifier_list::decode_qualifiers(string_type&, string_type&, bool) const, session::decode_type_with_postfix(string_type&, string_type&, qualifier_list*)) Added and/or changed debug-only hooks and code. 2003-11-04 Jeffrey D. Oldham * libsupc++/vec.cc (__cxa_vec_delete2): If given a NULL pointer, immediately return. This reflects a C++ ABI change 2003 Nov 03. (__cxa_vec_delete3): Likewise. 2003-11-03 Petur Runolfsson PR libstdc++/12790 * include/bits/fstream.tcc: Delete _M_last_overflowed. (basic_filebuf::basic_filebuf): Initialize _M_state_last. (basic_filebuf::open, basic_filebuf::close): Assign _M_state_beg to _M_state_cur and _M_state_last. (basic_filebuf::close): Call _M_terminate_output to handle unshift and flushing. (basic_filebuf::underflow): Assign _M_state_last, throw exception instead of calling abort when codecvt::max_length() is bad. (basic_filebuf::seekoff): Use _M_state_last when calling codecvt::length(), pass correct state to _M_seek. (basic_filebuf::seekpos): Pass __pos.state() to _M_seek. (basic_filebuf::_M_seek): Add __state_type parameter, set _M_state_cur correctly, store the resulting state in the return value and use _M_terminate_output to handle flushing and unshift. (basic_filebuf::_M_terminate_output): Flush contents of output buffer, if any, then call codecvt::unshift as needed and output the result. (basic_filebuf::sync): Move here, don't modify _M_writing or _M_reading. * include/std/std_fstream.h (basic_filebuf::_M_state_last): Declare it. (basic_filebuf::_M_last_overflowed): Delete. (basic_filebuf::_M_seek): Add __state_type parameter. (basic_filebuf::sync): Declare only. (basic_filebuf::_M_output_unshift): Delete. (basic_filebuf::_M_terminate_output): Declare it. * testsuite/testsuite_character.h: Define character class and state class plus char_traits and codecvt specializations for same for testing support for stateful encodings. * testsuite/27_io/basic_filebuf/close/12790-1.cc, * testsuite/27_io/basic_filebuf/close/char/12790-1.cc, * testsuite/27_io/basic_filebuf/close/char/12790-2.cc, * testsuite/27_io/basic_filebuf/close/char/12790-3.cc, * testsuite/27_io/basic_filebuf/close/char/12790-4.cc, * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc, * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc, * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc, * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc, * testsuite/27_io/basic_filebuf/open/12790-1.cc, * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc, * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc, * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc, * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc, * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc, * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc, * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc, * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc, * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc, * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc, * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc, * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc, * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc, * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc, * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc, * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc, * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc, * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc, * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc, * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc, * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc, * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc, * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc, * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc, * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc, * testsuite/27_io/basic_filebuf/sync/char/1.cc, * testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc: New tests. * testsuite/27_io/basic_filebuf/3.cc, * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc, * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc, * testsuite/27_io/basic_fstream/3.cc, * testsuite/27_io/basic_ifstream/3.cc, * testsuite/27_io/basic_ofstream/3.cc: Use streamoff as off_type and fpos as pos_type. * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc, * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Check that sync does *not* set _M_writing to false. 2003-11-03 Anthony Green * libmath/stubs.c (sqrtf, sqrtl): Reorder so they appear before they're used. 2003-11-03 Benjamin Kosnik * include/bits/locale_facets.h (time_get::_M_extract_name): Add ctype argument. * include/bits/locale_facets.tcc: Same, use it to allow capitalized names. * include/bits/fstream.tcc: Spacing tweak. * include/bits/istream.tcc: Same. * include/bits/ostream.tcc: Same. 2003-10-30 Paolo Carlini * include/bits/locale_facets.tcc (time_get::_M_extract_via_format): __mod is only assigned, never used its value, remove it. 2003-10-29 Paolo Carlini * include/bits/locale_facets.tcc (time_get::do_get_year): Absolutely avoid dereferencing end iterators. (time_put::put): Minor clean up. * include/bits/locale_facets.tcc: Cosmetic reformattings. 2003-10-29 Paolo Carlini * include/bits/locale_facets.tcc (num_get::_M_extract_float): Revert the last commit, is not correct, sorry. 2003-10-29 Paolo Carlini * config/locale/generic/c_locale.cc: Add back and . * include/bits/locale_facets.tcc (num_get::_M_extract_float): Clean up. 2003-10-29 Paolo Carlini * include/bits/locale_facets.tcc (time_put::put): Absolutely avoid dereferencing end iterators; clean up. * include/bits/locale_facets.tcc (num_get::_M_extract_float, num_get::_M_extract_int): Minor tweak. 2003-10-29 Paolo Carlini * include/bits/locale_facets.tcc: Remove some unnecessary includes. * config/locale/generic/c_locale.cc: Include here. * config/locale/gnu/c_locale.cc: Likewise. 2003-10-28 Paolo Carlini * include/bits/locale_facets.tcc (money_get<>::do_get(..., string_type&)): Absolutely avoid dereferencing end iterators; general clean up. 2003-10-28 Paolo Carlini * include/bits/locale_facets.tcc (time_get::_M_extract_num): Absolutely avoid dereferencing end iterators. (time_get::_M_extract_name): Likewise. * include/bits/locale_facets.tcc (time_get::_M_extract_via_format, case 'e'): Don't try to be smart wrt returning the right __beg in case of parse error, time_get::_M_extract_num must be fixed instead. 2003-10-27 Paolo Carlini PR libstdc++/12778 * acinclude.m4 (GLIBCXX_CHECK_LFS): Use the C++ compiler. * aclocal.m4: Regenerate. * configure: Regenerate. 2003-10-27 Benjamin Kosnik * docs/html/17_intro/TODO: Add links. * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc: Uncomment. 2003-10-27 Paolo Carlini PR libstdc++/12750 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format): Deal with code 'e'. * testsuite/22_locale/time_get/get_date/char/12750.cc: New. * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Ditto. * include/bits/locale_facets.tcc (time_get::_M_extract_via_format): Tweak to absolutely avoid dereferencing end iterators. * include/bits/locale_facets.h (__verify_grouping): Const-ify second parameter. * include/bits/locale_facets.tcc (__verify_grouping): Ditto. * src/locale-inst.cc (__verify_grouping): Ditto. 2003-10-27 Paolo Carlini * include/bits/locale_facets.tcc (num_get::_M_extract_float): Various things: 1- Avoid absolutely end iterator dereferences; 2- Improve performance-wise the code skipping leading zeros; 3- Fix two bugs wrt early bail out in case of parsing errors (see testcases); 4- General clean up. (num_get::_M_extract_int): Likewise, except 3-. Additionally, use __builtin_expect to favor base 10 inputs. * testsuite/22_locale/num_get/get/char/7.cc: New. * testsuite/22_locale/num_get/get/wchar_t/7.cc: Ditto. 2003-10-26 Paolo Carlini * testsuite/22_locale/money_put/put/char/1.cc: Clean up. * testsuite/22_locale/money_put/put/wchar_t/1.cc: Ditto. 2003-10-25 Paolo Carlini * include/bits/locale_facets.tcc (num_get::_M_extract_int): __pos in only incremented, never used its value, remove it. 2003-10-24 Robert Millan * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add kfreebsd*-gnu and knetbsd*-gnu. * aclocal.m4: Regenerated. * configure: Regenerated. 2003-10-24 Paolo Carlini * include/bits/locale_facets.tcc (money_get::do_get(..., long double&): Properly size the temporary buffer. * testsuite/22_locale/money_get/get/char/11.cc: New. * testsuite/22_locale/money_get/get/wchar_t/11.cc: Ditto. * include/bits/locale_facets.tcc (num_put::_M_group_int, num_put::_M_group_float, money_put::do_put(..., const string_type&), collate::do_compare, collate::do_transform): Prefer basic_string::data() to c_str() when the '\0' terminator is not really needed. 2003-10-24 Paolo Carlini * include/bits/locale_facets.tcc (__verify_grouping): Prefer '=' to an unnecessary '&='. 2003-10-24 Paolo Carlini * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)): Tweak my fix for libstdc++/12657. 2003-10-24 Paolo Carlini * include/bits/locale_facets.tcc (money_get::do_get(..., string_type&): Minor tweak to the previous commit. 2003-10-24 Paolo Carlini * include/bits/locale_facets.tcc (money_get::do_get(..., string_type&): Disregard the previous commit: doesn't hurt but doesn't accomplish anything useful either. This is the right one, speeding up greatly the function in case of early fail. 2003-10-24 Paolo Carlini * include/bits/locale_facets.tcc (money_get::do_get(..., string_type&): Move an if block, thus minimizing the amount of code processed anyway when __tmp_units.size() == 0. 2003-10-24 Paolo Carlini * include/bits/locale_facets.tcc (time_get<>::_M_extract_via_format): Deal with case 'C' too, equivalent to 'y'. 2003-10-23 Benjamin Kosnik * docs/html/documentation.html: Add a pointer to the doxygen style guide. * docs/html/17_intro/TODO: Update. * docs/html/test.html: Add instructions for running a subset of tests, update. 2003-10-23 Paolo Carlini * include/bits/locale_facets.tcc (money_get<>::do_get(..., string_type&)): Use find_first_not_of to strip leading zeros; if __tmp_units == "0" never prefix it with '-'; always fail if __tmp_units is empty. * testsuite/22_locale/money_get/get/char/10.cc: New. * testsuite/22_locale/money_get/get/wchar_t/10.cc: Ditto. 2003-10-23 Phil Edwards * config/os/vxworks/ctype_noninline.h: Adjust ctor to match 2003-10-21 change. 2003-10-22 Paolo Carlini * include/bits/locale_facets.tcc (__int_to_char): Remove the const int parameter. (_M_insert_int): Update caller. * src/locale-inst.cc (__int_to_char): Update instantiations. 2003-10-22 Benjamin Kosnik * include/bits/locale_facets.h: Correct byname facets for "C" locale. * config/locale/generic/ctype_members.cc: Same. * config/locale/generic/messages_members.h: Same. * config/locale/gnu/ctype_members.cc: Same. * config/locale/gnu/messages_members.h: Same. * include/bits/codecvt.h: Same. * src/ctype.cc: Same. * testsuite/22_locale/codecvt_byname/1.cc: New. * testsuite/22_locale/collate/1.cc: Edit. * testsuite/22_locale/collate_byname/1.cc: Derivation tests, move to... * testsuite/22_locale/collate_byname/named_equivalence.cc: ...here. * testsuite/22_locale/ctype/1.cc: Derivation tests. * testsuite/22_locale/ctype/11844.cc: Move... * testsuite/22_locale/ctype_base/11844.cc: ...here. * testsuite/22_locale/ctype_base/1.cc: Move mask bits here. * testsuite/22_locale/ctype_byname/1.cc: Name. * testsuite/22_locale/messages_byname/1.cc: New. * testsuite/22_locale/messages_byname/named_equivalence.cc: New. * testsuite/22_locale/moneypunct_byname/1.cc: Derivation test. * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: New. * testsuite/22_locale/numpunct/1.cc: Edit. * testsuite/22_locale/numpunct_byname/2.cc: Move... * testsuite/22_locale/numpunct/members/char/3.cc: ...here. * testsuite/22_locale/numpunct_byname/1.cc: Derivation tests. * testsuite/22_locale/numpunct_byname/named_equivalence.cc: New. 2003-10-22 Paolo Carlini PR libstdc++/8610 * acinclude.m4 (GLIBCXX_CHECK_INT64_T): New macro, checking for the availability of int64_t. (GLIBCXX_CHECK_LFS): New macro, checking for LFS support. * configure.ac: Call here. * acconfig.h: Add undef for the corresponding symbols. * config/io/basic_file_stdio.cc (__basic_file::open): Depending on _GLIBCXX_USE_LFS, call fopen64 or fopen. (__basic_file::seekoff): Likewise, call lseek64 when available, otherwise lseek, checking the __off parameter. * include/bits/postypes.h: Typedef __streamoff_base_type to int64_t if available, otherwise long long. * aclocal.m4: Regenerate. * config.h.in: Likewise. * configure: Likewise. * acinclude.m4 (GLIBCXX_CHECK_POLL, GLIBCXX_CHECK_WRITEV): Use AC_TRY_LINK instead of AC_TRY_COMPILE. 2003-10-22 Paolo Carlini PR libstdc++/12657 * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)): Implement resolution of DR 292 (WP). * docs/html/ext/howto.html: Add entry for DR 292. 2003-10-21 Benjamin Kosnik * include/ext/mt_allocator.h: Change include to gthr.h. * include/ext/rope: Same. Add _Refcount_base definitions. * include/ext/pool_allocator.h: Adjust namespaces. * include/bits/stl_threads.h (_Refcount_base): Move. Put remaining into namespace __gnu_cxx. 2003-10-21 Benjamin Kosnik PR libstdc++/9858 * include/bits/locale_facets.h (ctype): Remove __ctype_abstract_base. (ctype::do_is): Remove. (ctype::do_scan_is): Remove. * src/ctype.cc: Same. Inline the rest. * testsuite/22_locale/ctype/is/char/9858.cc: New. * config/os/aix/ctype_noninline.h: Adjust ctor. * config/os/bsd/freebsd/ctype_noninline.h: Same. * config/os/bsd/netbsd/ctype_noninline.h: Same. * config/os/djgpp/ctype_noninline.h: Same. * config/os/generic/ctype_noninline.h: Same. * config/os/gnu-linux/ctype_noninline.h: Same. * config/os/hpux/ctype_noninline.h: Same. * config/os/irix/irix5.2/ctype_noninline.h: Same. * config/os/irix/irix6.5/ctype_noninline.h: Same. * config/os/mingw32/ctype_noninline.h: Same. * config/os/newlib/ctype_noninline.h: Same. * config/os/qnx/qnx6.1/ctype_noninline.h: Same. * config/os/solaris/solaris2.5/ctype_noninline.h: Same. * config/os/solaris/solaris2.6/ctype_noninline.h: Same. * config/os/solaris/solaris2.7/ctype_noninline.h: Same. * config/os/windiss/ctype_noninline.h: Same. 2003-10-21 Paolo Carlini * src/locale.cc: Tweak a comment. * src/localename.cc: Move a comment. 2003-10-20 Benjamin Kosnik PR libstdc++/10081 * testsuite_hooks.h: Add pod_type, ctype and numpunct specializations. * testsuite_hooks.cc: Same. * 22_locale/numpunct/members/pod/1.cc: Edit. * 22_locale/numpunct/members/pod/2.cc: Same. * 27_io/basic_istream/sentry/char/3983-fstream.cc: Move ... * 27_io/basic_istream/sentry/char/3983-sstream.cc: Move ... * 27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc: Here. * 27_io/basic_istream/extractors_character/pod/3983-2.cc: Here. * 27_io/basic_istream/extractors_other/pod/3983-3.cc: Here. * 27_io/basic_ostream/sentry/char/3983-fstream.cc: Remove. * 27_io/basic_ostream/sentry/char/3983-sstream.cc: Remove. * 27_io/basic_istream/sentry/pod/1.cc: New. * 27_io/basic_ostream/sentry/pod/1.cc: New. * 21_strings/basic_string/inserters_extractors/pod/10081-in.cc: New. * 21_strings/basic_string/inserters_extractors/pod/10081-out.cc: New. 2003-10-20 Rainer Orth * config/cpu/mips/atomicity.h (__atomic_add): Use _ABIO32 instead of external _MIPS_SIM_ABI32. 2003-10-20 Phil Edwards * configure.ac: Fix comment typo. * configure.host: Add vxworks to host_os switch. * crossconfig.m4: Remove old commented os_include_dir variables left over from autotools transition. (*-vxworks): New stanza. (*-windiss): Add missing symbols. * configure: Regenerate. * config/os/vxworks/ctype_base.h, config/os/vxworks/ctype_inline.h, config/os/vxworks/ctype_noninline.h, config/os/vxworks/os_defines.h: New files. * config/os/windiss/os_defines.h: Define __C9X__. 2003-10-19 David Edelsohn PR other/12506 * configure.host (aix4,aix*): Define os_include_dir to os/generic. 2003-10-18 Andreas Tobler * src/locale.cc (locale::_S_initialize): Re-apply workaround a confusion of the use of the gthr API when __gthread_active_p() returns true. 2003-10-17 Benjamin Kosnik * src/Makefile.am: Add new files. * src/Makefile.in: Regenerate. * src/globals.cc: Split into.. * src/globals_io.cc: New. * src/globals_locale.cc: New. * src/ios.cc: Split into... * src/ios_init.cc: New. * src/ios_locale.cc: New. * src/locale-inst.cc: Split into.. * src/wlocale-inst.cc: New. * src/locale-misc-inst.cc: New. * src/locale.cc, src/localename: Split into... * src/locale_facets.cc: New. * src/locale_init.cc: New. * src/wstring-inst.cc: Add copyright info. 2003-10-16 Petur Runolfsson PR libstdc++/11450 PR libstdc++/11543 PR libstdc++/12065 * config/io/basic_file_stdio.cc (__basic_file::seekoff): Change return value from streampos to streamoff. (__basic_file::seekpos): Delete. * config/io/basic_file_stdio.h: Same. * config/io/c_io_stdio.h: Remove streamoff and wstreamsize typedefs. * include/Makefile.am (bits_headers): Add bits/postypes.h. * include/bits/char_traits.h: Include bits/postypes.h instead of bits/fpos.h. * include/bits/fstream.tcc (basic_filebuf::open, basic_filebuf::pbackfail): Don't use < or >= to compare pos_type values, use == and != instead. (basic_filebuf::_M_seek): Use explicit conversion from streamoff to pos_type. (basic_filebuf::imbue): Don't use ! on pos_type values, use == instead. Don't use __check_facet(_M_codecvt) unless is_open(). * include/bits/postypes.h: New file. Add __streamoff_base_type typedef, streamsize. (streamoff, streampos, wstreampos): Define typedefs, with streamoff defined as... (streamoff): New class. Document implementation defined aspects. (fpos): New implementation. Document implementation defined aspects. * include/bits/sstream.tcc (basic_stringbuf::seekpos): Use explicit conversion from pos_type to off_type. * include/std/std_iosfwd.h: Include bits/postypes.h instead of bits/fpos.h. * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: New test. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: New test. * testsuite/27_io/fpos/11450.cc: New test. * testsuite/27_io/fpos/mbstate_t/12065.cc: New test. * testsuite/27_io/fpos/mbstate_t/4_neg.cc: New test. * testsuite/27_io/types/3.cc: New test. 2003-10-16 Benjamin Kosnik * configure.host: Remove fpos_include_dir. * configure.ac: Remove FPOS_INC_SRCDIR. * configure: Regenerate. * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Remove FPOS_H. * aclocal.m4: Regenerate. * include/Makefile.am (host_headers): Remove fpos.h. (bits_headers): Add postypes.h. * include/Makefile.in: Regenerate. * config/os/gnu-linux/fposh: Remove. * config/os/generic/fpos.h: Remove. * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Fixup. * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Same. * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Same. * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Same. * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Same. * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Same. * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Same. * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Same. * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Same. * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Same. * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Same. * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Same. * testsuite/27_io/basic_istream/seekg/char/2.cc: Same. * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Same. * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Same. * testsuite/27_io/fpos/mbstate_t/3.cc: Same. * testsuite/27_io/objects/char/10.cc: Same. 2003-10-16 Paolo Carlini * src/locale.cc (locale::locale(const char*)): ... one more comparison missed in the previous commit. 2003-10-16 Benjamin Kosnik * acconfig.h: Add HAVE_DRAND48. * crossconfig.m4: Remove ISATTY. * aclocal.m4: Regenerated. * config.h.in: Regenerated. * configure: Regenerated. 2003-10-16 Bernardo Innocenti * config/cpu/m68k/atomicity.h (__exchange_and_add): Use TAS on __mcf5400__. Don't rely on __mc68000__ to detect a bare 68000. Document SMP safeness of asm macros. 2003-10-16 Paolo Carlini * src/locale.cc (locale::locale(const char*)): Tweak a couple of comparisons to use basic_string operators. 2003-10-16 Paolo Carlini PR libstdc++/12540 * config/locale/gnu/monetary_members.cc (moneypunct::_M_initialize_moneypunct): Don't leak memory if new throws. * src/locale.cc (locale::locale(const char*)): In order not to leak memory in case new throws, use a basic_string type for __res too and avoid strdup. 2003-10-14 Jeff Bailey PR libstdc++/12562 * crossconfig.m4: Share the config between *-linux* and *-gnu*. * configure: Regenerate. 2003-10-14 Carlo Wood PR libstdc++/12600 * include/bits/demangle.h (session:: decode_unqualified_name(string_type& output)): Fail on a when decoding . * testsuite/demangle/regression/cw-15.cc: New. 2003-10-14 Paolo Carlini PR libstdc++/11480 * include/bits/stl_algo.h (unique): Fix. * testsuite/25_algorithms/unique.cc: Move to unique/1.cc. * testsuite/25_algorithms/unique/11480.cc: New, from the PR. * testsuite/25_algorithms/unique/2.cc: New. 2003-10-14 Paolo Carlini * src/localename.cc (_M_replace_categories, M_replace_facet): Const-ify a couple of variables. 2003-10-14 Petur Runolfsson Andreas Tobler * src/locale.cc (locale::_S_initialize): Workaround a confusion of the use of the gthr API when __gthread_active_p() returns true. 2003-10-12 Petur Runolfsson Paolo Carlini PR libstdc++/11460 * src/strstream.cc (pbackfail): Fix to use to_int_type. * testsuite/backward/11460.cc: New, from the PR. 2003-10-12 Paolo Carlini * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Change #ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS to a comment. * include/bits/basic_string.tcc: Likewise. * include/bits/ios_base.h: Likewise. * include/bits/istream.tcc: Likewise. * include/bits/locale_facets.tcc: Likewise. * include/bits/ostream.tcc: Likewise. * include/bits/stl_function.h: Likewise. * include/bits/stl_multiset.h: Likewise. * include/bits/stl_pair.h: Likewise. * include/bits/stl_set.h: Likewise. * include/bits/streambuf_iterator.h * include/std/std_iosfwd.h: Likewise. * include/std/std_istream.h: Likewise. * include/std/std_sstream.h: Likewise. * include/std/std_streambuf.h: Likewise. * src/ios.cc: Likewise. * include/bits/c++config: Comment out #define _GLIBCXX_RESOLVE_LIB_DEFECTS 1. * testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak a dg-error directive due to removal of a blank line. * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise. 2003-10-12 Andreas Tobler Paolo Carlini PR libstdc++/11844/11740 (cont) * config/os/generic/ctype_inline.h (ctype::is): Generically, use a bitmasksize of 15 (instead of 10); Fix the logic to actually return (M & m) != 0 as per 22.2.1.1.2. 2003-10-11 Bernardo Innocenti * crossconfig.m4 (*-uclinux*): New target. * configure: Regenerate. 2003-10-10 Paolo Carlini * include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT)) Avoid unnecessarily calling __builtin_alloca and dealing explicitly with width() smaller than zero. (operator<<(basic_ostream&, char), operator<<(basic_ostream&, const _CharT*), operator<<(basic_ostream<_CharT, _Traits>&, const char*), operator<<(basic_ostream&, const char*), operator<<(basic_ostream, const basic_string&)): Likewise. 2003-10-09 Benjamin Kosnik * config/linker-map.gnu: Make more *_type_info bits visible. Move new/delete bits back into GLIBCXX space. * include/bits/locale_classes.h: Move _M_id out of line, so that locale::id::_S_highwater can be removed from the export list. * src/locale.cc (locale::id::_M_id): Define. 2003-10-09 Andreas Tobler * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_64 for SPARC64. 2003-10-09 Paolo Carlini PR libstdc++/11844 * config/os/aix/ctype_base.h: Fix 'alnum' and 'graph' to conform to the requirements of 22.2.1. * config/os/bsd/freebsd/ctype_base.h: Likewise. * config/os/djgpp/ctype_base.h: Likewise. * config/os/generic/ctype_base.h: Likewise. * config/os/gnu-linux/ctype_base.h: Likewise. * config/os/hpux/ctype_base.h: Likewise. * config/os/irix/irix6.5/ctype_base.h: Likewise. * config/os/solaris/solaris2.6/ctype_base.h: Likewise. * config/os/solaris/solaris2.7/ctype_base.h: Likewise. * testsuite/22_locale/ctype/11844.cc: New. * config/locale/generic/ctype_members.cc (do_is): Generically, use a bitmasksize of 15 (instead of 10), since we don't know the numerical encoding of the various categories in the underlying /usr/include/ctype.h. 2003-10-09 Benjamin Kosnik * src/string-inst.cc: Prune. * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers. * testsuite/27_io/ios_base/cons/copy_neg.cc: Same. 2003-10-09 Petur Runolfsson * src/io-inst.cc: Don't include iostream. * include/bits/ios_base.h (ios_base::failure): Use string. * src/Makefile.am: Add ios_failure.cc. * src/Makefile.in: Regenerate. * src/ios.cc: Move ios_base::failure definitions to... * src/ios_failure.cc: ...here. New. 2003-10-09 Petur Runolfsson PR libstdc++/9874 * include/bits/fstream.tcc (basic_filebuf::seekoff): Move code needed for both seekoff and seekpos... (basic_filebuf::_M_seek): ...here. New function. (basic_filebuf::seekpos): Don't call seekoff, call _M_seek. * include/std/std_fstream.h (basic_filebuf::_M_seek): Declare it. * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: New test. * testsuite/22_locale/locale/cons/12438.cc: Increase memory limit. 2003-10-08 Paolo Carlini * include/bits/locale_facets.tcc: More minor cosmetic changes and const-ifications of some variables. 2003-10-07 Paolo Carlini * include/bits/locale_facets.tcc: Minor cosmetic changes and const-ifications of some variables. * include/bits/locale_facets.tcc (money_get::do_get(..., string_type&)): Simplify an if-else. 2003-10-06 Paolo Carlini PR libstdc++/11740 * config/locale/gnu/ctype_members.cc (ctype::do_is): Fix to actually return (M & m) != 0 as per 22.2.1.1.2. * config/locale/generic/ctype_members.cc: Same. * testsuite/22_locale/ctype/is/wchar_t/11740.cc: New. 2003-10-06 Paolo Carlini * include/bits/locale_facets.tcc (__pad<>::_S_pad): Improve performance-wise: avoid one traits::copy, avoid the __builtin_alloca, streamline. 2003-10-05 Paolo Carlini * include/bits/locale_facets.tcc (num_put::do_put(..., bool)): Prefer ?: to if-else. (time_get::_M_extract_name): Qualify min with std::. (__pad<>::_S_pad): Constify two variables; simplify an if-else statement factoring out some code. * include/bits/locale_facets.tcc: Minor cosmetic changes. 2003-10-04 Paolo Carlini * include/bits/locale_facets.tcc (num_get::_M_extract_float): Constify a couple of variables. (num_get::do_get(..., bool&)): Constify __c; prefer *__beg, ++__beg to *__beg++. 2003-10-04 Paolo Carlini Petur Runolfsson * include/ext/stdio_sync_filebuf.h: Don't include the whole , only and . 2003-10-04 Paolo Carlini PR libstdc++/12206 * include/bits/fstream.tcc (imbue): In case a codecvt facet is not available, set _M_codecvt = 0. * testsuite/27_io/basic_filebuf/imbue/12206.cc: New. 2003-10-02 Harald Boehme PR libstdc++/12451 * libsupc++/cxxabi.h: Move forward declaration of __class_type_info. 2003-10-02 Benjamin Kosnik * include/bits/locale_classes.h (locale::facet::_S_get_c_name): Add. * src/locale.cc: Define. * src/localename.cc: Use it. * config/locale/generic/time_members.h: Same. * config/locale/gnu/messages_members.h: Same. * config/locale/gnu/time_members.h: Same. 2003-10-02 Paolo Carlini PR libstdc++/12232 * include/bits/fstream.tcc (seekoff): Ignore the openmode argument; simplify. * config/io/basic_file_stdio.h (__basic_file::seekoff, seekpos): Remove the openmode argument. * config/io/basic_file_stdio.cc (__basic_file::seekoff, seekpos): Remove redundant placeholder for the openmode argument. * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: New. * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Tweak. * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise. 2003-10-02 Benjamin Kosnik * src/locale.cc (locale::_S_initialize): Use __gthread_active_p. (locale::facet::_S_get_c_locale): Same. 2003-10-02 Benjamin Kosnik * config/linker-map.gnu: Export _S_get_c_locale instead of _S_c_locale object. 2003-10-02 Petur Runolfsson * config/locale/generic/c_locale.cc (category_names, locale::_S_categories): Const qualify. * config/locale/gnu/c_locale.cc: Same. * config/locale/generic/time_members.h (__timepunct::__timepunct): Copy string contents before assigning to _M_name_timepunct, qualify strcpy and strlen with std::. * config/locale/gnu/time_members.h: Same. * config/locale/gnu/messages_members.h (messages::messages): Copy string contents before assigning to _M_name_messages, qualify strcpy and strlen with std::. * config/os/gnu-linux/ctype_noninline.h (ctype::classic_table()): Don't call locale::classic(). * include/bits/locale_classes.h (locale::_S_categories): Const qualify. (locale::_S_once, locale::_S_initialize_once, locale::facet::_S_once, locale::facet::_S_initialize_once, locale::facet::_S_get_c_locale): Declare. (locale::_S_initialize): Don't define. (locale::facet::_S_c_locale): Make private. (locale::facet::_S_c_name): Same, const qualify. (locale::_Impl::_Impl(facet**, size_t, bool)): Drop unused parameters, add throw() specifier. * include/bits/locale_facets.h (__timepunct::_M_name_timepunct, messages::_M_name_messages): Const qualify. * src/locale.cc (locale::_S_once, locale::facet::_S_once): Define. (locale::classic): Move initialization code... (locale::_S_initialize_once): ...here. (locale::_S_initialize): Call _S_initialize_once through __gthread_once. (locale::facet::_S_initialize_once): Initialize _S_c_locale. (locale::facet::_S_get_c_locale): Call _S_initialize_once through __gthread_once before returning _S_c_locale. * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool)): Drop unused parameters, add throw() specifier, don't initialize locale::facet::_S_c_locale and _S_c_name. * config/locale/generic/messages_members.h: Replace _S_c_locale with _S_get_c_locale(). * config/locale/gnu/c_locale.cc: Same. * config/locale/gnu/messages_members.h: Same. * config/locale/gnu/numeric_members.cc: Same. * config/locale/gnu/time_members.cc: Same. * config/os/gnu-linux/ctype_noninline.h: Same. * include/bits/locale_facets.h: Same. * include/bits/locale_facets.tcc: Same. * src/codecvt.cc: Same. * src/ctype.cc: Same. 2003-10-02 Carlo Wood * include/bits/demangle.h (demangle::symbol(char const*)): Decode symbols that start with _GLOBAL_[ID]_ differently: the trailing part ends with a terminating zero and is not necessarily an encoding. * src/demangle.cc (): Same. * testsuite/demangle/regression/cw-13.cc: Adjust for new output. 2003-10-02 Paolo Carlini * testsuite/22_locale/locale/cons/12438.cc: Use __gnu_test::try_named_locale(""). 2003-10-01 Rainer Orth * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0): Define. (GLIBCXX_CHECK_STDLIB_SUPPORT): Use it to test for lrand48 instead of drand48. * acconfig.h (HAVE_DRAND48): Renamed to HAVE_LRAND48. * crossconfig.m4 (*-freebsd*): Define HAVE_LRAND48 instead of HAVE_DRAND48. * config.h.in, configure: Regenerate. * include/bits/stl_algo.h: Use _GLIBCXX_HAVE_LRAND48 to guard lrand48 use. 2003-10-01 Nathan Myers * include/bits/locale_facets.tcc (time_put::put): Avoid expensive *__s++, in favor of *__s, ++__s. 2003-10-01 Paolo Carlini * include/bits/locale_facets.tcc (time_put::put): Minor tweak to the previous commit. 2003-10-01 Paolo Carlini PR libstdc++/12439 * include/bits/locale_facets.tcc (time_put::put): Deal with the three issues pointed out by the PR. * testsuite/22_locale/time_put/put/char/12439_1.cc: New. * testsuite/22_locale/time_put/put/char/12439_3.cc: New. * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: New. * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: New. * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: New. 2003-09-30 Paolo Carlini * include/bits/stl_algo.h: Minor cosmetic reformattings. 2003-09-30 Paolo Carlini * include/bits/stl_algo.h (search_n): Tweak, to spare the first --__n. 2003-09-30 Paolo Carlini * testsuite/22_locale/locale/cons/12352.cc: Explicitly qualify exception name. 2003-09-30 Paolo Carlini PR libstdc++/12438 * include/bits/locale_facets.tcc (locale::combine): Don't leak memory if _M_replace_facet throws. * testsuite/22_locale/locale/cons/12438.cc: New, from the PR. * include/bits/locale_classes.h (locale::locale(const locale&, _Facet*)): Tweak, use consistently _M_remove_reference. 2003-09-30 Paolo Carlini PR libstdc++/12352 (cont) * src/localename.cc (locale::_Impl::_Impl(const char*, size_t)): Don't leak __cloc; don't leak if any of the _M_init_facet(...) calls fail. (locale::_Impl::_Impl(const _Impl&, size_t)): Tweak. (locale::_Impl::~_Impl): Don't do anything if !_M_facets, !_M_caches, !_M_names. 2003-09-29 Rainer Orth * configure.host: Handle Solaris 2.5 micro releases explicitly. Remove wildcards from Solaris 2.6, 7-9: there were no micro releases. Treat Solaris 10 and up like 7-9. 2003-09-29 Paolo Carlini * include/bits/stl_algo.h (search_n): Improve the previous fix as suggested by Martin. 2003-09-29 Paolo Carlini PR libstdc++/12296 * include/bits/istream.tcc (peek): Set eofbit if sgetc returns eof. * testsuite/27_io/basic_istream/peek/char/12296.cc: New, from the PR. 2003-09-29 Nathan Myers Paolo Carlini PR libstdc++/11400 * include/bits/stl_algo.h (search_n): Use iterator_traits<>::difference_type for __n. * testsuite/25_algorithms/search_n/11400.cc: New, from the PR. 2003-09-29 Paolo Carlini * testsuite/22_locale/locale/cons/12352.cc: Use __attribute__((unused)) for test. 2003-09-26 Ulrich Weigand * testsuite/22_locale/time_put/put/char/2.cc (test_02): Allow either "Son" or "So" as abbreviated name for Sunday in de_DE locale. * testsuite/22_locale/time_put/put/wchar_t/2.cc (test_02): Likewise. 2003-09-26 Brad Spencer * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: Explicitly qualify exceptions. * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Same. * testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same. * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same. * testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same. 2003-09-25 Paolo Carlini PR libstdc++/12352 * src/localename.cc (locale::_Impl::_Impl(const _Impl&, size_t)): Don't leak if memory allocations for _M_facets, _M_caches, and _M_names fail. (locale::_Impl::_Impl(const char*, size_t)): Ditto. (locale::_Impl::_M_replace_categories(const _Impl*, category)): Ditto. (locale::_Impl::_M_install_facet(const locale::id*, const facet*)): Ditto. * include/bits/locale_classes.h (locale::locale(const locale&, _Facet*)): Don't leak memory. * testsuite/22_locale/locale/cons/12352.cc: New, from the PR. * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool)): Qualify with std:: strcpy, tweak. * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name): Qualify strcmp. 2003-09-25 Brad Spencer PR libstdc++/6072 * acinclude.m4: Split out checks for vfwscanf, vswscanf, vwscanf, wcstof, iswblank. * aclocal.m4: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. * crossconfig.m4: Add in wchar_t bits for solaris crosses. * config/io/basic_file_stdio.cc: Guard unistd.h. * include/c_compatibility/wchar.h: Guard extra wchar_t functionality. * include/c_std/std_cwchar.h: Same. * include/c_std/std_cwctype.h: Same. 2003-09-25 Benjamin Kosnik PR libstdc++/11065 * config/locale/gnu/ctype_members.cc (ctype::do_is): Fix. * config/locale/generic/ctype_members.cc: Same. * testsuite/22_locale/ctype/is/char/1.cc: Initialize mask. * testsuite/22_locale/ctype/is/wchar_t/1.cc: Same. * config/os/generic/ctype_inline.h: Update. 2003-09-25 Ulrich Weigand * src/Makefile.am (version_dep): New variable. (libstdc___la_DEPENDENCIES): Use it to add dependency on libstdc++-symbol.ver only when using symbol versioning. * src/Makefile.in: Regenerate. 2003-09-23 Benjamin Kosnik * include/bits/locale_facets.tcc: Tweak to avoid warnings. * testsuite/testsuite_hooks.h: Same. * testsuite/*/*.cc: Same. 2003-09-22 Petur Runolfsson * include/bits/istream.tcc (basic_istream::read, basic_istream::readsome, basic_istream::putback, basic_istream::unget, operator>>(basic_istream, CharT)): Avoid redundant setstate(failbit) calls when sentry::operator bool() returns false. 2003-09-22 Carlo Wood PR libstdc++/12365 * include/bits/demangle.h (qualifier(int, cv_qualifier_nt, char const*, int, int)): Remove unused identifier cv_qualifier for overloaded constructor. 2003-09-18 Benjamin Kosnik PR libstdc++/11504 * acinclude.m4 (GLIBCXX_EXPORT_FLAGS): Add -Wcast-qual to WARN_FLAGS, remove -Wno-format. * aclocal.m4: Regenerate. * configure: Regenerate. 2003-09-18 Petur Runolfsson * config/io/basic_file_stdio.cc (sys_getc, sys_ungetc): Delete. * config/io/basic_file_stdio.h: Same. * include/std/std_fstream.h (__ctype_type): Delete. * include/std/std_streambuf.h (__ctype_type, __state_type): Delete. 2003-09-17 Benjamin Kosnik PR libstdc++/12239 * configure.host (abi_baseline_pair): Error out on solaris2 configurations without a minor version number. 2003-09-13 Phil Edwards * docs/doxygen/run_doxygen: Clear GENERATE_TAGFILE entirely if man pages are on. * docs/doxygen/user.cfg.in: And here. 2003-09-10 Daniel Jacobowitz Andreas Jaeger PR libstdc++/12189 * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Don't build abi_check if cross compiling. * aclocal.m4: Regenerated. * configure: Regenerated. 2003-09-10 Jeffrey D. Oldham * libsupc++/vec.cc (__cxa_vec_new2): If the allocator returns NULL, return NULL. This reflects a C++ ABI change 2003 Sep 05. (__cxa_vec_new3): Likewise. 2003-09-10 Petur Runolfsson * include/bits/fstream.tcc (basic_filebuf::seekoff): Use codecvt::length to handle variable-width stateless encodings correctly. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: New test. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: New test. 2003-09-10 Alan Modra * config/io/basic_file_stdio.cc (_M_open_mode): Assign __p_mode rather than or'ing. 2003-09-09 Alan Modra * configure: Regenerate. 2003-09-09 David Edelsohn * src/ios.cc (ios_base::Init::Init): Remove unnecessary qualifier from _S_synced_with_stdio. 2003-09-09 Bernardo Innocenti * include/c_std/std_cstdlib.h: Avoid using missing C library symbols. 2003-09-04 Petur Runolfsson PR libstdc++/9028 * include/bits/fstream.tcc (basic_filebuf::_M_destroy_internal_buffer): Destroy _M_ext_buf. (basic_filebuf::basic_filebuf): Initialize _M_ext_buf, _M_ext_buf_size, _M_ext_next and _M_ext_end. (basic_filebuf::underflow): Handle variable-width stateless encodings (codecvt::encoding() == 0), including UTF-8. * include/std/std_fstream.h (basic_filebuf): Declare _M_ext_buf, _M_ext_buf_size, _M_ext_next, _M_ext_end. * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: New test. * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: New test. * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: New test. * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: New test. * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: New test. * testsuite/27_io/objects/wchar_t/12.cc: New test. * testsuite/27_io/objects/wchar_t/13.cc: New test. 2003-09-04 Jonathan Wakely * docs/html/faq/index.html: Note that a namespace alias can't be used when specialising templates in extension namespace. * docs/html/faq/index.txt: Regenerate. 2003-09-03 Petur Runolfsson PR libstdc++/12048 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::_M_unget_buf): Declare it. (stdio_sync_filebuf::stdio_sync_filebuf): Initialize _M_unget_buf. (stdio_sync_filebuf::uflow): Store the returned character in _M_unget_buf. (stdio_sync_filebuf::pbackfail): If argument is eof(), pass _M_unget_buf to syncungetc(). Set _M_unget_buf to eof(). (stdio_sync_filebuf::xsgetn): Store last read character in _M_unget_buf, if any, else eof(). (stdio_sync_filebuf::xsgetn: Store last read character in _M_unget_buf, if any, else eof(). * testsuite/27_io/objects/char/12048.cc: Rename to... * testsuite/27_io/objects/char/12048-1.cc: ...this. * testsuite/27_io/objects/char/12048-2.cc: New test. * testsuite/27_io/objects/char/12048-3.cc: New test. * testsuite/27_io/objects/char/12048-4.cc: New test. * testsuite/27_io/objects/char/12048-5.cc: New test. XFAIL. * testsuite/27_io/objects/wchar_t/12048-1.cc: New test. * testsuite/27_io/objects/wchar_t/12048-2.cc: New test. * testsuite/27_io/objects/wchar_t/12048-3.cc: New test. * testsuite/27_io/objects/wchar_t/12048-4.cc: New test. * testsuite/27_io/objects/wchar_t/12048-5.cc: New test. XFAIL. * testsuite/ext/stdio_sync_filebuf_char.cc (test02, test03, test04, test05): New tests. * testsuite/ext/stdio_sync_filebuf_wchar_t.cc (test02, test03, test04, test05): New tests. 2003-09-03 Petur Runolfsson * docs/html/27_io/howto.html: setbuf(0, 0) has no effect on stringbuf or strstreambuf. Fix typos. 2003-09-02 Phil Edwards * acinclude.m4 (GLIBCXX_ENABLE_HOSTED): #define _GLIBCXX_HOSTED appropriately. * config.h.in: Add _GLIBCXX_HOSTED. * libsupc++/eh_term_handler.cc: Test it here; initialize __terminate_handler to std::abort if freestanding. * aclocal.m4, configure: Regenerated. * docs/html/configopts.html: Document --disable-hosted-libstdcxx. 2003-08-29 Nathan Myers PR libstdc++/11990 * include/bits/locale_facets.tcc (__pad): delete dead code. 2003-08-28 Alan Modra * configure.ac: Test $with_cross_host against $build_alias, not $build. * configure: Regenerate. 2003-08-27 Petur Runolfsson * testsuite/27_io/objects/wchar_t/10.cc: Move wcout stuff... * testsuite/27_io/objects/wchar_t/11.cc: ...here. New file. 2003-08-27 Phil Edwards * Makefile.am: Remove trailing whitespace. Remove needless "foo = @foo@" assignments. Replace direct uses of @foo@ with $(foo). * include/Makefile.am: Likewise. * libmath/Makefile.am: Likewise. * libsupc++/Makefile.am: Likewise. * po/Makefile.am: Likewise. * src/Makefile.am: Likewise. * testsuite/Makefile.am: Likewise. * Makefile.in, include/Makefile.in, libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in, testsuite/Makefile.in: Regenerated. 2003-08-27 Phil Edwards * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Change quoting of includedir. * aclocal.m4, configure: Regenerate. 2003-08-27 Daniel Jacobowitz * acinclude.m4: Include no-executables.m4. * configure.ac: Uncomment GCC_NO_EXECUTABLES. * aclocal.m4: Regenerated. * configure: Regenerated. 2003-08-27 Daniel Jacobowitz * acinclude.m4: Don't call AC_ISC_POSIX. * aclocal.m4: Regenerated. * configure: Regenerated. 2003-08-27 Phil Edwards * acinclude.m4 (GLIBCXX_CONDITIONAL): New macro. Wrap AM_CONDITIONAL. Replace all calls to AM_CONDITIONAL with this one. (GLIBCXX_ENABLE_HOSTED): New macro, sets new variable is_hosted, used elsewhere in this file. (GLIBCXX_EVALUATE_CONDITIONALS): New macro... * configure.ac: ...called here to expand all conditionals. * Makefile.am: Conditionalize SUBDIRS on GLIBCXX_HOSTED. * include/Makefile.am: Remove redundant gxx_include_dir assignment. (install-freestanding-headers): New target, a subset of install-headers. Conditionalize install-data-local on GLIBCXX_HOSTED. * aclocal.m4, configure, Makefile.in, include/Makefile.in, libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in, testsuite/Makefile.in: Regenerated. 2003-08-26 Phil Edwards * docs/doxygen/run_doxygen: Shell fixes. Remove hardcoded local pathnames from generated tag file. 2003-08-26 Phil Edwards * Makefile.am: Add comment. * acinclude.m4 (GLIBCXX_CONFIGURE): Set new glibcxx_SUBDIRS and SUBDIRS variables. * configure.ac: Use them both here, instead of hardcoded lists. * fragment.am: Add STAMP varaible. * include/Makefile.am: Cosmetic whitespace cleanup. Use $(LN_S) instead of @LN_S@. (stamp-*): Move file creation rule outside of 'if' branches to ensure the stamp-* files are actually updated. Use $(STAMP). * src/Makefile.am: Remove now-nonexistant variable. * libsupc++/Makefile.am: Likewise. Snap the assignment chain for -prefer-pic. * po/Makefile.am: Include same fragment as all the others. * aclocal.m4, configure, Makefile.in, include/Makefile.in, libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in: Regenerated. 2003-08-26 Loren J. Rittle * testsuite/data/cin_unget-1.txt: New. * testsuite/27_io/objects/char/12048.cc: New. 2003-08-25 Zack Weinberg * config/os/hpux/os_defines.h: Unconditionally define _GLIBCXX_GTHREAD_USE_WEAK to 0. 2003-08-19 Geoffrey Keating * crossconfig.m4 (*-darwin*): Add a large and boring stanza for crosses to Darwin targets. * configure: Regenerate. 2003-08-19 Petur Runolfsson * include/ext/ropeimpl.h: #include instead of 2003-08-17 Phil Edwards * configure.ac: GCC_NO_EXECUTABLES was supposed to be commented in the patch from 3 minutes ago. Boy, is my face red. * configure: At least I remembered to regenerate this. 2003-08-17 Phil Edwards * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Remove LIBMATH_INCLUDES and LIBSUPCXX_INCLUDES. Re-purpose TOPLEVEL_INCLUDES to refer to things from the top level. * configure.ac (GLIBCXX_IS_NATIVE): Determine earlier and re-order. Comment out the conditionals for CANADIAN and GLIBCXX_BUILD_LIBMATH (currently unused). Strip the fake-VPATH shell fragment from automake-generated rules, if present. * linkage.m4: Add comment. * fragment.am: New file, containing factored-out common settings. (AM_CPPFLAGS): Absorb the deprecated INCLUDES variable contents. * Makefile.am: Include fragment.am. Remove common variables. * include/Makefile.am: Likewise. * libmath/Makefile.am: Likewise. * libsupc++/Makefile.am: Likewise. * po/Makefile.am: Likewise. Print rules during check. * src/Makefile.am: Likewise. * testsuite/Makefile.am: Likewise. * aclocal.m4, configure, Makefile.in, include/Makefile.in, libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in, testsuite/Makefile.in: Regenerate. 2003-08-11 John Levon * docs/html/ext/howto/guide.html (GLIBCXX_FORCE_NEW): Update remaining places for the name change from GLIBCPP_FORCE_NEW to GLIBCXX_FORCE_NEW 2003-08-11 Benjamin Kosnik * include/bits/basic_ios.h: Remove *_iter typedefs, change num* typedefs to num_*. * include/bits/basic_ios.tcc: Same. * include/bits/istream.tcc: Same. * include/bits/locale_facets.h: Same. * include/bits/ostream.tcc: Same. * include/std/std_istream.h: Same. * include/std/std_ostream.h: Same. * testsuite/26_numerics/complex_inserters_extractors.cc: Fix. * include/ext/rope: Remove build warning. 2003-08-11 Andreas Jaeger * include/Makefile.am (stamp-c_base): Add dependency on stamp-bits to make SMP-safe. * include/Makefile.in: Regenerated. 2003-08-11 Phil Edwards * acinclude.m4 (GLIBCXX_CONFIGURE): Unprecious CC and CFLAGS when calling AC_PROG_CC. * aclocal.m4, configure: Regenerate. 2003-08-11 Phil Edwards * acinclude.m4: Properly quote variable which will be expanded inside makefiles. Use CXX instead of CC to extract compiler info. * configure.ac (AC_INIT): Use the new 4-arg form to finally get the correct form in PACKAGE. * aclocal.m4, configure: Regenerate. 2003-08-08 Benjamin Kosnik * testsuite/Makefile.am (check-abi): Change libstdc++-v3 to libstdc++. (check-abi-verbose): Same. * testsuite/testsuite_performance.h (report_performance): Same. 2003-08-08 Loren J. Rittle * testsuite/testsuite_performance.h (__FreeBSD__): Add fake mallinfo. 2003-08-07 Doug Gregor * include/bits/char_traits.h (char_traits::not_eof): Match operand types in ? :. 2003-08-07 Bernardo Innocenti PR libstdc++/11784 * libstdc++-v3/config/cpu/m68k/atomicity.h (__exchange_and_add): Replace variants with new BSET-based version. 2003-08-07 Carlo Wood * include/bits/demangle.h: Do not use cctype functions that depend on locale. 2003-08-05 Phil Edwards * configure.in: Rename... * configure.ac: ...to this. * docs/html/17_intro/porting.texi: Update name. * docs/html/17_intro/porting.html: Regenerate. * config.h.in, Makefile.in, include/Makefile.in, libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in, testsuite/Makefile.in: Regenerate (picks up new dependancy). 2003-08-05 Phil Edwards * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Put down the crack pipe, open the window to let out the fumes, redo the option-handling logic to properly execute the detection test. * aclocal.m4, configure: Regenerate. 2003-08-04 Phil Edwards Convert to new autotools. * acconfig.h: Update with correct names. * configure.host (ATOMICITYH): Rename to atomicity_include_dir. (qnx6.[12]*): 'q' comes before 's', not after 'w'. * configure.in: Update. Split hardcoded cross-configury settings out to... * crossconfig.m4: ...here. New file. Contents untouched. * acinclude.m4: Reorganize and rewrite as needed. Split large chunks out to... * linkage.m4: ...here. New file. Math and stdlib linkage tests. Contents untouched. * scripts/testsuite_flags.in: Update. * Makefile.am: Remove unneeded AUTOMAKE_OPTIONS settings and other variables (already generated by automake). * include/Makefile.am: Ditto. * libmath/Makefile.am: Ditto. * libsupc++/Makefile.am: Ditto. * po/Makefile.am: Ditto. * src/Makefile.am: Ditto. * aclocal.m4: Regenerate using new versions. * config.h.in: Ditto. * configure: Ditto. * Makefile.in: Ditto. * include/Makefile.in: Ditto. * libmath/Makefile.in: Ditto. * libsupc++/Makefile.in: Ditto. * po/Makefile.in: Ditto. * src/Makefile.in: Ditto. * testsuite/Makefile.in: Ditto. 2003-08-04 Phil Edwards * po/libstdc++.pot: Re-extract/regenerate. 2003-08-04 Phil Edwards * testsuite/Makefile.am (DEJATOOL,EXPECT,RUNTEST,RUNTESTFLAGS): Remove unneeded variable assignments. Leave them for automake. * testsuite/lib/libstdc++-v3.exp: Rename... * testsuite/lib/libstdc++.exp: ...to this. Adjust function names accordingly. * testsuite/libstdc++-v3.dg/dg.exp: Rename... * testsuite/libstdc++-dg/normal.exp: ...to this. Adjust function names accordingly. 2003-08-04 Phil Edwards * docs/doxygen/guide.html: run_doxygen uses bash. * docs/doxygen/mainpage.html: We'll be shipping tag files. * docs/doxygen/run_doxygen: Tweaks and improvements. * docs/doxygen/user.cfg.in: Set GENERATE_TAGFILE. * docs/html/install.html: Update autoconf/automake requirements. * docs/html/test.html: Add section describing DejaGNU support. * docs/html/17_intro/confdeps.dot: New file, generates... * docs/html/17_intro/confdeps.png: ...this new file. * docs/html/Makefile: Generated here. * docs/html/17_intro/configury.html: New file. 2003-07-31 Phil Edwards * testsuite/lib/libstdc++-v3-dg.exp: Rename... * testsuite/lib/libstdc++-v3.exp: ...to this. * testsuite/libstdc++-v3.dg/dg.exp: No special case needed now. 2003-07-31 Doug Gregor Add user specialization tests. * testsuite/23_containers/deque/1.cc: New. * testsuite/23_containers/list/1.cc: New. * testsuite/23_containers/map/1.cc: New. * testsuite/23_containers/multimap/1.cc: New. * testsuite/23_containers/multiset/1.cc: New. * testsuite/23_containers/set/1.cc: New. * testsuite/23_containers/vector/1.cc: New. 2003-07-31 Benjamin Kosnik Reshuffle 23_containers testsuite. * 23_containers/adaptors.cc, bitset_ctor.cc,bitset_members.cc, bitset_shift.cc, deque_ctor.cc, deque_operators.cc, list_capacity.cc, list_ctor.cc, list_modifiers.cc, list_operators.cc, map_insert.cc, map_operators.cc, map_operators_neg.cc, multiset.cc, set_operators_neg.cc, vector_bool.cc, vector_capacity.cc, vector_ctor.cc, vector_element_access.cc, vector_modifiers.cc, vector_resize.cc: Split into... * 23_containers/bitset/cons/1.cc: New. * 23_containers/bitset/cons/6282.cc: New. * 23_containers/bitset/count/6124.cc: New. * 23_containers/bitset/operations/1.cc: New. * 23_containers/bitset/operations/2.cc: New. * 23_containers/bitset/test/1.cc: New. * 23_containers/bitset/to_ulong/1.cc: New. * 23_containers/deque/cons/1.cc: New. * 23_containers/deque/cons/2.cc: New. * 23_containers/deque/operators/1.cc: New. * 23_containers/list/capacity/1.cc: New. * 23_containers/list/cons/1.cc: New. * 23_containers/list/cons/2.cc: New. * 23_containers/list/cons/3.cc: New. * 23_containers/list/cons/4.cc: New. * 23_containers/list/cons/5.cc: New. * 23_containers/list/cons/6.cc: New. * 23_containers/list/cons/7.cc: New. * 23_containers/list/cons/8.cc: New. * 23_containers/list/cons/9.cc: New. * 23_containers/list/modifiers/1.cc: New. * 23_containers/list/modifiers/2.cc: New. * 23_containers/list/modifiers/3.cc: New. * 23_containers/list/operators/1.cc: New. * 23_containers/list/operators/2.cc: New. * 23_containers/list/operators/3.cc: New. * 23_containers/list/operators/4.cc: New. * 23_containers/map/insert/1.cc: New. * 23_containers/map/operators/1.cc: New. * 23_containers/map/operators/1_neg.cc: New. * 23_containers/multiset/insert/1.cc: New. * 23_containers/priority_queue/members/7161.cc: New. * 23_containers/queue/members/7157.cc: New. * 23_containers/set/operators/1_neg.cc: New. * 23_containers/stack/members/7158.cc: New. * 23_containers/vector/bool/1.cc: New. * 23_containers/vector/bool/6886.cc: New. * 23_containers/vector/capacity/1.cc: New. * 23_containers/vector/capacity/2.cc: New. * 23_containers/vector/capacity/8230.cc: New. * 23_containers/vector/cons/1.cc: New. * 23_containers/vector/cons/2.cc: New. * 23_containers/vector/cons/3.cc: New. * 23_containers/vector/cons/4.cc: New. * 23_containers/vector/cons/6513.cc: New. * 23_containers/vector/element_access/1.cc: New. * 23_containers/vector/modifiers/1.cc: New. * 23_containers/vector/modifiers/2.cc: New. * 23_containers/vector/resize/1.cc: New. 2003-07-31 Rainer Orth * testsuite/thread/pthread1.cc: Add alpha*-*-osf* to dg-do run, dg-options. * testsuite/thread/pthread2.cc: Likewise. * testsuite/thread/pthread3.cc: Likewise. * testsuite/thread/pthread4.cc: Likewise. * testsuite/thread/pthread5.cc: Likewise. * testsuite/thread/pthread6.cc: Likewise. * testsuite/thread/pthread7-rope.cc: Likewise. 2003-07-30 Phil Edwards * include/bits/c++config: Partial reversion (comment placement) of previous patch. 2003-07-30 Benjamin Kosnik * include/bits/c++config (_GLIBCXX_FULLY_COMPLIANT_HEADERS): Remove. (_GLIBCXX_NO_TEMPLATE_EXPORT): To _GLIBCXX_EXPORT_TEMPLATE. (_GLIBCXX_AT_AT): Remove. (__USE_MALLOC): Remove. * include/std/std_fstream.h: Modify. * include/bits/basic_ios.h: Same. * include/bits/valarray_array.h: Same. * include/c_std/std_cmath.h: Same. * include/c_std/cmath.tcc: Same. * include/std/std_vector.h: Same. * include/std/std_string.h: Same. * include/std/std_stack.h: Same. * include/std/std_queue.h: Same. * include/std/std_list.h: Same. * include/std/std_deque.h: Same. * include/std/std_streambuf.h: Same. * include/std/std_sstream.h: Same. * include/std/std_ostream.h: Same. * include/std/std_istream.h: Same. * include/bits/valarray_array.tcc: Same, format. * include/c/std_cctype.h: Fix include guards. * include/c/std_cerrno.h: Same. * include/c/std_cfloat.h: Same. * include/c/std_climits.h: Same. * include/c/std_clocale.h: Same. * include/c/std_cmath.h: Same. * include/c/std_csetjmp.h: Same. * include/c/std_csignal.h: Same. * include/c/std_cstdarg.h: Same. * include/c/std_cstddef.h: Same. * include/c/std_cstdio.h: Same. * include/c/std_cstdlib.h: Same. * include/c/std_cstring.h: Same. * include/c/std_ctime.h: Same. * include/c/std_cwchar.h: Same. * include/c/std_cwctype.h: Same. * include/c_std/cmath.tcc: Same. * include/c_std/std_cmath.h: Same. 2003-07-30 Gawain Bolton PR libstdc++/11504. * include/bits/stl_tree.h: Replace C-style casts with C++-style casts. Changes to avoid casting away constness. Eliminate _Rb_tree_base_iterator class. Change _Rb_tree_iterator to use initialization lists. Move out implementation of __black_count() to... * src/stl_tree.cc: ...here and rename _Rb_tree_black_count(). Rename_Rb_tree_base_iterator::_M_increment() to _Rb_tree_increment and _Rb_tree_base_iterator::_M_decrement() to _Rb_tree_decrement. * config/linker-map.gnu: Add and change symbols here. 2003-07-30 Jonathan Wakely * docs/html/22_locale/howto.html: Use locale::classic() instead of locale("C"). 2003-07-28 Benjamin Kosnik * testsuite/testsuite_hooks.h: Remove list include. (func_callback): Define as unique type, not std::list. Change DEBUG_ASSERT to _GLIBCXX_ASSERT. * testsuite/libstdc++-v3.dg/dg.exp: Same. * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Same. * testsuite/23_containers/bitset_ctor.cc: * testsuite/17_intro/header_ciso646.cc: Remove DEBUG_ASSERT. * testsuite/18_support/numeric_limits.cc: Same. * testsuite/21_strings/basic_string/append/char/1.cc: Same. * testsuite/21_strings/basic_string/append/wchar_t/1.cc: Same. * testsuite/21_strings/basic_string/compare/char/1.cc: Same. * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Same. * testsuite/21_strings/basic_string/element_access/char/1.cc: Same. * testsuite/21_strings/basic_string/element_access/char/2.cc: Same. * testsuite/21_strings/basic_string/element_access/char/3.cc: Same. * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc: Same. * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc: Same. * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc: Same. * testsuite/21_strings/basic_string/find/char/1.cc: Same. * testsuite/21_strings/basic_string/find/char/2.cc: Same. * testsuite/21_strings/basic_string/find/char/3.cc: Same. * testsuite/21_strings/basic_string/find/wchar_t/1.cc: Same. * testsuite/21_strings/basic_string/find/wchar_t/2.cc: Same. * testsuite/21_strings/basic_string/find/wchar_t/3.cc: Same. * testsuite/21_strings/basic_string/insert/char/1.cc: Same. * testsuite/21_strings/basic_string/insert/char/2.cc: Same. * testsuite/21_strings/basic_string/insert/wchar_t/1.cc: Same. * testsuite/21_strings/basic_string/insert/wchar_t/2.cc: Same. * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc: * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc: * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc: * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc: * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc: * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc: * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc: * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc: * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc: * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc: * testsuite/21_strings/basic_string/operators/char/1.cc: Same. * testsuite/21_strings/basic_string/operators/char/2.cc: Same. * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Same. * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Same. * testsuite/21_strings/basic_string/replace/char/1.cc: Same. * testsuite/21_strings/basic_string/replace/wchar_t/1.cc: Same. * testsuite/21_strings/basic_string/rfind/char/1.cc: Same. * testsuite/21_strings/basic_string/rfind/char/2.cc: Same. * testsuite/21_strings/basic_string/rfind/char/3.cc: Same. * testsuite/21_strings/basic_string/rfind/wchar_t/1.cc: Same. * testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: Same. * testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: Same. * testsuite/21_strings/basic_string/substr/char/1.cc: Same. * testsuite/21_strings/basic_string/substr/wchar_t/1.cc: Same. * testsuite/23_containers/bitset_ctor.cc: Same. * testsuite/23_containers/bitset_shift.cc: Same. * testsuite/23_containers/vector_ctor.cc: Same. * testsuite/23_containers/vector_element_access.cc: Same. * testsuite/24_iterators/istreambuf_iterator.cc: Same. * testsuite/24_iterators/iterator.cc: Same. * testsuite/24_iterators/ostreambuf_iterator.cc: Same. * testsuite/25_algorithms/lower_bound.cc: Same. * testsuite/26_numerics/complex_inserters_extractors.cc: Same. * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: Same. * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc: Same. * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc: Same. * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc: Same. * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc: Same. * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc: Same. * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: Same. * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: Same. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc: Same. * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc: Same. 2003-07-28 Phil Edwards * docs/doxygen/user.cfg.in, docs/html/abi.txt, docs/html/debug.html, docs/html/test.html, docs/html/17_intro/headers_cc.txt, docs/html/17_intro/howto.html, docs/html/ext/howto.html: Change GLIBCPP to GLIBCXX (and explain as needed). 2003-07-28 Phil Edwards * README: Update. 2003-07-28 Phil Edwards * testsuite/22_locale/messages/members/char/1.cc, testsuite/22_locale/messages/members/char/2.cc, testsuite/22_locale/messages/members/char/3.cc, testsuite/22_locale/messages_byname/1.cc: Update comment regarding the origin of LOCALEDIR. * testsuite/lib/libstdc++-v3.exp: New file. 2003-07-25 Benjamin Kosnik * include/bits/char_traits.h: Update copyright, tweak. * testsuite/ext/pod_char_traits.cc: Explicitly qualify namespace std types. 2003-07-24 Matt Austern * /include/bits/char_traits.h (class char_traits): Put all the real work into the new class template __gnu_cxx::char_traits. Gave generic definitions for member functions. Types are taken from the new class template __gnu_cxx::_Char_types. * testsuite/21_strings/char_traits/requirements/short/1.cc: New file. Test of std::char_traits, which serves as a test of the char_traits primary template. 2003-07-24 Benjamin Kosnik * testsuite/*: Change __gnu_cxx_test to __gnu_test. 2003-07-24 Nathan Myers * testsuite/23_containers/map_operators.cc: Conform to container requirement as value must be Assignable. 2003-07-23 Alexandre Oliva * acinclude.m4 (GLIBCXX_ENABLE_PCH): Rework test such that it tests not only generation of pch files, but also their use. * aclocal.m4, configure: Rebuilt. 2003-07-23 Steve Ellcey * config/cpu/hppa/atomicity.h: Change _GLIBCXX_INST_GLIBCXX_ATOMICITY_LOCK to _GLIBCXX_INST_ATOMICITY_LOCK to match misc-inst.cc 2003-07-23 Steve Ellcey * include/c_std/cmath.tcc: Use _GLIBCXX_ prefix on file guard. * include/c_std/std_cctype.h: Ditto. * include/c_std/std_cerrno.h: Ditto. * include/c_std/std_cfloat.h: Ditto. * include/c_std/std_climits.h: Ditto. * include/c_std/std_clocale.h: Ditto. * include/c_std/std_cmath.h: Ditto. * include/c_std/std_csetjmp.h: Ditto. * include/c_std/std_csignal.h: Ditto. * include/c_std/std_cstdarg.h: Ditto. * include/c_std/std_cstddef.h: Ditto. * include/c_std/std_cstdio.h: Ditto. * include/c_std/std_cstdlib.h: Ditto. * include/c_std/std_cstring.h: Ditto. * include/c_std/std_ctime.h: Ditto. * include/c_std/std_cwchar.h: Ditto. * include/c_std/std_cwctype.h: Ditto. * include/std/std_algorithm.h: Ditto. * include/std/std_bitset.h: Ditto. * include/std/std_complex.h: Ditto. * include/std/std_deque.h: Ditto. * include/std/std_fstream.h: Ditto. * include/std/std_functional.h: Ditto. * include/std/std_iomanip.h: Ditto. * include/std/std_ios.h: Ditto. * include/std/std_iosfwd.h: Ditto. * include/std/std_iostream.h: Ditto. * include/std/std_istream.h: Ditto. * include/std/std_iterator.h: Ditto. * include/std/std_limits.h: Ditto. * include/std/std_list.h: Ditto. * include/std/std_locale.h: Ditto. * include/std/std_map.h: Ditto. * include/std/std_memory.h: Ditto. * include/std/std_numeric.h: Ditto. * include/std/std_ostream.h: Ditto. * include/std/std_queue.h: Ditto. * include/std/std_set.h: Ditto. * include/std/std_sstream.h: Ditto. * include/std/std_stack.h: Ditto. * include/std/std_stdexcept.h: Ditto. * include/std/std_streambuf.h: Ditto. * include/std/std_string.h: Ditto. * include/std/std_utility.h: Ditto. * include/std/std_valarray.h: Ditto. * include/std/std_vector.h: Ditto. 2003-07-22 Doug Gregor * include/bits/basic_string.h (basic_string::insert): Deprecate GNU extension. 2003-07-21 Benjamin Kosnik * scripts/testsuite_flags.in (--build-includes): Remove extraneous paths for libio. * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc (test03): Include typeinfo for bad_cast. * testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same. * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same. * testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same. 2003-07-21 Doug Gregor * include/bits/boost_concept_check.h: (_EqualityComparableConcept::__constraints): Remove != from the list of constraints; it is not listed in Table 28 of the C++98 standard. 2003-07-18 Andreas Jaeger * config/abi/sparc-linux-gnu/baseline_symbols.txt: New file. * config/abi/mips-linux-gnu/baseline_symbols.txt: New file. * config/abi/hppa-linux-gnu/baseline_symbols.txt: New file. * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Regenerated. 2003-07-17 Benjamin Kosnik * config/linker-map.gnu: Add __moneypunct_cache, __timepunct_cache. * config/locale/generic/messages_members.h: Tweaks. * config/locale/generic/monetary_members.cc (moneypunct::_M_initialize_moneypunct): Use cache. (moneypunct::~moneypunct): Delete cache. * config/locale/generic/time_members.cc: (__timepunct::_M_initialize_timepunct): Use cache. * config/locale/generic/time_members.h: (__timepunct::~__timepunct): Delete cache. (__timepunct::__timepunct): Set cache. * config/locale/gnu/messages_members.h: Tweaks. * config/locale/gnu/monetary_members.cc: (moneypunct::_M_initialize_moneypunct): Use cache. (moneypunct::~moneypunct): Delete cache. * config/locale/gnu/time_members.cc: (__timepunct::_M_initialize_timepunct): Use cache. * config/locale/gnu/time_members.h: (__timepunct::~__timepunct): Delete cache. (__timepunct::__timepunct): Set cache. * include/bits/locale_facets.h (__timepunct_cache): New. (__moneypunct_cache): New. * include/bits/locale_facets.tcc: Tweak. * src/locale.cc (__timepunct::_S_timezones): Adjust for cache. * src/locale-inst.cc: Instantiate caches. * src/globals.cc: Add "C" caches. * src/localename.cc: Use external "C" caches. 2003-07-17 Phil Edwards * docs/doxygen/guide.html: Fix typo. 2003-07-16 Benjamin Kosnik * include/ext/pod_char_traits.h: Add state template argument. 2003-07-16 Benjamin Kosnik * include/bits/locale_facets.h (__num_base::_S_atoms_in): Add -+xX. (num_get::_M_convert_int): To _M_insert_int. (num_get::_M_convert_float): To _M_insert_float. * include/bits/locale_facets.tcc (num_get::_M_extract_float): Use caches for ctype, num_get. (num_get::_M_extract_int): Same. (num_get::get(bool)): Same. (__verify_grouping): Use size_t. * src/locale-inst.cc: Update. * src/locale.cc: Adjust _S_atoms_in. 2003-07-16 Phil Edwards * docs/doxygen/mainpage.html: Move building/writing instructions... * docs/doxygen/guide.html: ...to here. New file. 2003-07-16 Jonathan Wakely * docs/html/ext/howto.html: Update URL for SGI STL docs. * docs/html/faq/index.html: Same. * docs/html/faq/index.txt: Regenerate. 2003-07-16 Paolo Carlini PR libstdc++/11528 * include/bits/locale_facets.tcc (money_get::do_get): Strip only _leading_ zeros. * testsuite/22_locale/money_get/get/char/11528.cc: Add. * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Add. 2003-07-16 Gerald Pfeifer * include/ext/hash_map (class hash_multimap): Remove extra semicolons from __glibcxx_class_requires3 entries. * include/ext/hash_set (class hash_set): Ditto. (class hash_multiset): Ditto. 2003-07-15 Petur Runolfsson * include/bits/char_traits.h (char_traits::move): Change last parameter from int_type to size_t. 2003-07-15 Jerry Quinn * include/bits/stl_algo.h (includes, set_union, set_intersection, set_difference, set_symmetric_difference, max_element, min_element, next_permutation, prev_permutation, find_first_of, find_end): Document. * include/bits/stl_algobase.h (copy,copy_backward): Clarify overlap restrictions in docs. * include/bits/stl_heap.h (push_heap, pop_heap, make_heap, sort_heap): Document. * docs/doxygen/doxygroups.cc (setoperations): New group. 2003-07-15 Jerry Quinn * include/bits/basic_string.h: Document public functions. * docs/doxygen/TODO: Update c21 todo. 2003-07-15 Jerry Quinn * include/bits/stl_list.h: Document more functions. * docs/doxygen/TODO: Update c23 todo. 2003-07-14 Paolo Carlini * config/locale/gnu/c_locale.h (__convert_from_v): One more qualification. 2003-07-14 Paolo Carlini * include/bits/stl_tempbuf.h: Qualify free with std::. * src/locale.cc: Include , qualify getenv. 2003-07-14 Paolo Carlini * config/locale/gnu/c_locale.h (__convert_from_v): Include . Qualify names. * config/locale/generic/c_locale.h (__convert_from_v): Ditto. 2003-07-14 Paolo Carlini Nathan C. Myers PR libstdc++/11378 * include/std/std_fstream.h (xsputn): Declare only. * include/bits/fstream.tcc (xsputn): Define, optimize for the always_noconv() case: when __n is sufficiently large flush the buffer and issue a direct write, if possible combining the two with writev in __basic_file<>::xsputn_2. * config/io/basic_file_stdio.h (__basic_file<>::xsputn_2): New, declare. * config/io/basic_file_stdio.cc (__basic_file<>::xsputn_2): Define. * acinclude.m4 (GLIBCXX_CHECK_WRITE): New macro, checking for the availability of writev in . * configure.in: Call here. * acconfig.h: Add undef for the corresponding symbol. * aclocal.m4: Regenerate. * configure: Regenerate. * config.h.in: Regenerate. * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Tweak. * include/std/std_fstream.h (sync): Constify a variable. 2003-07-14 Benjamin Kosnik * testsuite/27_io/ios_base/cons/assign_neg.cc: Fix line numbers. * testsuite/27_io/ios_base/cons/copy_neg.cc: Same. 2003-07-14 Gabriel Dos Reis * config/locale/gnu/c_locale.h (__convert_from_v): Include and . Qualify names. 2003-07-13 Mark Mitchell * config/locale/generic/c_locale.h: Include and . * include/bits/boost_concept_check.h: Add this-> to unqualified method calls. * include/bits/deque.tcc: Likewise. * include/bits/locale_facets.h : Likewise. * include/bits/ostream.tcc: Likewise. * include/bits/stl_algo.h: Likewise. * include/bits/stl_bvector.h: Likewise. * include/bits/stl_deque.h: Likewise. * include/bits/stl_list.h: Likewise. * include/bits/stl_tree.h: Likewise. * include/bits/stl_vector.h: Likewise. * include/bits/vector.tcc: Likewise. * include/ext/rope: Likewise. * include/ext/ropeimpl.h: Likewise. * include/ext/stdio_filebuf.h: Likewise. 2003-07-11 Jerry Quinn * include/bits/basic_ios.h (copyfmt): Document. * include/bits/ios_base.h (event, event_callback, register_callback, xalloc, iword, pword): Document. (imbue, ~ios_base): Update docs on callbacks. 2003-07-11 Phil Edwards * acinclude.m4 (GLIBCC_ENABLE_SYMVERS): Tweak comments. Add warning messages if the environment cannot support symbol versioning. (port_specific_symbol_file): It's plural, add an 's' on the end. * configure.host: Likewise. * src/Makefile.am: Likewise. * config/linker-map.gnu: Remove one semicolon, heh. * scripts/extract_symvers: Don't assume useful 'export' syntax. Set LANG as well as LC_ALL for possibly-broken sort(1)s. * aclocal.m4, configure, src/Makefile.in: Regenerated. 2003-07-09 Benjamin Kosnik * include/bits/locale_facets.tcc: Use function object for __use_cache instead of template function. Partially specialize for __numpunct<_CharT>. * include/bits/locale_classes.h: Update friend declaration for __use_cache. (_M_install_cache): No throw exception specs. * src/locale.cc: Remove __use_cache specializations. * include/ext/pod_char_traits.h (length): Tweak. * include/bits/locale_facets.h (__numpunct_cache): Remove char_type typedef. * testsuite/testsuite_hooks.h (pod_unsigned_int): Remove. (pod_long): Remove. * testsuite/22_locale/numpunct/members/char/cache_1.cc: New. * testsuite/22_locale/numpunct/members/char/cache_2.cc: New. * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: New. * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: New. * testsuite/22_locale/numpunct/members/pod/1.cc: New. * testsuite/22_locale/numpunct/members/pod/2.cc: New. 2003-07-09 Jerry Quinn * src/ios.cc (_M_grow_words): Fix spelling. 2003-07-09 Gawain Bolton * include/bits/stl_tree.h: Move larger member functions in _Rb_tree_base_iterator and _Rb_tree_node to... * src/stl_tree.cc: Here. * src/Makefile.in: Add stl_tree.cc. * src/Makefile.in: Regenerated. * config/linker-map.gnu: Add symbols here. 2003-07-08 Benjamin Kosnik * testsuite/ext/pod_char_traits.cc: New. * include/ext/pod_char_traits.h: New. * include/Makefile.am (ext_headers): Add pod_char_traits.h. * include/Makefile.in: Regenerate. * docs/html/21_strings/howto.html: Update. 2003-07-08 Gawain Bolton * testsuite/performance/list_create_fill_sort.cc: New. 2003-07-08 Benjamin Kosnik * config/locale/generic/numeric_members.cc: Correct type info. * config/locale/gnu/numeric_members.cc: Same. * include/bits/locale_facets.h: Same. * include/bits/char_traits.h: Correct spacing. * src/locale.cc: Wrap to 80 col. 2003-07-07 Paolo Carlini * include/std/std_complex.h: Partially revert last changes: cmath functions must not be qualified. 2003-07-06 Phil Edwards * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Do not test for binutils 2.11 with globbing backport fix. * aclocal.m4, configure: Regenerated. 2003-07-06 Paolo Carlini * include/std/std_fstream.h (xsputn): Don't call _M_destroy_pback: if output is at all possible (!_M_reading), cannot be active. * include/std/std_fstream.h: Tweak comments to doxygen style. 2003-07-06 Paolo Carlini * include/bits/locale_classes.h: Fully qualify standard functions with std::, thus avoiding Koenig lookup. * include/bits/locale_facets.tcc: Likewise. * src/locale.cc: Likewise. * src/localename.cc: Likewise. 2003-07-06 Phil Edwards * include/bits/allocator_traits.h: Fix doxygen markup. * include/ext/mt_allocator.h: Likewise. 2003-07-06 Phil Edwards * testsuite/testsuite_hooks.h: Guard against a missing unlink(). 2003-07-05 Phil Edwards * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Bump minimal version requirement. Add port_specific_symbol_file variable. * configure.host: Add docs for port_specific_symbol_file. Clean up try_cpu block for x86. * config/linker-map.gnu: No more "last symbol can't have a semicolon" kaka. Add hook for port-specific symbols. * src/Makefile.am: Remove trailing whitespace. (libstdc++-symbol.ver): Detect the presence of port-specific symbols, and add them accordingly. * docs/html/17_intro/porting.texi: Bring up to date. * src/Makefile.in, aclocal.m4, configure, docs/html/17_intro/porting.html: Regenerated. 2003-07-05 Phil Edwards * scripts/create_testsuite_files: New file. * testsuite/Makefile.am (all-local, check-performance): Use it. * testsuite/lib/libstdc++-v3-dg.exp (v3-computer-tests): Remove. * testsuite/Makefile.in: Regenerated. * testsuite/performance/filebuf_sputc.cc: Remove the temporary files at the end. * testsuite/performance/fstream_seek_write.cc: Likewise. * testsuite/performance/ofstream_insert_float.cc: Likewise. * testsuite/performance/ofstream_insert_int.cc: Likewise. * testsuite/abi_check.cc (main): Nicer spacing in usage output. 2003-07-05 Gawain Bolton * include/bits/stl_list.h: Performance and memory usage improvements. In particular, the behaviour of the constructor and destructor as the list header node is no longer dynamically allocated/de-allocated. * include/bits/list.tcc: Likewise. 2003-07-05 Paolo Carlini * include/std/std_complex.h: Fully qualify standard functions with std::, thus avoiding Koenig lookup. * include/std/std_memory.h: Likewise. * include/std/std_valarray.h: Likewise. 2003-07-05 Gawain Bolton * include/bits/stl_tree.h: _Rb_tree_rebalance(): Add local variable for grandparent and use const 2003-07-05 David Billinghurst * testsuite/27_io/basic_filebuf/close/char/4879.cc: xfail on cygwin * testsuite/27_io/basic_filebuf/close/char/9964.cc: Ditto * testsuite/27_io/basic_filebuf/open/char/9507.cc: Ditto * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Ditto * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Ditto * testsuite/27_io/objects/char/7.cc: Ditto * testsuite/27_io/objects/char/9661-1.cc: Ditto 2003-07-05 Paolo Carlini * include/std/std_bitset.h: Fully qualify standard functions with std::, thus avoiding Koenig lookup. * include/std/std_fstream.h: Change comment to doxygen style. 2003-07-05 Phil Edwards * include/std/std_limits.h: More CPP->CXX changes. * scripts/check_survey.in: Likewise. 2003-07-04 Benjamin Kosnik Move from CPP to CXX. * include/bits/c++config: Move to GLIBCXX from GLIBCPP. * testsuite/Makefile.am: Same. * testsuite/Makefile.in: Regenerate. * po/Makefile.am: Same. * po/Makefile.in: Regenerate. * libsupc++/Makefile.am: Same. * libsupc++/Makefile.in: Regenerate. * libmath/Makefile.am: Same. * libmath/Makefile.in: Regenerate. * include/Makefile.am: Same. * include/Makefile.in: Regenerate. * src/Makefile.am: Same. * src/Makefile.in: Regenerate. * acconfig.h: Same. * configure.host: Same. * configure.in: Same. * configure: Regenerate. * acinclude.m4: Same. * aclocal.m4: Same. * src: Change all files in this directory. * testsuite: Same. * include: Same, standardize include guards. * config: Same. * libsupc++: Same. 2003-07-04 Zack Weinberg * testsuite/22_locale/collate/compare/wchar_t/2.cc * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc * testsuite/22_locale/collate/hash/wchar_t/2.cc * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc * testsuite/22_locale/collate/transform/wchar_t/2.cc * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc: XFAIL on all targets. 2003-07-04 Benjamin Kosnik * acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix missed variable. * aclocal.m4: Regenerate. * configure: Regenerate. 2003-07-04 Jerry Quinn * include/bits/locale_facets.tcc (__int_to_char): Move common case to the top. 2003-07-04 Benjamin Kosnik Petur Runolfsson * config/io/basic_file_stdio.cc: Revert. 2003-07-04 Paolo Carlini * include/bits/deque.tcc: Fully qualify standard functions with std::, thus avoiding Koenig lookup. * include/bits/gslice_array.h: Likewise. * include/bits/indirect_array.h: Likewise. * include/bits/list.tcc: Likewise. * include/bits/mask_array.h: Likewise. * include/bits/slice_array.h: Likewise. 2003-07-04 Gawain Bolton * include/bits/stl_tree.h: Performance and memory usage improvements. 2003-07-04 H.J. Lu * Makefile.am: Replace PWD with PWD_COMMAND. * Makefile.in: Regenerated. * docs/html/Makefile: Likewise. 2003-07-04 Paolo Carlini * include/bits/valarray_array.h: Fully qualify standard functions with std::, thus avoiding Koenig lookup. * include/bits/vector.tcc: Likewise. 2003-07-04 Benjamin Kosnik * include/Makefile.am: Update target_ to host_. * include/Makefile.in: Regenerate. * src/Makefile.am: Same. * src/Makefile.in: Regenerate. * config/os/gnu-linux/os_defines.h: Remove glibc-2.0 support. 2003-07-04 Benjamin Kosnik * acinclude.m4 (GLIBCPP_ENABLE_DEBUG_FLAGS): To --enable-libstdcxx-debug-flags. (GLIBCPP_ENABLE_DEBUG_FLAGS): To --enable-libstdcxx-debug. (GLIBCPP_ENABLE_PCH): To --enable-libstdcxx-pch. * aclocal.m4: Regenerate. * configure: Same. * docs/html/configopts.html: Update. 2003-07-04 Paolo Carlini Revert the fix for libstdc++/11378. 2003-07-04 Paolo Carlini PR libstdc++/11378 * include/std/std_fstream.h (xsputn): In the unbuffered case, provided always_noconv(), issue directly _M_file.xsputn. * testsuite/performance/filebuf_unbuf_sputn.cc: New. 2003-07-04 Paolo Carlini * include/bits/stl_list.h: Fully qualify standard functions with std::, thus avoiding Koenig lookup. * include/bits/stl_queue.h: Likewise. * include/bits/stl_raw_storage_iter.h: Likewise. * include/bits/stl_tempbuf.h: Likewise. * include/bits/stl_tree.h: Likewise. * include/bits/stl_uninitialized.h: Likewise. * include/bits/stl_vector.h: Likewise. * include/ext/rope: Change includes order. 2003-07-04 Benjamin Kosnik * configure.host (fpos_include_dir): Fix. 2003-07-04 Paolo Carlini * include/bits/stl_heap.h: Fully qualify standard functions with std::, thus avoiding Koenig lookup. * include/bits/stl_iterator_base_funcs.h: Likewise. * include/bits/stl_algo.h: Qualify __iterator_category too. * include/bits/stl_algobase.h: Likewise. * include/bits/stl_bvector.h: Likewise. * include/bits/stl_algo.h: Don't qualify the pair type. 2003-07-03 Benjamin Kosnik * include/Makefile.am (target_headers): Add fpos.h (bits_headers): Remove. * include/Makefile.in: Regenerate. * configure.in: Add FPOS_INC_SRCDIR, substitute it. * configure: Regenerate. * configure.host: Add fpos_include_dir. * config/os/gnu-linux/fpos.h: New. * config/os/generic/fpos.h: Add. * include/bits/fpos.h: Remove. * config/io/c_io_stdio.h: Remove fpos_t typedef. * include/bits/fstream.tcc: Tweaks. * include/std/std_fstream.h: Same. * testsuite/27_io/fpos/1.cc (test01): Uncomment. Move to... * testsuite/27_io/fpos/mbstate_t/1.cc: ...here. * testsuite/27_io/fpos/mbstate_t/2.cc: Same. * testsuite/27_io/fpos/mbstate_t/3.cc: Same. * testsuite/27_io/fpos/1.cc: New. 2003-07-03 Benjamin Kosnik Petur Runolfsson * include/std/std_streambuf.h: Remove _M_pos. * config/io/basic_file_stdio.h: Use seekpos instead of seekoff. * config/io/basic_file_stdio.cc: Same, use fseek instead of lseek, use fread/fwrite instead of read/write. * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Fix. * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Close filebufs before reading again. * testsuite/27_io/objects/char/6.cc: Tweak. 2003-07-03 David Edelsohn * testsuite/22_locale/num_put/put/char/7.cc: Guard with _GLIBCPP_USE_WCHAR_T. 2003-07-02 Paolo Carlini * include/bits/basic_string.tcc (_M_replace_aux): Constify __n1 and __off1. 2003-07-02 Paolo Carlini * include/bits/stl_bvector.h: Fully qualify standard functions with std::, thus avoiding Koenig lookup. * include/bits/stl_construct.h: Likewise. * include/bits/stl_deque.h: Likewise. 2003-07-02 Paolo Carlini * testsuite/22_locale/num_put/put/char/7.cc: Include , tweak. * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise. 2003-07-01 Phil Edwards * testsuite/Makefile.am (AM_MAKEFLAGS): Set to -j1 (affects check* targets, but not libs/programs). * testsuite/Makefile.in: Regenerate. 2003-07-01 Roger Sayle * acinclude.m4 (GLIBCPP_CHECK_STDLIB_SUPPORT): Fix typo in CXXFLAGS. (GLIBCPP_CHECK_MATH_SUPPORT): Likewise. * aclocal.m4: Regenerate. * configure: Regenerate. 2003-07-01 Benjamin Kosnik * acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix obvious error. * aclocal.m4: Regenerated. * configure: Regenerated. 2003-07-01 Paolo Carlini PR libstdc++/11389 * include/bits/fstream.tcc (underflow): For encoding() == 0 don't read more than __buflen chars. * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: New. * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: New. * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: New. * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: New. 2003-07-01 Jerry Quinn * 22_locale/num_put/put/char/7.cc: New. * 22_locale/num_put/put/wchar_t/7.cc: New. 2003-06-30 Jerry Quinn * src/locale.cc (__use_cache): Revert previous relocation. * include/bits/locale_facets.tcc (__use_cache): Ditto. 2003-06-30 Benjamin Kosnik * 27_io/basic_filebuf/seekoff/char/1-in.cc: New. * 27_io/basic_filebuf/seekoff/char/1-io.cc: New. * 27_io/basic_filebuf/seekoff/char/1-out.cc: New. * 27_io/basic_filebuf/seekoff/char/2-in.cc: New. * 27_io/basic_filebuf/seekoff/char/2-io.cc: New. * 27_io/basic_filebuf/seekoff/char/2-out.cc: New. * 27_io/basic_filebuf/seekoff/char/2.cc: Remove. * 27_io/basic_filebuf/seekoff/char/3-in.cc: New. * 27_io/basic_filebuf/seekoff/char/3-io.cc: Change. * 27_io/basic_filebuf/seekoff/char/3-out.cc: New. * 27_io/basic_filebuf/seekoff/char/4-io.cc: Remove. * 27_io/basic_filebuf/seekpos/char/1-in.cc: New. * 27_io/basic_filebuf/seekpos/char/1-io.cc: New. * 27_io/basic_filebuf/seekpos/char/1-out.cc: New. * 27_io/basic_filebuf/seekpos/char/2-in.cc: New. * 27_io/basic_filebuf/seekpos/char/2-io.cc: New. * 27_io/basic_filebuf/seekpos/char/2-out.cc: New. * 27_io/basic_filebuf/seekpos/char/2.cc: Change. * 27_io/basic_filebuf/seekpos/char/3-in.cc: New. * 27_io/basic_filebuf/seekpos/char/3-io.cc: Remove. * 27_io/basic_filebuf/seekpos/char/3-out.cc: New. * 27_io/basic_filebuf/seekpos/char/4-io.cc: Remove. * data/seekoff-1.tst: Remove. * data/seekoff-1io.tst: New. * data/seekoff-1out.tst: New. * data/seekoff-2.tst: Remove. * data/seekoff-2io.tst: New. * data/seekoff-2out.tst: New. * data/seekoff.txt * data/seekpos-1.tst: Remove. * data/seekpos-1io.tst: New. * data/seekpos-1out.tst: New. * data/seekpos-2.tst: Remove. * data/seekpos-2io.tst: New. * data/seekpos-2out.tst: New. * data/seekpos.txt: New. 2003-06-30 Jerry Quinn * src/locale.cc (__use_cache): Move from here ... * include/bits/locale_facets.tcc (__use_cache): To here. 2003-06-30 Paolo Carlini * include/bits/stl_algobase.h: Fully qualify standard functions with std::, thus avoiding Koenig lookup. 2003-06-30 Doug Gregor * include/bits/locale_facets.tcc (money_get::do_get): Avoid subscripting empty string. 2003-06-30 Phil Edwards * testsuite/Makefile.am (check-am): Do not override. (baseline_symbols): Declare as PHONY, so no need to 'touch' it. * testsuite/Makefile.in: Regenerate. 2003-06-30 Doug Gregor * testsuite/24_iterators/insert_iterator.cc (test01, test02): Don't initialize an insert_iterator with a singular iterator. 2003-06-30 Benjamin Kosnik * acinclude.m4 (GLIBCPP_ENABLE_PCH): Add bits for --enable-pch. * aclocal.m4: Regenerate. * configure.in (GLIBCPP_CHECK_PCH): Move, change to GLIBCPP_ENABLE_PCH, default to yes. * configure: Regenerate. * docs/html/configopts.html: Add --enable-pch. 2003-06-30 Phil Edwards * testsuite/lib/libstdc++-v3-dg.exp: Add comments. (libstdc++-v3-init): Also set LD_RUN_PATH. 2003-06-30 Paolo Carlini * include/std/std_streambuf.h (_M_mode): Unused by streambuf, move from here to filebuf and stringbuf. (~basic_streambuf()): Don't set _M_mode. (basic_streambuf()): Don't set _M_mode. * include/std/std_fstream.h (_M_mode): Move here, from streambuf. (~basic_filebuf()): Clean up. * include/bits/fstream.tcc (basic_filebuf()): Set _M_mode. * include/std/std_sstream.h (_M_mode): Move here, from streambuf. * testsuite/27_io/basic_streambuf/cons/char/1.cc: Don't set _M_mode. * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise. * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise. * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise. * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise. 2003-06-30 Paolo Carlini * include/std/std_fstream.h (_M_underflow): Remove. (uflow): Remove, inherited from streambuf. (underflow): Only declare. * include/bits/fstream.tcc (_M_underflow): Rename to underflow, to which is equivalent for __bump == false, simplify. * include/std/std_sstream.h (_M_underflow): Remove. (uflow): Remove, inherited from streambuf. (underflow): Only declare. * include/bits/sstream.tcc (_M_underflow): Rename to underflow, to which is equivalent for __bump == false, simplify. 2003-06-29 Paolo Carlini * include/bits/stl_algo.h: Fully qualify standard functions with std::, thus avoiding Koenig lookup. 2003-06-29 Paolo Carlini * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Improve type correctness-wise. * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise. * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise. * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise. 2003-06-29 Paolo Carlini * include/std/std_streambuf.h (uflow): According to 27.5.2.4.3,p16, don't check gptr() < egptr(). 2003-06-28 Paolo Carlini PR libstdc++/9875 * include/bits/fstream.tcc (seekoff): Fix for encoding() > 0. (seekpos): Likewise. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc: New test. * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc: New test. 2003-06-27 Benjamin Kosnik * testsuite/testsuite_performance.h (__gnu_cxx_test): Change output name to libstdc++-v3-performance.sum. * testsuite/Makefile.am (CLEANFILES): Remove .performance. * testsuite/Makefile.in: Regenerate. 2003-06-27 Matthias Klose * testsuite/Makefile.am (check-abi, check-abi-verbose): Save output of abi-check in libstdc++-v3-abi.sum. * testsuite/Makefile.in: Regenerate. 2003-06-27 Krister Walfridsson * config/os/bsd/netbsd/ctype_noninline.h (_C_ctype_): Declare. (ctype::classic_table): Return _C_ctype_ + 1. (ctype::ctype): Use classic_table. 2003-06-27 Paolo Carlini Nathan C. Myers PR libstdc++/9178 * include/bits/fstream.tcc (_M_underflow): Properly estimate the worst-case number of external bytes for a given get area. * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: New. 2003-06-27 Paolo Carlini Petur Runolfsson PR libstdc++/11305 * include/bits/fstream.tcc (overflow): Properly estimate the worst-case number of external bytes for a given put area (by using codecvt::max_length()). * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1: New. * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: New. * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: New. * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: New. 2003-06-27 Nathan Sidwell * config/linker-map.gnu: Remove ; after __numpunct_cache. 2003-06-26 Benjamin Kosnik * include/bits/ios_base.h (ios_base::_M_getloc): Return reference to the imbued locale. * include/bits/locale_facets.tcc (num_put::_M_convert_int): Use _M_getloc. (num_put::_M_convert_float): Use. 2003-06-26 Benjamin Kosnik Jerry Quinn * config/linker-map.gnu: Add __numpunct_cache. * config/locale/gnu/numeric_members.cc (numpunct::_M_initialize_numpunct): Account for _M_data, fill in all elements for "C" locale. (numpunct::~numpunct): Delete _M_data. * config/locale/generic/numeric_members.cc: Same. * include/bits/basic_ios.tcc (basic_ios::init): Remove __locale_cache bits. (basic_ios::_M_cache_locale): Same. * include/bits/ios_base.h: Same. Tweaks. * include/bits/locale_classes.h: Tweaks. Reorder classes. (__use_cache): Make friends with _Impl, locale. (_Impl::_M_caches): Add. (_Impl::_M_install_cache): Add. * include/bits/locale_facets.h (__numpunct_cache): New. (numpunct): Encapsulate data members in __numpunct_cache member, _M_data. Adjust virtuals. (numpunct::numpunct): New ctor for the same. (__locale_cache_base): Remove. (__locale_cache): Remove. * include/bits/locale_facets.tcc (__use_cache): New function, specializations. (num_put::_M_convert_int, _M_convert_float, do_put): Use it. * src/globals.cc: Add cache_vec, numpunct_cache_c, numpunct_cache_w. * src/ios.cc (ios_base::ios_base): Remove __locale_cache. * src/locale-inst.cc: Same. Add __numpunct_cache. * src/locale.cc: Tweak inlines. (__use_cache): Define specializations. * src/localename.cc: Use global bits. (_Impl::~Impl): Deal with __numpunct_cache destruction. (_Impl::_Impl): Same. Pre-cache standard numpunct facets. (_Impl::_M_init_facet): Take into account __numpunct_cache. * testsuite/27_io/ios_base/cons/assign_neg.cc: Update line numbers. * testsuite/27_io/ios_base/cons/copy_neg.cc: Same. 2003-06-26 Nathan C. Myers Paolo Carlini * testsuite/performance/filebuf_copy.cc: New, testing char by char file copy. 2003-06-26 Paolo Carlini Nathan C. Myers * include/bits/fstream.tcc (_M_underflow): When the actual end of file is reached, set 'uncommitted' mode to allow a next write without an intervening seek (see C++98 27.8.1.1,2 and C89 7.9.5.3). * testsuite/27_io/basic_filebuf/underflow/char/2.cc: New. 2003-06-25 Nathan C. Myers * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc, sputc): Move inline, from here... * include/std/std_streambuf.h: ... to here. * include/std/std_streambuf.h (snextc, sbumpc, sgetc, sputbackc, sungetc, sputc): Use __builtin_expect. 2003-06-24 Phil Edwards * docs/doxygen/mainpage.html: Use a useful title. 2003-06-24 Benjamin Kosnik * docs/html/documentation.html: Remove assignment info. * docs/html/17_intro/contribute.html: Edits. * docs/html/17_intro/libstdc++-assign.tx: Remove. * docs/html/test.html: Update. * README: Update. 2003-06-24 Benjamin Kosnik Ulrich Drepper * testsuite/testsuite_performance.h: Tweak mallinfo. 2003-06-24 Paolo Carlini Nathan C. Myers * include/std/std_fstream.h (_M_filepos): Remove. (_M_reading, _M_writing): New, encode the various I/O modes: 'read', 'write' and 'uncommitted'. (sync): If there is something to flush, do it, then go to 'uncommitted' mode. * include/bits/fstream.tcc (_M_set_buffer): Overhaul to deal with three different cases: __off > 0 (upon underflow), __off == 0 (upon overflow), __off == -1 (upon open, setbuf, seekoff/pos). (_M_underflow): Don't call overflow, set _M_reading to true on success, tweak. (pbackfail): Set _M_reading to true on pback creation, tweak. (overflow): Don't seek, deal with overflow in 'uncommitted' mode, set _M_writing to true on success, tweak. (seekoff): Simplify, set _M_reading, _M_writing to false, call _M_set_buffer(-1) ('uncommitted'). (open, close, setbuf): Set _M_reading, _M_writing to false and call _M_set_buffer(-1), tweak. (basic_filebuf): Don't set _M_buf_unified. (_M_destroy_internal_buffer): Don't call setg and setp. * include/ext/stdio_filebuf.h (stdio_filebuf): Use _M_reading, _M_writing and _M_set_buffer(-1). * include/std/std_streambuf.h (_M_move_out_cur, _M_move_in_cur, _M_out_lim, _M_buf_unified): Remove. (basic_streambuf): Don't set _M_out_lim and _M_buf_unified. (setp): Don't set _M_out_lim. * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Fix for the new logic ('read', 'write' and 'uncommitted' modes): e.g., upon open the mode is 'uncommitted' and therefore the put area pointers are null. * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Ditto. * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Ditto. * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Ditto. * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Ditto. * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Ditto. * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Ditto. * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto. * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Ditto. * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Ditto. * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Ditto. * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Ditto. * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Ditto. * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Ditto. * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Ditto. * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Ditto. * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Ditto. * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Ditto. * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Ditto. * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Ditto. * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Ditto. * include/bits/fstream.tcc (showmanyc): Use only the documented derivation interface to basic_streambuf (gptr(), setg(), etc.) to work right with user specializations. * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc, sputc, xsgetn, xsputn, __copy_streambufs): Likewise. * include/std/std_streambuf.h (in_avail, sgetc, uflow, stossc): Likewise. * include/std/std_fstream.h (_M_create_pback, _M_destroy_pback, xsgetn): Likewise. 2003-06-23 Loren J. Rittle * configure.host (freebsd*): Set abi_baseline_pair. * config/abi/i386-freebsd4/baseline_symbols.txt: Update from 3.2 (at or near first release) to 3.3. * config/abi/i386-freebsd5/baseline_symbols.txt: New file. * config/abi/alpha-freebsd5/baseline_symbols.txt: New file. * config/abi/sparc-freebsd5/baseline_symbols.txt: New file. * include/ext/mt_allocator.h: Portability. * testsuite/testsuite_performance.h: Likewise. 2003-06-23 Benjamin Kosnik * docs/html/17_intro/libstdc++-assign.txt: Update address. * testsuite/performance/ifstream_getline.cc: Fix. 2003-06-23 Doug Gregor * include/bits/boost_concept_check.h: Don't use _D or _R for type names. 2003-06-22 Paolo Carlini Nathan C. Myers * include/std/std_streambuf.h (_M_move_out_cur): _M_out_lim is now used only for filebuf, when _M_buf_unified is true. epgtr() plays the role of _M_out_lim but it's only updated upon overflow, underflow, uflow, seekoff/pos. * include/bits/sstream.tcc (_M_underflow): New, implements stringbuf::underflow and uflow. (seekoff, seekpos): Tweak, use _M_update_egptr. * include/std/std_sstream.h (str): Rewrote, deal correctly with the new logic, in particular, when pptr() > egptr(). (_M_sync): When __testout && !__testin set all the get area pointers to the current string end. (_M_update_egptr): New, internal function updating egptr() to the actual string end. (_M_underflow): New, declare. (underflow): Dispatch to _M_underflow(false). (uflow): Dispatch to _M_underflow(true). * include/bits/sstream.tcc (pbackfail, overflow, seekoff, seekpos): Use only the documented derivation interface to basic_streambuf (gptr(), setg(), etc.) to work right with user specializations. * include/std/std_sstream.h (str, _M_sync): Likewise. 2003-06-20 Doug Gregor * testsuite/20_util/auto_ptr.cc: Don't dereference NULL auto_ptr * testsuite/21_strings/basic_string/replace/char/4.cc: Don't dereference end iterator. * testsuite/21_strings/basic_string/replace/wchar_t/4.cc: Same. * testsuite/22_locale/ctype/narrow/char/1.cc: Don't subscript with index equal to the length of a string. * testsuite/22_locale/ctype/narrow/char/2.cc: Same. * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Same. * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Same. * testsuite/22_locale/ctype/widen/char/1.cc: Same. * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Same. * testsuite/23_containers/list_modifiers.cc: Don't dereference singular reverse iterator. * testsuite/23_containers/vector_bool.cc: Don't increment singular iterator. * testsuite/24_iterators/rel_ops.cc: Don't compare singular iterator. 2003-06-20 Doug Gregor * include/bits/basic_string.h (basic_string::replace): Dispatch _InputIterator version based on _Is_integer. * include/bits/basic_string.tcc (basic_string::replace): Renamed replace(iterator, iterator, size_type, _CharT) to _M_replace_aux. * testsuite/21_strings/basic_string/assign/char/1.cc (test01): Test basic_string::assign(_InputIterator, _InputIterator), which calls basic_string::replace(iterator, iterator, _Input_iterator, _InputIterator). 2003-06-20 Benjamin Kosnik * testsuite/testsuite_performance.h (resource_counter): Don't use mallinfo at the moment. 2003-06-20 Matthias Klose * configure.host: Set try_cpu to target_cpu for existing baseline files. 2003-06-19 Andreas Jaeger * testsuite/Makefile.am (extract_symvers): Revert accidental change. * testsuite/Makefile.in: Regenerate. * configure.in: Pass MULTISUBDIR to testsuite/Makefile. * configure: Regenerated. 2003-06-19 Paolo Carlini * include/std/std_sstream.h (_M_sync): Make non virtual. 2003-06-18 Benjamin Kosnik * testsuite/testsuite_performance.h (time_counter): New. (resource_counter): New. (report_performance): New. (start_counters): New. (stop_counters): New. (clear_counters): New. * testsuite/performance/allocator.cc: Instrument. * testsuite/performance/cout_insert_int.cc: Same. * testsuite/performance/complex_norm.cc: Same. * testsuite/performance/filebuf_sputc.cc: New. * testsuite/performance/fstream_seek_write.cc: Same. * testsuite/performance/ifstream_getline.cc: Same. * testsuite/performance/map_create_fill.cc: Same. * testsuite/performance/ofstream_insert_float.cc: Same. * testsuite/performance/ofstream_insert_int.cc: Same. * testsuite/performance/string_append.cc: Convert. * scripts/check_performance: New. * testsuite/Makefile.am (check-performance): New. (CLEANFILES): Add. 2003-06-18 Paolo Carlini Benjamin Kosnik * include/std/std_sstream.h (setbuf): Check __n >= 0. * include/bits/fstream.tcc (setbuf): Tweak. 2003-06-18 Paolo Carlini * include/bits/sstream.tcc (seekoff): We can't seek beyond _M_out_lim, therefore _M_move_out_cur boils down to simply updating _M_out_cur. (seekpos): Likewise, clean up. 2003-06-18 Nathan C. Myers Paolo Carlini * include/bits/fstream.tcc (setbuf): Allow (__s, 1) too, simply equivalent to the unbuffered case (0, 0) as far as _M_buf_size is concerned. 2003-06-18 Andreas Jaeger * testsuite/Makefile.am (new-abi-baseline): Create baseline directory. (baseline_file): Use baseline_dir. (baseline_dir): New. (mkinstalldirs): New. * acinclude.m4: Rename baseline_file to baseline_dir, strip filename from baseline_dir. * testsuite/Makefile.in: Regenerated. * Makefile.in: Regenerated. * aclocal.m4: Regenerated. * configure: Regenerated. 2003-06-17 Benjamin Kosnik * configure.in: Missed check_survey bit. * configure: Regenerated. 2003-06-17 Benjamin Kosnik * scripts: New. * config/abi/extract_symvers: Move to... * scripts/extract_symvers: ...here. * mkcheck.in: Move to.. * scripts/check_survey.in: ...here. * testsuite_flags.in: Move to.. * scripts/testsuite_flags.in: ...here. * configure.in: Change check and testsuite_flags locations. * configure: Regenerate. * testsuite/Makefile.am (current_symbols.txt): Change location. * testsuite/Makefile.in: Regenerate. * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify location of testsuite_flags. * Makefile.am (check-script): Move.. (check-script-install): Move... * testsuite/Makefile.am: ... here. * testsuite/Makefile.in: Regenerate. * Makefile.in: Regenerate. 2003-06-17 Benjamin Kosnik * config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.3.0. 2003-06-16 Benjamin Kosnik * Makefile.am (check-abi): Move... (new-abi-baseline): Move... * testsuite/Makefile.am: ...here. (new-abi-baseline): Conditionalize. (check-abi): Conditionalize. (check-abi-verbose): New. * Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. * configure.in: Consolidate testsuite configure bits. * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Same. * configure: Regenerate. * aclocal.m4: Regenerate. * testsuite/abi_check.cc: Add --check-verbose. Only output detailed information if --check-verbose. 2003-06-16 Andreas Jaeger * testsuite/abi_check.cc: Create summary report. 2003-06-16 Paolo Carlini * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Fix for systems with BUFSIZ != 8192. * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto. * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Minor tweaks. 2003-06-16 Andreas Jaeger * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Make check-abi multilib aware. * aclocal.m4: Regenerate. * configure: Regenerate. 2003-06-16 Benjamin Kosnik Andreas Jaeger * configure.host: Set x86_64 abi_baseline pair correctly. 2003-06-16 Paolo Carlini * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Split and fix for missing seeks between gets and puts into... * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: New. * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: New. * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: New. * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: New. * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: New. * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: New. 2003-06-15 Richard Henderson * config/linker-map.gnu: Export virtual function thunks for 64-bit systems too. 2003-06-13 Benjamin Kosnik * config/abi/i686-pc-linux-gnu: To.. * config/abi/i486-linux-gnu: ...this. * config/abi/alphaev67-unknown-linux-gnu: To.. * config/abi/alpha-linux-gnu: ...this. * config/abi/ia64-unknown-linux-gnu: To... * config/abi/ia64-linux-gnu: ...this. * config/abi/x86_64-unknown-linux-gnu: To... * config/abi/x86_64-linux-gnu: ...this. * config/abi/i386-unknown-freebsd4: To... * config/abi/i386-freebsd4: ...this. * config/linker-map.gnu: Cleanups, move libsupc++ bits into CXXABI. * configure.host: abi_baseline_triplet to abi_baseline_pair. Simplify cpu bits so that abi_baseline_pair can use the same cpu configuration. * acinclude.m4: Same. * aclocal.m4: Regenerate. * configure.in: Can't get enable_abi_check to yes unless native. * configure: Regenerate. 2003-06-13 Paolo Carlini * testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Split and fix for missing seeks between gets and puts into... * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: New. * testsuite/27_io/basic_filebuf/seekoff/char/4-io.cc: New. * testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Same, into... * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: New. * testsuite/27_io/basic_filebuf/seekpos/char/4-io.cc: New. * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Fix for missing seeks between gets and puts. * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Ditto. * testsuite/data/seekoff-1.tst: New. * testsuite/data/seekoff-2.tst: New. * testsuite/data/seekpos-1.tst: New. * testsuite/data/seekpos-2.tst: New. 2003-06-13 Nathan C. Myers Avoid multi-processor bus contention on increment/decrement-and- test of the reference count in the empty-string object, by comparing addresses first, and never touching the reference count of the empty- string object. * include/bits/basic_string.h: (_S_empty_rep_storage): Move into basic_string<>::_Rep for use by its members. (_Rep::_S_empty_rep()): New accessor. (_Rep::_M_length, _Rep::_M_capacity, _Rep::_M_references): Move to a base class _Rep_base. (_Rep::_M_dispose, _Rep::_M_refcopy): Check for the empty string. (basic_string()): Change to use _M_refdata() in place of _M_refcopy(), since no longer must increment its refcount. * include/bits/basic_string.tcc: (_Rep::_M_destroy, _M_leak_hard): Check for the empty string and return immediately. The former might be unnecessary. The latter prevents begin() and end() from cloning it unnecessarily. (_S_construct(_InIterator, _InIterator, const _Alloc&, input_iterator_tag), _S_construct(_InIterator, _InIterator, const _Alloc&, forward_iterator_tag), _S_construct(size_type, _CharT, const _Alloc&)): Change to use _M_refdata() in place of _M_refcopy(). (_M_mutate): Check for the empty string and treat it as shared. This is necessary here because _M_mutate is sometimes called with all-zero arguments; in all other uses of _M_is_shared, the test comes out right anyhow. 2003-06-12 Benjamin Kosnik * src/allocator-inst.cc: Explicitly instantiate. * include/ext/pool_allocator.h: Inhibit implicit instantiations. Tweaks. * config/linker-map.gnu: Add __pool_alloc bits. Tweaks. 2003-06-11 Benjamin Kosnik * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Simplify. * aclocal.m4: Regenerate. * Makefile.am (SUBDIRS): Remove libio. * Makefile.in: Regenerate. * configure.in: Same. * configure: Regenerate. * config/io/basic_file_libio.cc: Remove. * config/io/basic_file_libio.h: Remove. * config/io/c_io_libio_codecvt.c: Remove. * config/io/c_io_libio.h: Remove. * libio/*: Remove. * src/Makefile.am: Same. * src/Makefile.in: Regenerate. * docs/html/configopts.html: Edits. * docs/html/explanations.html: Edits. 2003-06-11 Benjamin Kosnik * include/bits/stl_alloc.h (__debug_alloc): Move out. (__malloc_alloc): Same. (__pool_alloc): Same. (__new_alloc): Same. Rename to.. * include/bits/allocator.h: ...this. * include/bits/stl_deque.h: Modify comment. * include/bits/stl_tree.h: Modify include. * include/std/std_memory.h: Same. * include/ext/rope: Same. * include/ext/slist: Same. * include/std/std_vector.h: Same. * include/std/std_stack.h: Same. * include/std/std_queue.h: Same. * include/std/std_list.h: Same. * include/std/std_deque.h: Same. * include/backward/alloc.h: Same. * include/ext/debug_allocator.h: New. * include/ext/malloc_allocator.h: New. * include/ext/pool_allocator.h: New. * include/ext/new_allocator.h: New. * include/bits/pthread_allocimpl.h: Remove. * include/bits/stl_pthread_alloc.h: Remove. * include/Makefile.am (ext_headers): Add. * include/Makefile.in: Regenerate. * src/stl-inst.cc: Use __gnu_cxx namespace. * src/stl-inst.cc: Move to... * src/allocator-inst.cc: Here. * src/Makefile.am (sources): Update. * src/Makefile.in: Regenerate. * config/linker-map.gnu: Remove __pool_alloc bits. * testsuite/ext/headers.cc: Add. * testsuite/ext/allocators.cc: Fixup. 2003-06-11 Stefan Olsson Ola Rönnerup * include/Makefile.am (ext_headers): Add. * include/Makefile.in: Regenerate. * include/ext/mt_allocator.h: New file. 2003-06-10 Paolo Carlini * include/bits/fstream.tcc (close): Clean up a bit. * include/bits/streambuf.tcc (sbumpc): Clean up a bit. * include/std/std_fstream.h (_M_destroy_pback): _M_pback_cur_save - the saved _M_in_cur, that is - cannot be null. (sync): Constify a variable. * include/std/std_streambuf.h: Tweak a comment. (in_avail): Constify a variable. 2003-06-10 Phil Edwards * docs/html/17_intro/BUGS: Update from 2.90.8 snapshot. * docs/html/17_intro/CHECKLIST: Bring up to date with respect to correctness of container::iterator typedefs. Fix whitespace. * docs/html/20_util/howto.html, docs/html/ext/howto.html: Add links to allocator docs. * docs/html/documentation.html: Regenerate. * include/bits/basic_string.h, include/bits/basic_string.tcc, include/bits/deque.tcc, include/bits/list.tcc, include/bits/stl_algo.h, include/bits/stl_algobase.h, include/bits/stl_bvector.h, include/bits/stl_deque.h, include/bits/stl_iterator_base_funcs.h, include/bits/stl_list.h, include/bits/stl_uninitialized.h, include/bits/stl_vector.h, include/bits/vector.tcc, include/ext/algorithm, include/ext/slist, include/std/std_bitset.h: Change _Iter names to _Iterator, and __pos to __position. * include/bits/stl_relops.h, include/bits/stl_numeric.h, include/bits/stl_multiset.h, include/bits/stl_set.h: Remove emacs markers. * include/bits/stl_threads.h (_STL_auto_lock): Add __unused__. 2003-06-10 Paolo Carlini * include/bits/fstream.tcc (overflow): According to 27.5.2.4.5, overflow() returns not_eof(eof()). * testsuite/27_io/basic_filebuf/overflow/char/2.cc: New. * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Ditto. 2003-06-10 Paolo Carlini * include/bits/fstream.tcc (_M_underflow): Check overflow return value; tweak slightly. 2003-06-09 Paolo Carlini * include/bits/fstream.tcc (_M_underflow): Do not special case the unbuffered case, which really means simply a one char get area. (basic_filebuf): Initialize _M_buf_size. (setbuf): Unbuffered means _M_buf_size == 1, since only _M_buf_size - 1 == 0 chars are going to be used for the put area and 1 for the get area. * include/std/std_streambuf.h (_M_buf_size): Move to basic_filebuf. (~basic_streambuf): Tweak. (basic_streambuf): Do not initialize _M_buf_size. * include/std/std_fstream.h (_M_buf_size): Add from basic_streambuf. (~basic_filebuf): Tweak. (_M_set_buffer): Tweak, considering that _M_buf_size == 1 is the unbuffered situation (i.e., put area pointers NULL). * include/bits/streambuf.tcc (sbumpc): Clean up. * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Split into... * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: New. * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: New. * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: New. * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: New. * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: New. * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: New. 2003-06-09 Phil Edwards * acinclude.m4: Move all AM_CONDITIONAL calls out. (GLIBCPP_CONFIGURE): Set defaults for variables used in AM_CONDITIONAL statements. * configure.in: Centralize AM_CONDITIONALs so that they are always run. Make use of GLIBCPP_IS_CROSS_COMPILING. * aclocal.m4, configure: Regenerated. 2003-06-09 Paolo Carlini * docs/html/ext/howto.html ('LWG Issues'): Add issue 235. 2003-06-06 Nathan Myers * include/bits/stl_iterator.h (reverse_iterator::reverse_iterator()): Apply DR235: default constructor default-initializes data member. Instantiated on a pointer type, the member has to end up equal to zero. 2003-06-06 Benjamin Kosnik * include/bits/stl_alloc.h: Cleanups. * include/ext/functional: Same. * include/ext/hash_map: Same. * include/ext/hash_set: Same. * include/ext/iterator: Same. * include/ext/memory: Same. * include/ext/numeric: Same. * include/ext/rb_tree: Same. * include/ext/ropeimpl.h: Same. * include/ext/slist: Same. * include/ext/stdio_filebuf.h: Same. * include/ext/stdio_sync_filebuf.h: Same. * include/ext/stl_rope.h: Move to... * include/ext/rope: ...here. * include/ext/stl_hash_fun.h: Move to... * include/ext/hash_fun.h: ...here. * include/ext/stl_hashtable.h: Move to... * include/ext/hashtable.h: ...here. * include/backward/hashtable.h: Reflect new names. * include/Makefile.am: Same. * include/Makefile.in: Regenerated. 2003-06-05 Benjamin Kosnik PR libstdc++/9024 * include/bits/fstream.tcc (_M_underflow): Fix for unbuffered. * include/bits/stl_algobase.h: Tweak. * include/std/std_fstream.h: Move _M_buf_size to... * include/std/std_streambuf.h: ...here. Modify. * include/bits/streambuf.tcc: Same. * testsuite/testsuite_hooks.h: Tweak. * testsuite/testsuite_io.h (constraint_filebuf): New. * testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Split into... * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: New. * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: New. * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: New. * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: New. * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: New. * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: New. * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Split into... * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: New. * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: New. * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: New. * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: New. * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: New. * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: New. * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Split into... * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: New. * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: New. * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: New. * testsuite/27_io/basic_filebuf/sgetn/char/2.cc: Split into... * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: New. * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: New. * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: New. * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: New. * testsuite/27_io/basic_filebuf/snextc/char/1.cc: Split into... * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: New. * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: New. * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: New. * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: New. * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: New. * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: New. * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Split into... * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: New. * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: New. * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: New. * testsuite/27_io/basic_filebuf/sputc/char/2.cc: Split into... * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: New. * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: New. * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: New. * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Split into... * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: New. * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: New. * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: New. * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: New. * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: New. * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: New. * testsuite/data/sgetc.txt: New. * testsuite/data/sgetn.txt: New. 2003-06-05 Paolo Carlini PR libstdc++/11095 * include/bits/istream.tcc (operator>>(basic_istream&, _CharT*)): Deal with width() smaller than zero. * include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT), operator<<(basic_ostream&, char), operator<<(basic_ostream&, const _CharT*), operator<<(basic_ostream<_CharT, _Traits>&, const char*), operator<<(basic_ostream&, const char*), operator<<(basic_ostream, const basic_string&)): Likewise. * testsuite/27_io/basic_istream/extractors_character/char/ (11095-i.cc, 11095-oa.cc, 11095-ob.cc, 11095-oc.cc): New. * testsuite/27_io/basic_ostream/inserters_character/char/ (11095-oa.cc, 11095-ob.cc, 11095-oc.cc): New. * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ (11095-od.cc, 11095-oe.cc, 11095-of.cc): New. 2003-06-05 Rainer Orth * acinclude.m4 (GLIBCPP_CHECK_PCH): Only set glibcpp_PCHFLAGS if .gch compilation works. * aclocal.m4, configure: Regenerate. * testsuite_flags.in (--build-cxx): Use glibcpp_PCHFLAGS to initialize PCHFLAGS. 2003-06-04 Paolo Carlini * include/bits/basic_string.h (_M_fold, insert(iterator, _CharT), erase(iterator), erase(iterator, iterator), c_str, compare(const basic_string&)): Constify various variables. * include/bits/basic_string.tcc (_S_construct(_InIter, _InIter, const _Alloc&, input_iterator_tag), _M_destroy, _M_mutate, _S_create, resize, _M_replace, _M_replace_safe, append(const basic_string&), append(const basic_string&, size_type, size_type), append(const _CharT*, size_type), append(size_type, _CharT), operator+(const _CharT*, const basic_string&), operator+(_CharT, const basic_string&), replace(iterator, iterator, size_type, _CharT), find(const _CharT*, size_type, size_type), find(_CharT, size_type), rfind(const _CharT*, size_type, size_type), rfind(_CharT, size_type), compare(size_type, size_type, const basic_string&), compare(size_type, size_type, const basic_string&, size_type, size_type), compare(const _CharT*), compare(size_type, size_type, const _CharT*), compare(size_type, size_type, const _CharT*, size_type)): Likewise. 2003-06-03 Benjamin Kosnik * include/bits/fstream.tcc (pbackfail): Make a rarely taken 'if' branch less obscure. 2003-06-02 Andrew Pinski PR libstdc++/9815 * config/cpu/i386/atomicity.h (__exchange_and_add): add intel asm case to asm. * config/cpu/i486/atomicity.h (__exchange_and_add): Likewise. (__atomic_add): likewise. 2003-06-02 Paolo Carlini * include/bits/sstream.tcc (pbackfail): Minor clean up and reformatting, consistent with basic_filebuf::pbackfail. 2003-06-02 Richard Kreckel PR libstdc++/11062 * config/cpu/mips/atomicity.h: Change __attribute__ ((unused)) to __attribute__ ((__unused__)). * config/os/aix/atomicity.h: Likewise. 2003-06-02 Paolo Carlini PR libstdc++/9761 * include/bits/fstream.tcc (pbackfail): If the pback buffer is already active don't try to store in it a second char. * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: New. * include/bits/fstream.tcc (pbackfail): Add unbuffered bits. 2003-06-02 Paolo Carlini * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Tweak line spacing. 2003-06-02 Paolo Carlini * include/std/std_fstream.h (_M_destroy_pback): Use _M_in_beg instead of unnecessarily taking the address of _M_pback. (xsgetn): Simplify slightly for a single char pback buffer. 2003-06-02 Paolo Carlini * include/bits/sstream.tcc (seekoff): Remove four unnecessary variables and two 'if', clean up. 2003-06-02 Paolo Carlini * include/bits/sstream.tcc (seekpos): Test against _M_out_lim not _M_out_end, since the former actually points to the string end (vs buffer end). * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: New. 2003-05-30 Phil Edwards * docs/doxygen/filter: New file. * docs/doxygen/filter.sed: New file. * docs/doxygen/run_doxygen: Add g flag to sed substitutions. Duh. * docs/doxygen/user.cfg.in (INPUT_FILTER): Point to new filter. * docs/html/documentation.html: Fix links to doxygen pages. 2003-05-30 Paolo Carlini * include/bits/fstream.tcc (_M_convert_to_external): Don't check for __ilen > 0. 2003-05-29 Sylvain Pion PR libstdc++/10783 * include/bits/stl_iterator.h (class __normal_iterator): Don't inherit from iterator, add missing typedefs. 2003-05-29 Paolo Carlini * testsuite/24_iterators/reverse_iterator.cc: Split up, as follows. * testsuite/24_iterators/reverse_iterator/1.cc: New. * testsuite/24_iterators/reverse_iterator/2.cc: New. * testsuite/24_iterators/reverse_iterator/3.cc: New, from PR libstdc++/10783. 2003-05-27 Steve Ellcey * config/os/hpux/os_defines.h: Define _LIBUNWIND_STD_ABI if we are on IA64 HP-UX. * libsupc++/eh_throw.cc: Don't call _Unwind_Resume_or_Rethrow if _LIBUNWIND_STD_ABI is set. 2003-05-26 Brendan Kehoe * include/bits/locale_facets.tcc (do_get): Honor $22.2.6.3.3/8 and make sure the number of digits required after the decimal-point (if any) is exactly the value returned by frac_digits(). * testsuite/22_locale/money_get/get/char/9.cc: New. * testsuite/22_locale/money_get/get/wchar_t/9.cc: New. 2003-05-27 Jonathan Wakely * include/std/std_istream.h, include/std/std_ostream.h: Typo in comment. 2003-05-26 Benjamin Kosnik PR libstdc++/9339 * include/std/std_fstream.h (basic_filebuf::_M_overflow): Remove. (_M_pback): No array necessary. * include/bits/fstream.tcc (basic_filebuf::_M_overflow): Add unbuffered case, coalesec into ... (basic_filebuf::overflow): ...this. * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: New. * testsuite/27_io/basic_filebuf/sputc/char/2.cc: Unbuffered. 2003-05-24 Nathanael Nerode * libsupc++/Makefile.am, libsupc++/cxxabi.h, libsupc++/del_op.cc, libsupc++/del_opnt.cc, libsupc++/del_opv.cc, libsupc++/del_opvnt.cc, libsupc++/eh_alloc.cc, libsupc++/eh_aux_runtime.cc, libsupc++/eh_catch.cc, libsupc++/eh_exception.cc, libsupc++/eh_globals.cc, libsupc++/eh_personality.cc, libsupc++/eh_term_handler.cc, libsupc++/eh_terminate.cc, libsupc++/eh_throw.cc, libsupc++/eh_type.cc, libsupc++/eh_unex_handler.cc, libsupc++/exception, libsupc++/new, libsupc++/new_handler.cc, libsupc++/new_op.cc, libsupc++/new_opnt.cc, libsupc++/new_opv.cc, libsupc++/new_opvnt.cc, libsupc++/pure.cc, libsupc++/tinfo.cc, libsupc++/tinfo2.cc, libsupc++/typeinfo, libsupc++/unwind-cxx.h, libsupc++/vec.cc: Replace "GNU CC" with "GCC". * include/backward/new.h: Replace "GNU CC" with "GCC". 2003-05-22 Benjamin Kosnik PR libstdc++/3066. * configure.in: Switch target to host, don't assume newlib. (target_alias): Remove. * configure: Regenerate. * acinclude.m4: Same. * aclocal.m4: Regenerate. * configure.target: Same. Rename to... * configure.host: This. 2003-05-22 Paolo Carlini * include/std/std_fstream.h (_S_pback_size): Remove definition. (_M_create_pback(), _M_destroy_pback()): Simplify for a single-char pback buffer. * include/bits/fstream.tcc (_S_pback_size): Remove declaration. * testsuite/27_io/basic_filebuf/3.cc: Remove explicit instantiation of _S_pback_size for systems with no COMDAT or weak support. * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/10096.cc: Likewise. * testsuite/27_io/basic_fstream/3.cc: Likewise. * testsuite/27_io/basic_ifstream/3.cc: Likewise. * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Likewise. * testsuite/27_io/basic_ofstream/3.cc: Likewise. * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Likewise. * testsuite/27_io/basic_streambuf/3.cc: Likewise. 2003-05-22 Paolo Carlini * include/bits/fstream.tcc (_M_underflow): Simplify: !__testout implies _M_filepos == _M_in_end, therefore the first _M_file.seekoff call is never issued. 2003-05-22 Benjamin Kosnik * configure.in: Sort cross table. * configure: Regenerate. 2003-05-22 Brad Spencer PR libstdc++/10106 * configure.in: Add Solaris cross bits. 2003-05-21 Danny Smith * libstdc++-v3/config/os/mingw32/os_defines.h (__GTHREAD_HIDE_WIN32API): Define to 1 by defualt. (NOMINMAX): Define. Update copyright year. 2003-05-21 Paolo Carlini * include/std/std_fstream.h (_M_set_buffer): Fix indentation. 2003-05-21 Jonathan Wakely * docs/html/faq/index.html: Fix typo. * docs/html/faq/index.txt: Regenerate. 2003-05-21 Jonathan Wakely * docs/html/test.html: Fix markup. 2003-05-21 Danny Smith * libmath/stubs.c (hypot, hypotf, hypotl): Don't divide by zero. Update copyright year. 2003-05-20 Paolo Carlini * testsuite/27_io/basic_filebuf/close/char/4.cc: Fix typo. 2003-05-20 Paolo Carlini * testsuite/27_io/basic_filebuf/close/char/5.cc: New file, further testing that upon filebuf::close() 27.8.1.1,3 is enforced. 2003-05-20 Gerald Pfeifer * include/bits/stl_alloc.h (__default_alloc_template::_S_chunk_alloc): Cast via void* to avoid -Wcast-align warnings. (__default_alloc_template::_S_refill): Likewise. 2003-05-20 Benjamin Kosnik * testsuite/README: Move to... * docs/html/test.html: ...here. Add documentation. * docs/html/install.html: Move testing bits out.. * docs/html/documentation.html: Add separate testing link. * testsuite/performance: Add. * testsuite/performance/allocator.cc: New. * testsuite/performance/complex_norm.cc: New. * testsuite/performance/cout_insert_int.cc: New. * testsuite/performance/fstream_seek_write.cc: New. * testsuite/performance/ifstream_getline.cc: New. * testsuite/performance/map_create_fill.cc: New. * testsuite/performance/ofstream_insert_float.cc: New. * testsuite/performance/ofstream_insert_int.cc: New. * testsuite/performance/string_append.cc: New. * testsuite/lib/libstdc++-v3-dg.exp (v3-compute-tests): Filter performance tests. 2003-05-20 Gabriel Dos Reis PR libstdc++/10689 * include/std/std_complex.h (pow): Tidy. 2003-05-19 Paolo Carlini * testsuite/27_io/basic_filebuf/close/char/4.cc: New file, testing that upon filebuf::close() 27.8.1.1,3 is enforced. 2003-05-15 Loren J. Rittle * testsuite/thread/pthread4.cc: Further tweak to avoid fini race. 2003-05-15 Paolo Carlini Nathan Myers * include/bits/fstream.tcc (_M_overflow): Rewrote to call _M_convert_to_external only once (_M_buf_size is now the size of the put area + 1 for the overflow char of a full area); call _M_set_buffer instead of _M_set_indeterminate. (setbuf): Don't accept a buffer smaller than 2 chars. (_M_underflow): Refill _M_buf_size - 1 chars; call _M_set_buffer, instead of _M_set_determinate. (open): Call _M_set_buffer, instead of _M_set_indeterminate. (seekoff): Likewise. * include/ext/stdio_filebuf.h (stdio_filebuf(int, std::ios_base::openmode, bool, size_t), stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t): Likewise. * include/std/std_fstream.h (_M_set_indeterminate): Remove. (_M_set_determinate): Rename as _M_set_buffer, _M_buf_size -> _M_buf_size - 1. * include/std/std_streambuf.h: Tweak _M_out_lim comment. * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Tweak, taking into account that, for _M_buf_size == BUFSIZ == 8192, the size of the put area is now BUFSIZ - 1. * testsuite/ext/stdio_filebuf_2.cc: Tweak, taking into account that now the smallest _M_buf_size is 2 (still fails, for the same reason, with 3.2.3) 2003-05-14 Loren J. Rittle * testsuite/thread/pthread4.cc: Tweak test. 2003-05-13 Benjamin Kosnik * testsuite/27_io/ios_base/cons/copy_neg.cc: Remove excess errors dg marker, use dg-errors instead. * testsuite/27_io/ios_base/cons/assign_neg.cc: Same. * testsuite/20_util/auto_ptr_neg.cc: Same. 2003-05-12 Benjamin Kosnik * include/std/std_fstream.h (basic_filebuf::_M_codecvt): Add cached member. * include/bits/fstream.tcc (basic_filebuf::basic_filebuf): Initialize _M_codecvt. (basic_filebuf::imbue): Same. (basic_filebuf::showmanyc): Use it. (basic_filebuf::underflow): Use it. (basic_filebuf::_M_convert_to_external): Use it. (basic_filebuf::seekoff): Use it. (basic_filebuf::imbue): Use it, tweaks. * include/bits/localefwd.h (__check_facet): New. * include/bits/locale_classes.h: Tweaks. * include/bits/locale_facets.tcc: Tweaks. * include/bits/basic_ios.h (basic_ios::_M_check_facet): Remove. _M_fctype to _M_ctype, _M_fnumput to _M_num_put, _M_fnumget to _M_num_get. Change _M_check_facet to __check_facet. Tweaks. * include/bits/basic_ios.tcc: Same. * include/bits/istream.tcc: Same. * include/bits/ostream.tcc: Same. * include/std/std_streambuf.h: Same. * testsuite/27_io/basic_filebuf/imbue/char/2.cc: New. * testsuite/27_io/basic_filebuf/imbue/char/3.cc: New. * testsuite/27_io/basic_filebuf/imbue/wchar_t/1.cc: New. * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: New. * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: New. * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: New. 2003-05-12 Paolo Carlini * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Remove unnecessary includes and unused string literals. * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise. 2003-05-12 Benjamin Kosnik * include/bits/fstream.tcc (_M_overflow): Remove unbuffered bits. 2003-05-12 Paolo Carlini * include/std/std_fstream.h (_M_convert_to_external): Change to return bool, take two less streamsize parameters. * include/bits/fstream.tcc (_M_convert_to_external): Tweak consistently definition. (_M_overflow): Adjust call points. 2003-05-12 Benjamin Kosnik * testsuite/27_io/basic_filebuf/underflow/10096.cc: Add weak bits. 2003-05-11 Phil Edwards * testsuite/Makefile.am: Properly quote /both/ LD_RUN_PATHs. * testsuite/Makefile.in: Regenerate. 2003-05-11 Phil Edwards * testsuite/Makefile.am: Properly quote LD_RUN_PATH. * testsuite/Makefile.in: Regenerate. 2003-05-11 Gabriel Dos Reis PR libstdc++/3181 * include/c_std/std_cmath.h: #include (acos): Handle integer argument. (asin): Likewise. (atan): Likewise. (atan2): Likewise. (ceil): Likewise. (cos): Likewise. (cosh): Likewise. (exp): Likewise. (fabs): Likewise. (floor): Likewise. (frexp): Likewise. (ldexp): Likewise. (log): Likewise. (log10): Likewise. (sin): Likewise. (sinh): Likewise. (sqrt): Likewise. (tan): Likewise. (tanh): Likewise. * include/bits/cpp_type_traits.h (__are_same<>): New traits. (__enable_if): Likewise. * testsuite/26_numerics/cmath/overloads.C: New test. 2003-05-10 Petur Runolfsson PR libstdc++/9027 PR libstdc++/9520 PR libstdc++/10096 * include/bits/fstream.tcc (basic_file::_M_underflow): Add generic implementation, based on old wchar_t specialization, add support for codecvt::in() return value of codecvt_base::noconv, remove _M_file.sys_ungetc() call. * include/std/std_fstream.h (basic_file::underflow, basic_file::uflow, basic_file::_M_underflow): Remove specialization declarations, call _M_underflow from generic versions of underflow and uflow. * src/fstream.cc (basic_file::underflow, basic_file::uflow, basic_file::_M_underflow): Remove specializations. * src/Makefile.am (sources): Remove fstream.cc. * src/Makefile.in: Regenerated. * testsuite/27_io/basic_filebuf/underflow/10096.cc: New test. * testsuite/27_io/basic_filebuf/underflow/char/1.cc: New test. * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: New test. * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: New test. 2003-05-10 Benjamin Kosnik * include/ext/stdio_filebuf.h (__stdio_filebuf): Remove stack buffer. * config/io/basic_file_stdio.h (__basic_file::xsgetn): Remove unbuffered bits. (__basic_file::xsputn): Same. (__basic_file::seekoff): Same. (__basic_file::seekpos): Same. (__basic_file::showmanyc): Same. * config/io/basic_file_stdio.cc: Same. * include/std/std_fstream.h: Same. * include/bits/fstream.tcc: Same. * src/fstream.cc: Same. * testsuite/27_io/basic_filebuf/sgetn/char/1.cc (test05): Tidy. 2003-05-10 Petur Runolfsson PR libstdc++/9520 PR libstdc++/9661 PR libstdc++/9662 * include/ext/stdio_sync_filebuf.h: New file. (basic_stdiobuf): New. * include/Makefile.am (ext_headers): Add ext/stdio_sync_filebuf.h * include/Makefile.in: Regenerate. * include/bits/ios_base.h (Init::_S_create_buffers, Init::_S_destroy_buffers): Remove declarations. * src/globals.cc (buf_cout_sync, buf_cin_sync, buf_cerr_sync, buf_wcout_sync, buf_wcin_sync, buf_wcerr_sync): Define. * src/ios.cc (Init::_S_create_buffers, Init::_S_destroy_buffers): Remove. (Init::Init): Create and use syncronized buffers. (ios_base::sync_with_stdio): Destroy syncronized buffers, create and install unsyncronized buffers. * testsuite/27_io/objects/char/10.cc: New test. * testsuite/27_io/objects/char/9.cc: New test. * testsuite/27_io/objects/char/9661-1.cc: New test. * testsuite/27_io/objects/char/9661-2_xin.cc: New test. * testsuite/27_io/objects/char/9661-2_xin.in: New. * testsuite/27_io/objects/wchar_t/1.cc: New test. * testsuite/27_io/objects/wchar_t/10.cc: New test. * testsuite/27_io/objects/wchar_t/2.cc: New test. * testsuite/27_io/objects/wchar_t/2523-1_xin.cc: New test. * testsuite/27_io/objects/wchar_t/2523-1_xin.in: New. * testsuite/27_io/objects/wchar_t/2523-2_xin.cc: New test. * testsuite/27_io/objects/wchar_t/2523-2_xin.in: New. * testsuite/27_io/objects/wchar_t/3045.cc: New test. * testsuite/27_io/objects/wchar_t/3647.cc: New test. * testsuite/27_io/objects/wchar_t/3_xin.cc: New test. * testsuite/27_io/objects/wchar_t/3_xin.in: New. * testsuite/27_io/objects/wchar_t/4_xin.cc: New test. * testsuite/27_io/objects/wchar_t/4_xin.in: New. * testsuite/27_io/objects/wchar_t/5.cc: New test. * testsuite/27_io/objects/wchar_t/5268.cc: New test. * testsuite/27_io/objects/wchar_t/5280_xin.cc: New test. * testsuite/27_io/objects/wchar_t/5280_xin.in: New. * testsuite/27_io/objects/wchar_t/6.cc: New test. * testsuite/27_io/objects/wchar_t/6548_xin.cc: New test. * testsuite/27_io/objects/wchar_t/6548_xin.in: New. * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: New test. * testsuite/27_io/objects/wchar_t/6648-1_xin.in: New. * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: New test. * testsuite/27_io/objects/wchar_t/6648-2_xin.in: New. * testsuite/27_io/objects/wchar_t/7.cc: New test. * testsuite/27_io/objects/wchar_t/7744_xin.cc: New test. * testsuite/27_io/objects/wchar_t/7744_xin.in: New. * testsuite/27_io/objects/wchar_t/8.cc: New test. * testsuite/27_io/objects/wchar_t/9_xin.cc: New test. * testsuite/27_io/objects/wchar_t/9_xin.in: New. * testsuite/27_io/objects/wchar_t/9520.cc: New test. * testsuite/27_io/objects/wchar_t/9661-1.cc: New test. * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: New test. * testsuite/27_io/objects/wchar_t/9661-2_xin.in: New. * testsuite/27_io/objects/wchar_t/9662.cc: New test. * testsuite/ext/stdiobuf_char.cc: New test. * testsuite/ext/stdiobuf_wchar_t.cc: New test. 2003-05-10 Paolo Carlini * testsuite/27_io/basic_filebuf/close/char/3.cc: Remove unnecessary includes and unused string literals. * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise. 2003-05-08 Paolo Carlini * include/std/std_streambuf.h (setg, setp): Don't touch _M_mode. 2003-05-07 Richard Henderson PR c++/10570 * libsupc++/eh_catch.cc (__cxa_begin_catch): Handle foreign exceptions. (__cxa_end_catch): Likewise. * libsupc++/eh_throw.cc (__cxa_rethrow): Likewise. Use _Unwind_Resume_or_Rethrow. * libsupc++/eh_personality.cc (empty_exception_spec): New. (PERSONALITY_FUNCTION): Don't ignore terminate or catch-all for _UA_FORCE_UNWIND. Honor empty filter spec for foreign exceptions. Don't push terminate/unexpected to cxa functions. (__cxa_call_unexpected): Remove foreign exception fixmes. 2003-05-07 Benjamin Kosnik * testsuite/27_io/ios_base/cons: New. * testsuite/27_io/ios_base/cons/assign_neg.cc: New. * testsuite/27_io/ios_base/cons/copy_neg.cc: New. 2003-05-07 Paolo Carlini * include/std/std_fstream.h (_M_is_indeterminate): Remove. * src/fstream.cc (basic_filebuf::_M_underflow): Simplify: either there is no buffer or __testget == !__testinit. * src/fstream.cc (basic_filebuf::_M_underflow): _M_set_determinate() automatically sets, if appropriate, _M_out_cur == _M_in_cur. * include/std/std_fstream.h (_M_destroy_pback): Don't set unnecessarily _M_pback_cur_save and _M_pback_end_save. * include/std/std_fstream.h (_M_set_determinate): Minor tweak. * include/std/std_sstream.h (_M_sync): Minor tweak. * include/bits/fstream.tcc (close): No need to call _M_destroy_pback, setting _M_pback_init to false suffices to clean up. 2003-05-06 Benjamin Kosnik * include/bits/stl_algo.h: Enums as _S_. * include/bits/stl_tree.h: Same. * include/bits/stl_bvector.h: Same. * include/bits/ios_base.h: Same. * include/bits/stl_alloc.h: Same. * include/ext/stl_hashtable.h: Same. * src/ios.cc: And here. * include/std/std_sstream.h: Replace _M_really_sync to _M_sync. * include/bits/sstream.tcc: Same. * include/bits/basic_ios.h: Correct spacing for '< ctype'. * include/bits/locale_facets.tcc: Replace __temp to __tmp. * include/bits/locale_facets.h (__num_base): Remove protected. Use _S_[io]* names for enumerations. (_S_format_int): Remove. * include/bits/locale_facets.tcc: Same. * src/locale.cc: Same. * include/std/std_sstream.h (stringbuf::str): Tweak formatting. 2003-05-06 Phil Edwards * docs/html/faq/index.html (3.10): Add note about mips atomicity.h. * docs/html/faq/index.txt: Regenerated. 2003-05-06 Michael Ritzert Matt Kraai * include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): Tweak. And retweak. 2003-05-06 Richard Sandiford * configure.target (mips*): Use the generic atomicity.h by default. 2003-05-05 Loren J. Rittle (Inspired by an alternate patch from Danny Smith.) * include/bits/stl_threads.h (_Atomic_swap): Kill it... (_Swap_lock_struct<>): ...and the horse it rode in on. * src/globals.cc (_Swap_lock_struct<>): Likewise. * include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): New member to support... * include/ext/ropeimpl.h (rope<>::c_str): Follow *all* memory visibility rules related to POSIX threads. * testsuite/thread/pthread7-rope.cc: New test. 2003-05-04 Paolo Carlini * testsuite/21_strings/basic_string/find/char/3.cc: New file, testing basic_string::find_first_not_of. * testsuite/21_strings/basic_string/find/wchar_t/3.cc: Likewise for basic_string. 2003-05-03 Loren J. Rittle * testsuite/thread/pthread1.cc: Remove special case for FreeBSD. 2003-05-02 Benjamin Kosnik * include/Makefile.am (CLEANFILES): Remove PCH files in target directory. * include/Makefile.in: Regenerate. 2003-05-02 Paolo Carlini * include/std/std_sstream.h (str()): Tidy. 2003-05-02 Nathan Myers Paolo Carlini * include/bits/streambuf.tcc (__copy_streambufs): Rewrote. 2003-05-02 Jonathan Wakely * include/bits/basic_string.h (swap): Remove redundant template parameters from declaration of non-template member function. 2003-05-01 Phil Edwards * acconfig.h (_GLIBCPP_USE_NLS): New symbol. * configure.in: Move libintl.h header test... * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): ...to here. Gather all the NLS-related test results into one symbol. * src/functexcept.cc: Use it here. * aclocal.m4, config.h.in, configure: Regenerated. 2003-05-01 Paolo Carlini * include/bits/sstream.tcc (overflow): Instead of calling str(), then _M_string.reserve, thus copying the contents of the current buffer two times, just copy the latter in a temporary, then use the 'swap trick'. 2003-05-01 Paolo Carlini * include/std/std_sstream.h (str()): Revert the best of the previous 'improvement', incorrect due to the COW nature of v3 basic_string; simplify. 2003-05-01 Paolo Carlini * include/bits/streambuf.tcc (__copy_streambufs): Adjust the type of __avail to ptrdiff_t to avoid signed-unsigned warning. 2003-05-01 Benjamin Kosnik * testsuite/abi_check.cc (check_version): Update known versions. Check added symbols for version_name != base version. Add missing symbols to incompatible list. 2003-05-01 Benjamin Kosnik * acinclude.m4 (GLIBCPP_EXPORT_FLAGS): Remove -Winline. * aclocal.m4: Regenerated. * configure: Regenerated. 2003-05-01 Paolo Carlini * include/bits/streambuf.tcc (basic_streambuf::xsgetn): Const-ify some variables. (basic_streambuf::xsputn): Likewise; change the type of some variables to size_t. (__copy_streambufs): Change some variables to size_t. 2003-05-01 Paolo Carlini * include/std/std_sstream.h (str()): Avoid constructing a basic_string temporary not only when it would turn out to be zero-sized but also when identical to the current _M_string buffer. 2003-05-01 Paolo Carlini * include/ext/stdio_filebuf.h (stdio_filebuf(int, std::ios_base::openmode, bool, size_t), stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t)): Shorten a bit (-10 lines) by factoring out some code. 2003-04-30 Phil Edwards * acinclude.m4: Add bit missing from previous patch. * aclocal.m4, configure: Regenerated. 2003-04-29 Phil Edwards * docs/doxygen/mainpage.html: Bring up to date. * docs/doxygen/run_doxygen: Cosmetic tweaks. Work around a bug in Doxygen. * docs/doxygen/user.cfg.in: Scanning the precompiled headers breaks everything. Don't scan them. * docs/html/documentation.html: Point to "Write after approval" notes. 2003-04-29 Phil Edwards * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Search for gettext outside of libc if message translations are being used. Fix info text in xieee_1003.1-2001 case. * aclocal.m4, configure: Regenerate. 2003-04-29 Joel Sherrill Loren J. Rittle Martin v. Löwis * config/cpu/i386/atomicity.h: New file. 2003-04-29 Paolo Carlini * include/bits/fstream.tcc (open): Change to single return. 2003-04-29 Paolo Carlini * include/std/std_sstream.h (underflow): Change to single return. 2003-04-28 Paolo Carlini * include/std/std_streambuf.h (_M_buf): is currently used only for basic_filebuf, therefore move it there. (basic_streambuf(), ~basic_streambuf()): Adjust. * include/std/std_fstream.h (_M_buf): Moved here. * include/std/std_sstream.h (setbuf): Don't set _M_buf, is actually redundant for basic_stringbuf. (_M_really_sync): Likewise. * include/bits/fstream.tcc (basic_filebuf()): Adjust. * include/bits/sstream.tcc (seekoff): Adjust. 2003-04-28 Benjamin Kosnik * src/localename.cc: Standardize exception strings. * src/locale.cc: Same. * src/ios.cc: Same. * include/bits/basic_string.tcc: Same. * include/bits/basic_ios.tcc: Same. * include/std/std_bitset.h: Same. * include/ext/ropeimpl.h: Same. * include/bits/stl_vector.h: Same. * include/bits/stl_deque.h: Same. * include/bits/stl_bvector.h: Same. * config/locale/generic/c_locale.cc: Same. * config/locale/gnu/c_locale.cc: Same. * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same. * testsuite/testsuite_hooks.cc (__gnu_cxx_test): Modify. 2003-04-28 Paolo Carlini * include/std/std_streambuf.h (_M_buf_size): is currently used only for basic_filebuf, therefore move it there. (basic_streambuf(), ~basic_streambuf()): Adjust. * include/std/std_fstream.h (_M_buf_size): Moved here. * include/bits/fstream.tcc (basic_filebuf()): Adjust. 2003-04-28 Paolo Carlini * include/bits/streambuf.tcc (__copy_streambufs): Don't use _M_buf_size (synced input is now correctly dealt with elsewhere); when the output buffer is full don't fall back to a snextc-sputc loop, call overflow instead. 2003-04-28 Paolo Carlini * include/bits/sstream.tcc (pbackfail): Shorten a bit (6 lines) the innermost 'if' by factoring out some code. 2003-04-28 Phil Edwards * configure.in: Test for libintl.h. * include/bits/c++config: Define __N for everybody. * include/bits/basic_string.h, include/bits/stl_bvector.h, include/bits/stl_deque.h, include/bits/stl_vector.h, include/std/std_bitset.h: Wrap all __throw* text with __N. * po/Makefile.am (pot): New rule, mostly working. * src/functexcept.cc: Call gettext on all __throw* arguments when -fexceptions is in effect. * po/Makefile.in, config.h.in, configure: Regenerate. 2003-04-28 Petur Runolfsson PR libstdc++/9523 * include/bits/ios_base.h (Init::_S_ios_create, Init::_S_ios_destroy): Remove declarations. (Init::_S_create_buffers, Init::_S_destroy_buffers): Declare * src/ios.cc (Init::_S_ios_create): Remove (Init::_S_create_buffers): Create buffers and add to streams. (Init::_S_ios_destroy): Rename to... (Init::_S_destroy_buffers): this. (Init::Init): Only construct streams once. (Init::~Init): Flush streams, don't destroy them. (ios_base::sync_with_stdio): Don't destroy streams, only buffers. * testsuite/27_io/ios_base/sync_with_stdio/9523.cc: New test. * testsuite/27_io/objects/char/5.cc: New test. * testsuite/27_io/objects/char/5268.cc: Avoid undefined behavior. * testsuite/27_io/objects/char/6.cc: New test. * testsuite/27_io/objects/char/7.cc: New test. 2003-04-28 Benjamin Kosnik * testsuite/27_io/objects/char/8.cc: New test. 2003-04-28 Benjamin Kosnik * testsuite/22_locale/codecvt/unicode/char.cc: Remove bom usage. * testsuite/22_locale/codecvt/unicode/wchar_t.cc: Same. 2003-04-27 Benjamin Kosnik * include/std/std_fstream.h (basic_filebuf): _M_pback_destroy to _M_destroy_pback. _M_pback_create to _M_create_pback. _M_underflow_common to _M_underflow. _M_really_overflow to _M_overflow. * include/bits/fstream.tcc: Same. * src/fstream.cc: Same. * include/std/std_streambuf.h (basic_streambuf): _M_in_cur_move to _M_move_in_cur. _M_out_cur_move to _M_move_out_cur. * include/bits/streambuf.tcc: Same. * include/bits/fstream.tcc: Same. * include/bits/sstream.tcc: Same. 2003-04-27 Benjamin Kosnik * include/bits/locale_classes.h (locale::_Impl): Change _M_names from fixed size array. (locale): Change _S_categories as well. Formatting tweaks. * include/bits/locale_facets.tcc: Tweak. * config/locale/gnu/c_locale.cc: Assign _S_categories. * config/locale/generic/c_locale.cc: Same. * src/locale.cc: Tweak. * src/globals.cc: Change facet_name to name_vec, add names_c. * src/localename.cc: Use them. (locale::_Impl::~_Impl): Destroy _M_names. (locale::_Impl::_Impl): Create _M_names. 2003-04-27 Andreas Schwab * config/locale/ieee_1003.1-2001/codecvt_specializations.h (__enc_traits): Use __ibom and __ebom instead of ignoring them. 2003-04-27 Nathan Myers Move some basic_string members out of line because they are too big to reasonably be inline. * include/bits/basic_string.h (assign(const basic_string&, size_type, size_type), assign(const _CharT*, size_type), insert(size_type, const basic_string&, size_type, size_type), insert(size_type, const _CharT*, size_type), replace(size_type, size_type, const _CharT*, size_type)): Move from here to... * include/bits/basic_string.tcc: ...here. 2003-04-26 Paolo Carlini * include/bits/fstream.tcc (pbackfail): Shorten a bit (10 lines) the innermost 'if' by factoring out some code. 2003-04-26 Paolo Carlini * include/bits/streambuf.tcc (__copy_streambufs): Don't use in_avail(), simplify. 2003-04-26 Paolo Carlini * include/std/std_sstream.h (setbuf): don't set _M_buf_size, in basic_stringbuf it's unused. * include/std/std_sstream.h (underflow): consistently use _M_in_cur, not gptr(). 2003-04-25 Ranjit Mathew Phil Edwards * testsuite_flags.in: Guard against the possibility of having "xgcc" as a part of a folder name in the path to the GCC build folder. * testsuite/Makefile.am: Likewise. * testsuite/Makefile.in: Regenerated. 2003-04-25 Benjamin Kosnik PR libstdc++/10132 * include/std/std_fstream.h (basic_filebuf::is_open): Add throw() exception specifications. (basic_filebuf::close): Same. (basic_filebuf::_M_pback_destroy): Same. (basic_filebuf::_M_destroy_internal_buffer): Same. (basic_filebuf): Remove __res_type typedef. * src/fstream.cc: Same. * include/bits/fstream.tcc (basic_filebuf::_M_convert_to_external): Simplify. (basic_filebuf::seekoff): Use has_facet before use_facet. (basic_filebuf::close): Add exception specification of throw(). * testsuite/27_io/basic_filebuf/cons: New. * testsuite/27_io/basic_filebuf/cons/wchar_t: New. * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: New. * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: New. * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: New. 2003-04-25 Benjamin Kosnik * include/bits/locale_classes.h (locale::_S_extra_categories_size): Remove. * src/locale.cc: Remove _S_extra_categories_size. * src/localename.cc: Same. * config/locale/gnu/c_locale.cc: Same. * config/locale/generic/c_locale.cc: Same. 2003-04-24 Richard Sandiford * src/localename.cc (__gnu_cxx::facet_vec): Correct types. 2003-04-24 Phil Edwards * docs/html/17_intro/howto.html: Update some links. * docs/html/18_support/howto.html: Link doxygen numeric_limits notes. * docs/html/27_io/howto.html: Link doxygen stdio_filebuf notes. * docs/html/ext/howto.html: Link to demangler notes and API. * docs/html/faq/index.html: Remove trailing whitespace. (1.4, 2.4, 3.8, 4.1): Bring up to date. (5.6): Change to a bulleted list. * docs/html/faq/index.txt, docs/html/documentation.html, docs/html/17_intro/porting.html: Regenerate. 2003-04-23 Paolo Carlini * testsuite/27_io/basic_filebuf/3.cc: _S_pback_size now belongs to basic_filebuf. * testsuite/27_io/basic_fstream/3.cc: Likewise. * testsuite/27_io/basic_ifstream/3.cc: Likewise. * testsuite/27_io/basic_ios/3.cc: Remove _S_pback_size instantiation (now belongs to basic_filebuf). * testsuite/27_io/basic_iostream/3.cc: Likewise. * testsuite/27_io/basic_istream/3.cc: Likewise. * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: _S_pback_size now belongs to basic_filebuf. * testsuite/27_io/basic_istringstream/3.cc: Remove _S_pback_size instantiation (now belongs to basic_filebuf). * testsuite/27_io/basic_ofstream/3.cc: _S_pback_size now belongs to basic_filebuf. * testsuite/27_io/basic_ostream/3.cc: Remove _S_pback_size instantiation (now belongs to basic_filebuf). * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: _S_pback_size now belongs to basic_filebuf. * testsuite/27_io/basic_ostringstream/3.cc: Remove _S_pback_size instantiation (now belongs to basic_filebuf). * testsuite/27_io/basic_streambuf/3.cc: _S_pback_size now belongs to basic_filebuf. * testsuite/27_io/basic_stringbuf/3.cc: Remove _S_pback_size instantiation (now belongs to basic_filebuf). * testsuite/27_io/basic_stringstream/3.cc: Likewise. 2003-04-23 Benjamin Kosnik * configure.in: Move GLIBCPP_CHECK_PCH before native/cross conditions. * configure: Regenerated. 2003-04-23 Benjamin Kosnik * config/locale/generic/c_locale.h (__convert_from_v): Use attribute unused. 2003-04-23 Phil Edwards * docs/html/ext/howto.html ('LWG Issues'): Add issue 60, partial implementation only. * include/bits/istream.tcc (putback, unget, sync, tellg, seekg): Comment and change to comply with DR 60 and the effect on gcount(). * include/std/std_istream.h: Update comments. * testsuite/27_io/basic_istream/putback/char/1.cc (test01): Add comments about reasons for tests. Test sync() against gcount(). * testsuite/27_io/basic_istream/seekg/char/2.cc: New file, test for effect on gcount(). * testsuite/27_io/basic_istream/tellg/char/2.cc: New file, test for effect on gcount(). 2003-04-22 Loren J. Rittle * testsuite/27_io/basic_filebuf/close/char/9964.cc (test_07): Adjust timing. 2003-04-22 Paolo Carlini * include/std/std_streambuf.h (_S_pback_size, _M_pback, _M_pback_cur_save, _M_pback_end_save, _M_pback_init, _M_pback_create(), _M_pback_destroy()): Move to basic_filebuf. (basic_streambuf::basic_streambuf()): Adjust. * include/std/std_fstream.h (_S_pback_size, _M_pback, _M_pback_cur_save, _M_pback_end_save, _M_pback_init, _M_pback_create(), _M_pback_destroy()): Moved here from basic_streambuf. * include/bits/fstream.tcc (basic_filebuf::basic_filebuf()): Adjust. (basic_filebuf::_S_pback_size): Add declaration. * include/bits/streambuf.tcc (basic_streambuf::_S_pback_size): Remove declaration. 2003-04-21 Paolo Carlini Consistently use _M_in_beg instead of eback(), _M_in_cur instead of gptr(), and so on. * include/bits/fstream.tcc (pbackfail, imbue): Here. * include/bits/sstream.tcc (pbackfail, seekoff, seekpos): Ditto. * include/bits/streambuf.tcc (sbumpc, sputbackc, __copy_streambufs): Ditto. * include/std/std_streambuf.h (sgetc): Ditto. 2003-04-21 Paolo Carlini * include/bits/sstream.tcc (pbackfail, overflow): Formatting fixes. 2003-04-21 Paolo Carlini * include/std/std_streambuf.h (uflow()): It's used only by basic_stringbuf (i.e., basic_filebuf provide its own uflow()), therefore do not consider the _M_buf_unified == true case. * include/std/std_streambuf.h (sgetc()): Restore __ret variable. 2003-04-20 Paolo Carlini * docs/html/ext/howto.html ('LWG Issues'): Add issues 19, 90, 171, 231, 271. 2003-04-20 Paolo Carlini * include/bits/sstream.tcc (pbackfail): Remove redundant NULL pointer check from test involving _M_in_*. (overflow, seekoff, seekpos): Const qualify bool variables. * include/std/std_sstream.h (underflow): Remove redundant NULL pointer check from test involving _M_in_*. (_M_really_sync): Const qualify bool variables. * src/fstream.cc (_M_underflow_common): Remove redundant NULL pointer check from test involving _M_in_*, const qualify bool variables. * include/std/std_streambuf.h (sgetc): Remove redundant variable. 2003-04-18 Paolo Carlini According to 5.9 para 2 (second bullet) for pointers p, q pointing to the same type, with p == 0 and q == 0, (p < q) is false. * include/bits/fstream.tcc (close, overflow, _M_really_overflow, seekoff): Remove redundant NULL pointer checks from tests involving _M_out_* and _M_in_*, const qualify bool variables. (showmanyc, pbackfail, _M_convert_to_external, imbue): Const qualify bool variables. * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc, sputc): Remove redundant NULL pointer checks from tests involving _M_out_* and _M_in_*, const qualify bool variables. * include/std/std_fstream.h (sync): Likewise. (_M_is_indeterminate): Const qualify bool variables. * include/std/std_streambuf.h (sgetc, uflow): Remove redundant NULL pointer checks from tests involving _M_out_* and _M_in_*, const qualify bool variables. (_M_in_cur_move, _M_out_cur_move, uflow): Const qualify bool variables. 2003-04-18 Loren J. Rittle * include/c_std/std_cmath.h (C99 FP capture): Only undefine said C99 FP macros, if actually captured. * docs/html/17_intro/porting.texi (_GLIBCPP_USE_C99_CHECK): New macro. (_GLIBCPP_USE_C99_DYNAMIC): New macro. (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro. (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro. * config/os/bsd/freebsd/os_defines.h (_GLIBCPP_USE_C99_CHECK): New macro. (_GLIBCPP_USE_C99_DYNAMIC): New macro. (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro. (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro. * include/c_std/std_cstdlib.h: Use new macros. * include/c_std/std_cstdio.h: Use new macros. * include/c_std/std_cwchar.h: Use new macros. 2003-04-17 Benjamin Kosnik PR libstdc++/9555 * include/bits/ostream.tcc: Catch all exceptions for formatted output, instead of std::exception and derivatives. * include/bits/istream.tcc: Same. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc: * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc: * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc: * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc: * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc: * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc: New. 2003-04-17 Phil Edwards * include/bits/c++config: Minor cosmetic tweaks. 2003-04-17 Loren J. Rittle * testsuite_flags.in (PCHFLAGS): Find PCH in new home. * include/Makefile.am (pch_input): Find in ${target_builddir}. (pch_output): Rename to... (pch_output_builddir): ..this. Find in ${target_builddir}. (pch_source): Tweak. (pch_build): Key off a built file. (pch_output rule): Rename to... (pch_input rule): ...this. Produce ${pch_output_builddir} instead of ${pch_output}. (install-pch rule): Install ${pch_output_builddir}. * include/Makefile.in: Regenerated. 2003-04-17 Paolo Carlini * include/std/std_streambuf.h (setp): _M_out_lim, being the end limit of used put area, is set equal to _M_out_beg. 2003-04-16 Benjamin Kosnik * acinclude.m4 (GLIBCPP_CHECK_PCH): New. * aclocal.m4: Regenerated. * configure.in: Remove old demangler bits. Call pch checks. * configure: Regenerate. * config.h.in: Regenerate. * include/Makefile.am (allstamps): Now allstamped. (allcreated): Define this. (all-local): Use 'em. Conditionally define pch_build, pch_install based on GLIBCPP_BUILD_PCH. (${pch_output}): New rule. (install-pch): New rule. (install-headers): New rule. (install-data-local): Install headers and conditionally pch. * include/Makefile.in: Regenerate. * testsuite_flags.in (--build-cxx): Use pch file. 2003-04-16 Jonathan Wakely * docs/html/ext/sgiexts.html: Fix path to stylesheet. 2003-04-15 Benjamin Kosnik Paolo Carlini PR libstdc++/9423 * docs/html/27_io/howto.html ('The buffering is screwing up my program!'): Explain that opening counts as an I/O operation. 2003-04-15 Andreas Tobler * testsuite/thread/pthread1.cc: Enable for darwin test. * testsuite/thread/pthread2.cc: Same. * testsuite/thread/pthread3.cc: Same. * testsuite/thread/pthread4.cc: Same. * testsuite/thread/pthread5.cc: Same. * testsuite/thread/pthread6.cc: Same. 2003-04-15 Loren J. Rittle libstdc++/7680 * include/c_std/std_cmath.h (__gnu_cx::__c99_binding): New namespace. Populate it with multiple legal ways to obtain the C99 float transcendentals. Use them instead of direct global reference. (C99 FP capture): Guard usage with _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC. * docs/html/17_intro/porting.texi (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro. (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro. (_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC): New macro. * config/os/bsd/freebsd/os_defines.h (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro. (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro. * testsuite/26_numerics/c_math_dynamic.cc: New file. 2003-04-14 Andreas Tobler Benjamin Kosnik * config/os/generic/ctype_inline.h: Fix. 2003-04-14 Benjamin Kosnik * testsuite/testsuite_hooks.h (__gnu_cxx_test::run_test_wrapped_generic_locale_exception_catcher): Change to try_named_locale. * testsuite/testsuite_hooks.cc (__gnu_cxx_test): Same. * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Use try_named_locale. * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same. * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same. * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Same. * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Same. * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Same. * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Same. * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Same. * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Same. * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Same. * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Same. * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Same. * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Same. * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Same. * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Same. * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Same. * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same. * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same. * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same. * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Same. * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Same. * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Same. * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Same. * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Same. * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Same. * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Same. * testsuite/22_locale/collate/compare/char/1.cc: Same. * testsuite/22_locale/collate/compare/char/2.cc: Same. * testsuite/22_locale/collate/compare/char/3.cc: Same. * testsuite/22_locale/collate/compare/wchar_t/1.cc: Same. * testsuite/22_locale/collate/compare/wchar_t/2.cc: Same. * testsuite/22_locale/collate/compare/wchar_t/3.cc: Same. * testsuite/22_locale/collate/hash/char/2.cc: Same. * testsuite/22_locale/collate/hash/wchar_t/2.cc: Same. * testsuite/22_locale/collate/transform/char/2.cc: Same. * testsuite/22_locale/collate/transform/char/3.cc: Same. * testsuite/22_locale/collate/transform/wchar_t/2.cc: Same. * testsuite/22_locale/collate/transform/wchar_t/3.cc: Same. * testsuite/22_locale/collate_byname/1.cc: Same. * testsuite/22_locale/ctype/is/char/2.cc: Same. * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same. * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Same. * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Same. * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Same. * testsuite/22_locale/facet/2.cc: Same. * testsuite/22_locale/locale/cons/2.cc: Same. * testsuite/22_locale/locale/cons/4.cc: Same. * testsuite/22_locale/locale/cons/5.cc: Same. * testsuite/22_locale/locale/cons/7.cc: Same. * testsuite/22_locale/locale/cons/7222-c.cc: Same. * testsuite/22_locale/locale/cons/7222-env.cc: Same. * testsuite/22_locale/locale/global_locale_objects/2.cc: Same. * testsuite/22_locale/messages/members/char/1.cc: Same. * testsuite/22_locale/messages/members/char/2.cc: Same. * testsuite/22_locale/messages/members/char/3.cc: Same. * testsuite/22_locale/messages_byname/1.cc: Same. * testsuite/22_locale/money_get/get/char/1.cc: Same. * testsuite/22_locale/money_get/get/char/2.cc: Same. * testsuite/22_locale/money_get/get/char/3.cc: Same. * testsuite/22_locale/money_get/get/char/4.cc: Same. * testsuite/22_locale/money_get/get/wchar_t/1.cc: Same. * testsuite/22_locale/money_get/get/wchar_t/2.cc: Same. * testsuite/22_locale/money_get/get/wchar_t/3.cc: Same. * testsuite/22_locale/money_get/get/wchar_t/4.cc: Same. * testsuite/22_locale/money_put/put/char/1.cc: Same. * testsuite/22_locale/money_put/put/char/2.cc: Same. * testsuite/22_locale/money_put/put/char/3.cc: Same. * testsuite/22_locale/money_put/put/wchar_t/1.cc: Same. * testsuite/22_locale/money_put/put/wchar_t/2.cc: Same. * testsuite/22_locale/money_put/put/wchar_t/3.cc: Same. * testsuite/22_locale/moneypunct/members/char/2.cc: Same. * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Same. * testsuite/22_locale/moneypunct_byname/1.cc: Same. * testsuite/22_locale/num_get/get/char/1.cc: Same. * testsuite/22_locale/num_get/get/char/2.cc: Same. * testsuite/22_locale/num_get/get/char/3.cc: Same. * testsuite/22_locale/num_get/get/char/5.cc: Same. * testsuite/22_locale/num_get/get/char/6.cc: Same. * testsuite/22_locale/num_get/get/wchar_t/1.cc: Same. * testsuite/22_locale/num_get/get/wchar_t/2.cc: Same. * testsuite/22_locale/num_get/get/wchar_t/3.cc: Same. * testsuite/22_locale/num_get/get/wchar_t/5.cc: Same. * testsuite/22_locale/num_get/get/wchar_t/6.cc: Same. * testsuite/22_locale/num_put/put/char/1.cc: Same. * testsuite/22_locale/num_put/put/char/2.cc: Same. * testsuite/22_locale/num_put/put/char/3.cc: Same. * testsuite/22_locale/num_put/put/char/5.cc: Same. * testsuite/22_locale/num_put/put/wchar_t/1.cc: Same. * testsuite/22_locale/num_put/put/wchar_t/2.cc: Same. * testsuite/22_locale/num_put/put/wchar_t/3.cc: Same. * testsuite/22_locale/num_put/put/wchar_t/5.cc: Same. * testsuite/22_locale/numpunct/members/char/1.cc: Same. * testsuite/22_locale/numpunct/members/char/2.cc: Same. * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Same. * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Same. * testsuite/22_locale/numpunct_byname/1.cc: Same. * testsuite/22_locale/numpunct_byname/2.cc: Same. * testsuite/22_locale/time_get/date_order/char/1.cc: Same. * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Same. * testsuite/22_locale/time_get/get_date/char/1.cc: Same. * testsuite/22_locale/time_get/get_date/char/2.cc: Same. * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Same. * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Same. * testsuite/22_locale/time_get/get_monthname/char/1.cc: Same. * testsuite/22_locale/time_get/get_monthname/char/2.cc: Same. * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Same. * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Same. * testsuite/22_locale/time_get/get_time/char/1.cc: Same. * testsuite/22_locale/time_get/get_time/char/2.cc: Same. * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Same. * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Same. * testsuite/22_locale/time_get/get_weekday/char/1.cc: Same. * testsuite/22_locale/time_get/get_weekday/char/2.cc: Same. * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Same. * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Same. * testsuite/22_locale/time_get/get_year/char/1.cc: Same. * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Same. * testsuite/22_locale/time_put/put/char/1.cc: Same. * testsuite/22_locale/time_put/put/char/2.cc: Same. * testsuite/22_locale/time_put/put/char/3.cc: Same. * testsuite/22_locale/time_put/put/char/4.cc: Same. * testsuite/22_locale/time_put/put/char/5.cc: Same. * testsuite/22_locale/time_put/put/char/6.cc: Same. * testsuite/22_locale/time_put/put/char/7.cc: Same. * testsuite/22_locale/time_put/put/char/8.cc: Same. * testsuite/22_locale/time_put/put/wchar_t/1.cc: Same. * testsuite/22_locale/time_put/put/wchar_t/2.cc: Same. * testsuite/22_locale/time_put/put/wchar_t/3.cc: Same. * testsuite/22_locale/time_put/put/wchar_t/4.cc: Same. * testsuite/22_locale/time_put/put/wchar_t/5.cc: Same. * testsuite/22_locale/time_put/put/wchar_t/6.cc: Same. * testsuite/22_locale/time_put/put/wchar_t/7.cc: Same. * testsuite/22_locale/time_put/put/wchar_t/8.cc: Same. * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Same. * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Same. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc: Same. * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Same. * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Same. 2003-04-14 Andreas Tobler * configure.target (_cpu_incdir_fullpath): Solaris 2.9 uses solaris includes, not generic. 2003-04-14 Loren J. Rittle * testsuite/26_numerics/c99_classification_macros_c.cc: Add XFAIL. * include/std/std_bitset.h (_M_do_find_next): Fix -Wall nit. * include/bits/concept_check.h: Fix multi-line comment. * testsuite/17_intro/headers.cc (dg-options): Add -Wall -Wsystem-header when target is *-*-freebsd*. 2003-04-14 Nathan Myers Paolo Carlini PR libstdc++/9701 (in_avail()) * include/std/std_streambuf.h (in_avail): Simplify, in_avail doesn't care if there is anything in some putback cell. * testsuite/27_io/basic_streambuf/in_avail/char/9701-3.cc: Add. * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Remove some unused string literals. 2003-04-14 Paolo Carlini * include/bits/fstream.tcc (basic_filebuf::setbuf): Don't set _M_out_end, _M_set_indeterminate() does it. 2003-04-12 John David Anglin * os/hpux/ctype_inline.h: Replace with gnu-linux version. 2003-04-12 David Edelsohn * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Change basic_streambuf instantiation to "unsigned char". * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same. 2003-04-12 Paolo Carlini Remove _M_buf_size_opt, use directly _M_buf_size instead. * include/bits/fstream.tcc (basic_filebuf::_M_allocate_internal_buffer, setbuf): Remove references to _M_buf_size_opt. * include/bits/sstream.tcc (basic_stringbuf::overflow): Likewise. * include/bits/streambuf.tcc (__copy_streambufs): Likewise, rename __bufsize to __in_avail and __size_opt to __buf_size. * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf): Likewise. * include/std/std_sstream.h (_M_stringbuf_init, setbuf): Likewise. * include/std/std_streambuf.h (~basic_streambuf(), basic_streambuf()): Likewise, remove _M_buf_size_opt member. * testsuite/27_io/basic_filebuf/close/char/3.cc: Set _M_buf_size. * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/snextc/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise. 2003-04-12 Paolo Carlini * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf(int, openmode, bool, size_t), stdio_filebuf::stdio_filebuf(__c_file*, openmode, size_t): _M_buf_size_opt == 0 only means "not to use an allocated buffer" since a stack-based buffer is used for small values of the size_t parameter. * include/bits/fstream.tcc (basic_filebuf::_M_really_overflow). If _M_buf_size != 0 flush out the buffer (any kind, stack-based too). * testsuite/ext/stdio_filebuf_2.cc: New testfile. 2003-04-12 Paolo Carlini PR libstdc++/9533 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: New. * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Ditto. 2003-04-11 Benjamin Kosnik * testsuite/22_locale/locale/cons/3.cc: Split. * testsuite/22_locale/locale/cons/7222-c.cc: New. * testsuite/22_locale/locale/cons/7222-env.cc: New. Check before trying to create a locale from the environment. * testsuite/27_io/ios_base/state/1.cc (test02): Use "C" locale. * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc: Adjust includes. 2003-04-11 Benjamin Kosnik * testsuite/22_locale/ctype/is/char/3.cc (test03): Use the classic locale to construct this hybrid locale, not the global locale. 2003-04-11 Benjamin Kosnik * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Add instantiation for AIX. * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same. * testsuite/25_algorithms/min_max.cc: Same. 2003-04-10 John David Anglin * basic_file_stdio.cc (__basic_file::close): Don't flush stream twice. Always set _M_cfile to 0 when stream was open. 2003-04-09 Benjamin Kosnik Reshuffle 27_io testsuite. * testsuite/27_io/filebuf.cc, filebuf_members-1.tst, filebuf_members-1.txt, filebuf_members.cc, filebuf_virtuals-1.tst, filebuf_virtuals-1.txt, filebuf_virtuals-2.tst, filebuf_virtuals-3.tst, filebuf_virtuals.cc, fpos.cc, fstream.cc, fstream_members.cc, ifstream.cc, ifstream_members-1.tst, ifstream_members-1.txt, ifstream_members.cc, instantiations.cc, ios.cc, ios_base_callbacks.cc, ios_base_members_static-1.tst, ios_base_members_static.cc, ios_base_storage.cc, ios_base_types.cc, ios_ctor.cc, ios_init.cc, ios_manip_basefield.cc, ios_manip_fmtflags.cc, ios_members.cc, iostream.cc, iostream_members.cc, istream.cc, istream_exception.cc, istream_extractor_char.cc, istream_extractor_other-1.tst, istream_extractor_other-1.txt, istream_extractor_other-2.tst, istream_extractor_other.cc, istream_manip.cc, istream_seeks-1.tst, istream_seeks-1.txt, istream_seeks-2.tst, istream_seeks-3.tst, istream_seeks.cc, istream_sentry.cc, istream_unformatted-1.tst, istream_unformatted-1.txt, istream_unformatted.cc, istringstream.cc, istringstream_members.cc, narrow_stream_objects.cc, ofstream.cc, ofstream_members-1.tst, ofstream_members.cc, ostream.cc, ostream_exception.cc, ostream_fail.cc, ostream_inserter_arith.cc, ostream_inserter_char-1.tst, ostream_inserter_char-1.txt, ostream_inserter_char.cc, ostream_inserter_other-1.tst, ostream_inserter_other-2.tst, ostream_inserter_other.cc, ostream_manip.cc, ostream_seeks-1.tst, ostream_seeks.cc, ostream_sentry.cc, ostream_unformatted.cc, ostringstream.cc, ostringstream_members.cc, standard_manipulators.cc, streambuf.cc, streambuf_members.cc, stringbuf.cc, stringbuf_members.cc, stringbuf_virtuals.cc, stringstream.cc, stringstream_members.cc, wide_stream_objects.cc, istream_extractor_arith/01.cc, istream_extractor_arith/02.cc, istream_extractor_arith/03.cc, istream_extractor_arith/06.cc, istream_extractor_arith/07.cc, istream_extractor_arith/08.cc, istream_extractor_arith/09.cc, istream_extractor_arith/10.cc, istream_extractor_arith/11.cc, istream_extractor_arith/12.cc, istream_extractor_arith/13.cc: Split into... * 27_io/basic_filebuf/1.cc: New. * 27_io/basic_filebuf/2.cc: New. * 27_io/basic_filebuf/3.cc: New. * 27_io/basic_filebuf/4.cc: New. * 27_io/basic_filebuf/close/char/1.cc: New. * 27_io/basic_filebuf/close/char/2.cc: New. * 27_io/basic_filebuf/close/char/3.cc: New. * 27_io/basic_filebuf/close/char/4879.cc: New. * 27_io/basic_filebuf/close/char/9964.cc: New. * 27_io/basic_filebuf/imbue/char/1.cc: New. * 27_io/basic_filebuf/imbue/char/9322.cc: New. * 27_io/basic_filebuf/in_avail/char/1.cc: New. * 27_io/basic_filebuf/is_open/char/1.cc: New. * 27_io/basic_filebuf/open/char/1.cc: New. * 27_io/basic_filebuf/open/char/2.cc: New. * 27_io/basic_filebuf/open/char/3.cc: New. * 27_io/basic_filebuf/open/char/9507.cc: New. * 27_io/basic_filebuf/overflow/char/1.cc: New. * 27_io/basic_filebuf/overflow/char/3599.cc: New. * 27_io/basic_filebuf/overflow/char/9169.cc: New. * 27_io/basic_filebuf/overflow/char/9182-2.cc: New. * 27_io/basic_filebuf/overflow/char/9988.cc: New. * 27_io/basic_filebuf/sbumpc/char/1.cc: New. * 27_io/basic_filebuf/sbumpc/char/9825.cc: New. * 27_io/basic_filebuf/seekoff/char/1.cc: New. * 27_io/basic_filebuf/seekoff/char/2.cc: New. * 27_io/basic_filebuf/seekpos/char/1.cc: New. * 27_io/basic_filebuf/seekpos/char/2.cc: New. * 27_io/basic_filebuf/setbuf/char/1.cc: New. * 27_io/basic_filebuf/setbuf/char/2.cc: New. * 27_io/basic_filebuf/setbuf/char/3.cc: New. * 27_io/basic_filebuf/sgetc/char/1.cc: New. * 27_io/basic_filebuf/sgetn/char/1.cc: New. * 27_io/basic_filebuf/sgetn/char/2.cc: New. * 27_io/basic_filebuf/snextc/char/1.cc: New. * 27_io/basic_filebuf/sputbackc/char/1.cc: New. * 27_io/basic_filebuf/sputbackc/char/9425.cc: New. * 27_io/basic_filebuf/sputc/char/1.cc: New. * 27_io/basic_filebuf/sputc/char/1057.cc: New. * 27_io/basic_filebuf/sputc/char/9701-2.cc: New. * 27_io/basic_filebuf/sputn/char/1.cc: New. * 27_io/basic_filebuf/sputn/char/1057.cc: New. * 27_io/basic_filebuf/sputn/char/9701-1.cc: New. * 27_io/basic_filebuf/sungetc/char/1.cc: New. * 27_io/basic_filebuf/sync/char/1057.cc: New. * 27_io/basic_filebuf/sync/char/9182-1.cc: New. * 27_io/basic_filebuf/underflow/char/10097.cc: New. * 27_io/basic_fstream/1.cc: New. * 27_io/basic_fstream/2.cc: New. * 27_io/basic_fstream/3.cc: New. * 27_io/basic_fstream/4.cc: New. * 27_io/basic_fstream/rdbuf/char/2832.cc: New. * 27_io/basic_ifstream/1.cc: New. * 27_io/basic_ifstream/2.cc: New. * 27_io/basic_ifstream/3.cc: New. * 27_io/basic_ifstream/4.cc: New. * 27_io/basic_ifstream/cons/char/1.cc: New. * 27_io/basic_ifstream/open/char/1.cc: New. * 27_io/basic_ifstream/rdbuf/char/2832.cc: New. * 27_io/basic_ios/1.cc: New. * 27_io/basic_ios/2.cc: New. * 27_io/basic_ios/3.cc: New. * 27_io/basic_ios/4.cc: New. * 27_io/basic_ios/clear/char/1.cc: New. * 27_io/basic_ios/cons/char/1.cc: New. * 27_io/basic_ios/cons/char/2.cc: New. * 27_io/basic_ios/cons/char/3.cc: New. * 27_io/basic_ios/copyfmt/char/1.cc: New. * 27_io/basic_ios/copyfmt/char/2.cc: New. * 27_io/basic_ios/exceptions/char/1.cc: New. * 27_io/basic_ios/locales/char/1.cc: New. * 27_io/basic_iostream/1.cc: New. * 27_io/basic_iostream/2.cc: New. * 27_io/basic_iostream/3.cc: New. * 27_io/basic_iostream/4.cc: New. * 27_io/basic_istream/1.cc: New. * 27_io/basic_istream/2.cc: New. * 27_io/basic_istream/3.cc: New. * 27_io/basic_istream/4.cc: New. * 27_io/basic_istream/exceptions/char/9561.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/01.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/02.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/03.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/06.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/07.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/08.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/09.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/10.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/11.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/12.cc: New. * 27_io/basic_istream/extractors_arithmetic/char/13.cc: New. * 27_io/basic_istream/extractors_character/char/1.cc: New. * 27_io/basic_istream/extractors_character/char/2.cc: New. * 27_io/basic_istream/extractors_character/char/3.cc: New. * 27_io/basic_istream/extractors_character/char/9826.cc: New. * 27_io/basic_istream/extractors_other/char/1.cc: New. * 27_io/basic_istream/extractors_other/char/2.cc: New. * 27_io/basic_istream/extractors_other/char/3.cc: New. * 27_io/basic_istream/extractors_other/char/9318-in.cc: New. * 27_io/basic_istream/extractors_other/char/9424-in.cc: New. * 27_io/basic_istream/get/char/1.cc: New. * 27_io/basic_istream/get/char/2.cc: New. * 27_io/basic_istream/getline/char/1.cc: New. * 27_io/basic_istream/getline/char/2.cc: New. * 27_io/basic_istream/getline/char/3.cc: New. * 27_io/basic_istream/ignore/char/1.cc: New. * 27_io/basic_istream/ignore/char/6360.cc: New. * 27_io/basic_istream/ignore/char/7220.cc: New. * 27_io/basic_istream/peek/char/1.cc: New. * 27_io/basic_istream/peek/char/6414.cc: New. * 27_io/basic_istream/putback/char/1.cc: New. * 27_io/basic_istream/read/char/1.cc: New. * 27_io/basic_istream/read/char/2.cc: New. * 27_io/basic_istream/read/char/3.cc: New. * 27_io/basic_istream/readsome/char/6746-1.cc: New. * 27_io/basic_istream/readsome/char/6746-2.cc: New. * 27_io/basic_istream/readsome/char/8258.cc: New. * 27_io/basic_istream/seekg/char/2346-fstream.cc: New. * 27_io/basic_istream/seekg/char/2346-sstream.cc: New. * 27_io/basic_istream/seekg/char/8348-1.cc: New. * 27_io/basic_istream/seekg/char/8348-2.cc: New. * 27_io/basic_istream/seekg/char/fstream.cc: New. * 27_io/basic_istream/seekg/char/sstream.cc: New. * 27_io/basic_istream/sentry/char/1.cc: New. * 27_io/basic_istream/sentry/char/2.cc: New. * 27_io/basic_istream/sentry/char/3.cc: New. * 27_io/basic_istream/sentry/char/3983-fstream.cc: New. * 27_io/basic_istream/sentry/char/3983-sstream.cc: New. * 27_io/basic_istream/tellg/char/1.cc: New. * 27_io/basic_istream/tellg/char/8348.cc: New. * 27_io/basic_istream/tellg/char/fstream.cc: New. * 27_io/basic_istream/tellg/char/sstream.cc: New. * 27_io/basic_istream/ws/char/1.cc: New. * 27_io/basic_istringstream/1.cc: New. * 27_io/basic_istringstream/2.cc: New. * 27_io/basic_istringstream/3.cc: New. * 27_io/basic_istringstream/4.cc: New. * 27_io/basic_istringstream/rdbuf/char/2832.cc: New. * 27_io/basic_istringstream/str/char/1.cc: New. * 27_io/basic_ofstream/1.cc: New. * 27_io/basic_ofstream/2.cc: New. * 27_io/basic_ofstream/3.cc: New. * 27_io/basic_ofstream/4.cc: New. * 27_io/basic_ofstream/cons/char/2.cc: New. * 27_io/basic_ofstream/open/char/1.cc: New. * 27_io/basic_ofstream/rdbuf/char/2832.cc: New. * 27_io/basic_ostream/1.cc: New. * 27_io/basic_ostream/2.cc: New. * 27_io/basic_ostream/3.cc: New. * 27_io/basic_ostream/4.cc: New. * 27_io/basic_ostream/cons/char/9827.cc: New. * 27_io/basic_ostream/endl/char/1.cc: New. * 27_io/basic_ostream/ends/char/1.cc: New. * 27_io/basic_ostream/ends/char/2.cc: New. * 27_io/basic_ostream/exceptions/char/9561.cc: New. * 27_io/basic_ostream/flush/char/1.cc: New. * 27_io/basic_ostream/inserters_arithmetic/char/1.cc: New. * 27_io/basic_ostream/inserters_arithmetic/char/2.cc: New. * 27_io/basic_ostream/inserters_arithmetic/char/3.cc: New. * 27_io/basic_ostream/inserters_arithmetic/char/4.cc: New. * 27_io/basic_ostream/inserters_arithmetic/char/4402.cc: New. * 27_io/basic_ostream/inserters_arithmetic/char/5.cc: New. * 27_io/basic_ostream/inserters_arithmetic/char/6.cc: New. * 27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc: New. * 27_io/basic_ostream/inserters_character/char/1.cc: New. * 27_io/basic_ostream/inserters_character/char/2.cc: New. * 27_io/basic_ostream/inserters_character/char/3.cc: New. * 27_io/basic_ostream/inserters_character/char/4.cc: New. * 27_io/basic_ostream/inserters_character/char/5.cc: New. * 27_io/basic_ostream/inserters_character/char/6.cc: New. * 27_io/basic_ostream/inserters_character/char/8.cc: New. * 27_io/basic_ostream/inserters_character/wchar_t/7.cc: New. * 27_io/basic_ostream/inserters_character/wchar_t/8.cc: New. * 27_io/basic_ostream/inserters_other/char/1.cc: New. * 27_io/basic_ostream/inserters_other/char/2.cc: New. * 27_io/basic_ostream/inserters_other/char/3.cc: New. * 27_io/basic_ostream/inserters_other/char/4.cc: New. * 27_io/basic_ostream/inserters_other/char/9318-out.cc: New. * 27_io/basic_ostream/inserters_other/char/9424-out.cc: New. * 27_io/basic_ostream/sentry/char/1.cc: New. * 27_io/basic_ostream/sentry/char/2.cc: New. * 27_io/basic_ostream/sentry/char/3983-fstream.cc: New. * 27_io/basic_ostream/sentry/char/3983-sstream.cc: New. * 27_io/basic_ostream/tellp/char/1.cc: New. * 27_io/basic_ostream/tellp/char/2.cc: New. * 27_io/basic_ostringstream/1.cc: New. * 27_io/basic_ostringstream/2.cc: New. * 27_io/basic_ostringstream/3.cc: New. * 27_io/basic_ostringstream/4.cc: New. * 27_io/basic_ostringstream/cons/char/3.cc: New. * 27_io/basic_ostringstream/rdbuf/char/2832.cc: New. * 27_io/basic_ostringstream/str/char/1.cc: New. * 27_io/basic_ostringstream/str/char/2.cc: New. * 27_io/basic_streambuf/1.cc: New. * 27_io/basic_streambuf/2.cc: New. * 27_io/basic_streambuf/3.cc: New. * 27_io/basic_streambuf/cons/char/1.cc: New. * 27_io/basic_streambuf/imbue/char/1.cc: New. * 27_io/basic_streambuf/imbue/char/9322.cc: New. * 27_io/basic_streambuf/overflow/char/1.cc: New. * 27_io/basic_streambuf/overflow/char/2.cc: New. * 27_io/basic_streambuf/overflow/char/3599.cc: New. * 27_io/basic_streambuf/sgetc/char/1.cc: New. * 27_io/basic_streambuf/sgetn/char/1.cc: New. * 27_io/basic_streambuf/sputbackc/char/9538.cc: New. * 27_io/basic_streambuf/sputc/char/1057.cc: New. * 27_io/basic_streambuf/sputn/char/1.cc: New. * 27_io/basic_streambuf/sputn/char/1057.cc: New. * 27_io/basic_streambuf/sync/char/1057.cc: New. * 27_io/basic_stringbuf/1.cc: New. * 27_io/basic_stringbuf/2.cc: New. * 27_io/basic_stringbuf/3.cc: New. * 27_io/basic_stringbuf/4.cc: New. * 27_io/basic_stringbuf/5.cc: New. * 27_io/basic_stringbuf/imbue/char/1.cc: New. * 27_io/basic_stringbuf/imbue/char/9322.cc: New. * 27_io/basic_stringbuf/in_avail/char/1.cc: New. * 27_io/basic_stringbuf/overflow/char/2.cc: New. * 27_io/basic_stringbuf/overflow/char/3599.cc: New. * 27_io/basic_stringbuf/overflow/char/9988.cc: New. * 27_io/basic_stringbuf/sbumpc/char/1.cc: New. * 27_io/basic_stringbuf/sbumpc/char/9825.cc: New. * 27_io/basic_stringbuf/seekoff/char/1.cc: New. * 27_io/basic_stringbuf/seekoff/char/2.cc: New. * 27_io/basic_stringbuf/seekpos/char/1.cc: New. * 27_io/basic_stringbuf/seekpos/char/2.cc: New. * 27_io/basic_stringbuf/setbuf/char/1.cc: New. * 27_io/basic_stringbuf/setbuf/char/2.cc: New. * 27_io/basic_stringbuf/setbuf/char/3.cc: New. * 27_io/basic_stringbuf/sgetc/char/1.cc: New. * 27_io/basic_stringbuf/sgetn/char/1.cc: New. * 27_io/basic_stringbuf/snextc/char/1.cc: New. * 27_io/basic_stringbuf/sputbackc/char/1.cc: New. * 27_io/basic_stringbuf/sputbackc/char/9425.cc: New. * 27_io/basic_stringbuf/sputc/char/1.cc: New. * 27_io/basic_stringbuf/sputc/char/1057.cc: New. * 27_io/basic_stringbuf/sputc/char/9404-1.cc: New. * 27_io/basic_stringbuf/sputn/char/1.cc: New. * 27_io/basic_stringbuf/sputn/char/1057.cc: New. * 27_io/basic_stringbuf/sputn/char/9404-2.cc: New. * 27_io/basic_stringbuf/str/char/1.cc: New. * 27_io/basic_stringbuf/str/char/2.cc: New. * 27_io/basic_stringbuf/str/char/3.cc: New. * 27_io/basic_stringbuf/str/char/3955.cc: New. * 27_io/basic_stringbuf/sungetc/char/1.cc: New. * 27_io/basic_stringbuf/sync/char/1057.cc: New. * 27_io/basic_stringstream/1.cc: New. * 27_io/basic_stringstream/2.cc: New. * 27_io/basic_stringstream/3.cc: New. * 27_io/basic_stringstream/4.cc: New. * 27_io/basic_stringstream/rdbuf/char/2832.cc: New. * 27_io/basic_stringstream/str/char/1.cc: New. * 27_io/basic_stringstream/str/char/2.cc: New. * 27_io/basic_stringstream/str/char/3.cc: New. * 27_io/basic_stringstream/str/char/4.cc: New. * 27_io/fpos/1.cc: New. * 27_io/fpos/2.cc: New. * 27_io/fpos/3.cc: New. * 27_io/ios_base/callbacks/1.cc: New. * 27_io/ios_base/state/1.cc: New. * 27_io/ios_base/storage/1.cc: New. * 27_io/ios_base/storage/2.cc: New. * 27_io/ios_base/storage/3.cc: New. * 27_io/ios_base/sync_with_stdio/1.cc: New. * 27_io/ios_base/sync_with_stdio/2.cc: New. * 27_io/manipulators/adjustfield/char/1.cc: New. * 27_io/manipulators/adjustfield/char/2.cc: New. * 27_io/manipulators/basefield/char/1.cc: New. * 27_io/manipulators/standard/char/1.cc: New. * 27_io/manipulators/standard/char/2.cc: New. * 27_io/objects/char/1.cc: New. * 27_io/objects/char/2.cc: New. * 27_io/objects/char/2523-1_xin.cc: New. * 27_io/objects/char/2523-1_xin.in: New. * 27_io/objects/char/2523-2_xin.cc: New. * 27_io/objects/char/2523-2_xin.in: New. * 27_io/objects/char/3045.cc: New. * 27_io/objects/char/3647.cc: New. * 27_io/objects/char/3_xin.cc: New. * 27_io/objects/char/3_xin.in: New. * 27_io/objects/char/4_xin.cc: New. * 27_io/objects/char/4_xin.in: New. * 27_io/objects/char/5268.cc: New. * 27_io/objects/char/5280_xin.cc: New. * 27_io/objects/char/5280_xin.in: New. * 27_io/objects/char/6548_xin.cc: New. * 27_io/objects/char/6548_xin.in: New. * 27_io/objects/char/6648-1_xin.cc: New. * 27_io/objects/char/6648-1_xin.in: New. * 27_io/objects/char/6648-2_xin.cc: New. * 27_io/objects/char/6648-2_xin.in: New. * 27_io/objects/char/7744_xin.cc: New. * 27_io/objects/char/7744_xin.in: New. * 27_io/objects/wchar_t/1.cc: New. * 27_io/types/1.cc: New. * 27_io/types/2.cc: New. * data/filebuf_members-1.tst: New. * data/filebuf_members-1.txt: New. * data/filebuf_virtuals-1.tst: New. * data/filebuf_virtuals-1.txt: New. * data/filebuf_virtuals-2.tst: New. * data/filebuf_virtuals-3.tst: New. * data/ifstream_members-1.tst: New. * data/ifstream_members-1.txt: New. * data/ios_base_members_static-1.tst: New. * data/istream_extractor_other-1.tst: New. * data/istream_extractor_other-1.txt: New. * data/istream_extractor_other-2.tst: New. * data/istream_seeks-1.tst: New. * data/istream_seeks-1.txt: New. * data/istream_seeks-2.tst: New. * data/istream_seeks-3.tst: New. * data/istream_unformatted-1.tst: New. * data/istream_unformatted-1.txt: New. * data/ofstream_members-1.tst: New. * data/ostream_inserter_char-1.tst: New. * data/ostream_inserter_char-1.txt: New. * data/ostream_inserter_other-1.tst: New. * data/ostream_inserter_other-2.tst: New. * data/ostream_seeks-1.tst: New. 2003-04-09 Benjamin Kosnik * include/bits/sstream.tcc (basic_stringbuf::seekpos): Remove requirement that __mode must be strict input or output. * include/std/std_streambuf.h (basic_streambuf::setp): Set _M_out_lim. * include/std/std_sstream.h (basic_strinbuf::str): Zero length output string shouldn't core. (basic_stringbuf::_M_really_sync): Add base argument. Remove rturn type. * include/bits/sstream.tcc: Adjust _M_really_sync bits here. * include/bits/istream.tcc (basic_istream::putback): Set gcount to zero. 2003-04-09 Benjamin Kosnik * testsuite/data: New directory. * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify to copy files from the testsuite data directory. (libstdc++-v3-list-sourcefiles): Add another test list filter, for testfiles containing _xin, which now means this is an interactive test and should be run with the interactive dejagnu hooks. * testsuite/Makefile.am: Remove testsuite_* files. * testsuite/Makefile.in: Regenerate. 2003-04-09 Zack Weinberg * docs/html/install.html: Document complete list of locales required by test suite. Document procedure for installing said locales under Debian. Solicit instructions for other operating systems. 2003-04-08 Alexandre Oliva * include/bits/sstream.tcc (overflow): Make sure operands of min and max have the same type. 2003-04-04 Jerry Quinn PR libstdc++/10276 * src/ios.cc (ios_base::_M_init): Remove _M_callbacks initialization. 2003-03-31 Paolo Carlini * include/std/std_streambuf.h (_M_out_buf_size()): Remove. * include/bits/fstream.tcc (_M_allocate_internal_buffer): Don't set _M_out_end. (basic_filebuf::overflow): Replace _M_out_buf_size() with this->_M_out_cur && this->_M_out_cur < this->_M_out_end. * include/bits/sstream.tcc (basic_stringbuf::overflow): Replace _M_out_buf_size() with this->_M_out_cur < this->_M_out_end; * include/bits/streambuf.tcc (basic_streambuf::sputc): Replace _M_out_buf_size() with _M_out_cur && _M_out_cur < _M_out_end. (basic_streambuf::xsputn): Replace _M_out_buf_size() with _M_out_end - _M_out_cur. (__copy_streambufs): Likewise. * include/std/std_fstream.h (_M_set_determinate): Set _M_out_end here. 2003-03-30 Paolo Carlini * include/bits/fstream.tcc (basic_filebuf::showmanyc, _M_convert_to_external, _M_really_overflow, seekoff): Fix test for synced buffer. * include/std/std_fstream.h (sync): Likewise. * src/fstream.cc (basic_filebuf::_M_underflow_common, basic_filebuf::_M_underflow_common): Likewise. 2003-03-28 Benjamin Kosnik * include/std/std_sstream.h (basic_istringstream): Adjust initialization. (basic_ostringstream): Same. (basic_stringstream): Same. * include/std/std_fstream.h (basic_ifstream): Adjust initialization. (basic_ofstream): Same. (basic_fstream): Same. * include/std/std_ostream.h (basic_ostrem): Add protected ctor that does not call init. * include/std/std_istream.h (basic_istream): Same. (basic_iostream): Construct istream, ostream uninitialized, use init to initialize just once. Add protected ctor that does not call init. 2003-03-28 Paolo Carlini Nathan Myers PR libstdc++/9533 * include/bits/fstream.tcc (basic_filebuf<>::open): Don't call underflow(). (basic_filebuf<>::showmanyc): Use the information provided by codecvt and __basic_file<>::showmanyc_helper to implement a non-trivial showmanyc. * config/io/basic_file_stdio.h (__basic_file<>::showmanyc_helper): New, declare. * config/io/basic_file_stdio.cc (__basic_file<>::showmanyc_helper): Define. (__basic_file<>::_M_open_mode): Don't set O_NONBLOCK. (__basic_file::open): Don't call fcntl(). * acinclude.m4 (GLIBCPP_CHECK_S_ISREG_OR_S_IFREG, GLIBCPP_CHECK_POLL): New macros. * configure.in: Call here. * acconfig.h: Add #undefs for the corresponding symbols. * aclocal.m4: Regenerate. * configure: Regenerate. * config.h.in: Regenerate. 2003-03-24 Benjamin Kosnik * config/linker-map.gnu: Remove string export restrictions. 2003-03-24 Paolo Carlini * testsuite/21_strings/basic_string/find/char/1.cc: Remove find_first_of, find_last_of and find_last_not_of tests. * testsuite/21_strings/basic_string/find/char/2.cc: find_first_of tests here, new file. * testsuite/21_strings/basic_string/find/wchar_t/1.cc: Likewise, remove wchar_t find_first_of, find_last_of and find_last_not_of tests. * testsuite/21_strings/basic_string/find/wchar_t/2.cc: Likewise, wchar_t find_first_of tests here, new file. * testsuite/21_strings/basic_string/rfind/char/2.cc: find_last_of tests here. * testsuite/21_strings/basic_string/rfind/char/3.cc: find_last_not_of tests here. * testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: likewise, wchar_t find_last_of tests here. * testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: likewise, wchar_t find_last_not_of tests here. 2003-03-22 Loren J. Rittle * config/os/hpux/ctype_noninline.h (ctype::classic_table): Correct return value. 2003-03-21 Jerry Quinn PR libstdc++/5730 * include/bits/c++config (_GLIBCPP_FAST_MATH): Define. * include/std/std_complex.h (norm): Use faster, less accurate computation for builtin float types under --fast-math. 2003-03-21 Magnus Fromreide * testsuite/testsuite_hooks.h: Fix warning nits. 2003-03-19 Alexandre Oliva * config/cpu/mips/atomicity.h (__exchange_and_add, __atomic_add): Only .set mips2 for the o32 ABI. 2003-03-19 Paolo Carlini * testsuite/21_strings/char_traits/requirements/char/1.cc: Test char not wchar_t. 2003-03-18 Paolo Carlini * testsuite/21_strings/basic_string/append/wchar_t/1.cc: Correct size, taking into account sizeof(wchar_t). 2003-03-18 Paolo Carlini Reshuffle 21_strings testsuite. * testsuite/21_strings/append.cc, c_strings.cc, invariants.cc, assign.cc, ctor_copy_dtor.cc, nonmember.cc, capacity.cc, element_access.cc, operations.cc, char_traits_requirements.cc, find.cc, replace.cc, char_traits_typedefs.cc, insert.cc, rfind.cc, compare.cc, inserters_extractors.cc, substr.cc: Split up, add wchar_t tests as follows. * 21_strings/basic_string/append/char/1.cc: New. * 21_strings/basic_string/append/wchar_t/1.cc: New. * 21_strings/basic_string/assign/char/1.cc: New. * 21_strings/basic_string/assign/char/2.cc: New. * 21_strings/basic_string/assign/char/3.cc: New. * 21_strings/basic_string/assign/wchar_t/1.cc: New. * 21_strings/basic_string/assign/wchar_t/2.cc: New. * 21_strings/basic_string/assign/wchar_t/3.cc: New. * 21_strings/basic_string/capacity/1.cc: New. * 21_strings/basic_string/capacity/char/1.cc: New. * 21_strings/basic_string/capacity/char/2.cc: New. * 21_strings/basic_string/capacity/wchar_t/1.cc: New. * 21_strings/basic_string/capacity/wchar_t/2.cc: New. * 21_strings/basic_string/compare/char/1.cc: New. * 21_strings/basic_string/compare/wchar_t/1.cc: New. * 21_strings/basic_string/cons/char/1.cc: New. * 21_strings/basic_string/cons/char/2.cc: New. * 21_strings/basic_string/cons/char/3.cc: New. * 21_strings/basic_string/cons/char/4.cc: New. * 21_strings/basic_string/cons/char/5.cc: New. * 21_strings/basic_string/cons/wchar_t/1.cc: New. * 21_strings/basic_string/cons/wchar_t/2.cc: New. * 21_strings/basic_string/cons/wchar_t/3.cc: New. * 21_strings/basic_string/cons/wchar_t/4.cc: New. * 21_strings/basic_string/cons/wchar_t/5.cc: New. * 21_strings/basic_string/element_access/char/1.cc: New. * 21_strings/basic_string/element_access/char/2.cc: New. * 21_strings/basic_string/element_access/char/3.cc: New. * 21_strings/basic_string/element_access/wchar_t/1.cc: New. * 21_strings/basic_string/element_access/wchar_t/2.cc: New. * 21_strings/basic_string/element_access/wchar_t/3.cc: New. * 21_strings/basic_string/find/char/1.cc: New. * 21_strings/basic_string/find/wchar_t/1.cc: New. * 21_strings/basic_string/insert/char/1.cc: New. * 21_strings/basic_string/insert/char/2.cc: New. * 21_strings/basic_string/insert/wchar_t/1.cc: New. * 21_strings/basic_string/insert/wchar_t/2.cc: New. * 21_strings/basic_string/inserters_extractors/char/1.cc: New. * 21_strings/basic_string/inserters_extractors/char/4.cc: New. * 21_strings/basic_string/inserters_extractors/char/5.cc: New. * 21_strings/basic_string/inserters_extractors/char/6.cc: New. * 21_strings/basic_string/inserters_extractors/char/7.cc: New. * 21_strings/basic_string/inserters_extractors/char/8.cc: New. * 21_strings/basic_string/inserters_extractors/char/9.cc: New. * 21_strings/basic_string/inserters_extractors/wchar_t/1.cc: New. * 21_strings/basic_string/inserters_extractors/wchar_t/4.cc: New. * 21_strings/basic_string/inserters_extractors/wchar_t/5.cc: New. * 21_strings/basic_string/inserters_extractors/wchar_t/6.cc: New. * 21_strings/basic_string/inserters_extractors/wchar_t/7.cc: New. * 21_strings/basic_string/inserters_extractors/wchar_t/8.cc: New. * 21_strings/basic_string/inserters_extractors/wchar_t/9.cc: New. * 21_strings/basic_string/operators/char/1.cc: New. * 21_strings/basic_string/operators/char/2.cc: New. * 21_strings/basic_string/operators/wchar_t/1.cc: New. * 21_strings/basic_string/operators/wchar_t/2.cc: New. * 21_strings/basic_string/replace/char/1.cc: New. * 21_strings/basic_string/replace/char/2.cc: New. * 21_strings/basic_string/replace/char/3.cc: New. * 21_strings/basic_string/replace/char/4.cc: New. * 21_strings/basic_string/replace/char/5.cc: New. * 21_strings/basic_string/replace/wchar_t/1.cc: New. * 21_strings/basic_string/replace/wchar_t/2.cc: New. * 21_strings/basic_string/replace/wchar_t/3.cc: New. * 21_strings/basic_string/replace/wchar_t/4.cc: New. * 21_strings/basic_string/replace/wchar_t/5.cc: New. * 21_strings/basic_string/rfind/char/1.cc: New. * 21_strings/basic_string/rfind/char/2.cc: New. * 21_strings/basic_string/rfind/char/3.cc: New. * 21_strings/basic_string/rfind/wchar_t/1.cc: New. * 21_strings/basic_string/rfind/wchar_t/2.cc: New. * 21_strings/basic_string/rfind/wchar_t/3.cc: New. * 21_strings/basic_string/substr/char/1.cc: New. * 21_strings/basic_string/substr/wchar_t/1.cc: New. * 21_strings/c_strings/char/1.cc: New. * 21_strings/c_strings/char/2.cc: New. * 21_strings/c_strings/wchar_t/1.cc: New. * 21_strings/c_strings/wchar_t/2.cc: New. * 21_strings/char_traits/requirements/char/1.cc: New. * 21_strings/char_traits/requirements/wchar_t/1.cc: New. * 21_strings/char_traits/typedefs/char/1.cc: New. 2003-03-17 Paolo Carlini Petur Runolfsson PR libstdc++/10097 * src/fstream.cc (basic_filebuf::_M_underflow_common, basic_filebuf::_M_underflow_common): if (gptr() < egptr()) return *gptr(). * testsuite/27_io/filebuf_virtuals.cc (test16): Add. * testsuite/27_io/filebuf_members.cc (test_04): Minor changes: unlink fifo before making it, fix spelling error. 2003-03-17 Benjamin Kosnik * testsuite/Makefile.am (CLEANFILES): Add tmp*. * testsuite/Makefile.in: Regenerate. * testsuite/27_io/filebuf_members.cc: Consistently name tmp files. Cleanups. 2003-03-17 Petur Runolfsson PR libstdc++/9964 * include/bits/fstream.tcc (basic_filebuf::close): Always close file, even when write fails. * testsuite/27_io/filebuf_members.cc (test_07): New test. 2003-03-17 Danny Smith * libsupc++/Makefile.am (C_COMPILE): Remove. (LTCOMPILE): Likewise. * libsupc++/Makefile.in: Regenerate. 2003-03-14 Benjamin Kosnik * testsuite/23_containers/bitset_members.cc: Add test variable. * testsuite/23_containers/map_insert.cc: Same. * testsuite/22_locale/ctype/cons/char/1.cc: Same. * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Same. * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same. * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same. * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same. * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Same. * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Same. * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same. * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same. * testsuite/27_io/istream_exception.cc: Same. * testsuite/27_io/filebuf_virtuals.cc: Same. * testsuite/27_io/stringbuf_virtuals.cc: Same. * testsuite/27_io/ostream_inserter_arith.cc: Same. * testsuite/26_numerics/valarray_operators.cc: Same. * testsuite/26_numerics/slice.cc: Same. * testsuite/26_numerics/slice_array_assignment.cc: Same. * testsuite/24_iterators/istream_iterator.cc: Same. * mkcheck.in (TESTS_FILE): Use dejagnu-generated file if possible. 2003-03-14 Petur Runolfsson PR libstdc++/9581 PR libstdc++/9870 * config/locale/generic/ctype_members.cc, * config/locale/gnu/ctype_members.cc (ctype::do_widen(char)): Cast argument to unsigned char before passing to btowc. (ctype::do_widen(const char*, const char*, wchar_t*)): Convert characters with btowc instead of mbsrtowcs. (ctype::do_narrow(const wchar_t*, const wchar_t*, char, char*): Convert characters with wctob instead of wcsrtombs. * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: New test. * testsuite/22_locale/ctype/widen/wchar_t/2.cc: New test. * testsuite/22_locale/ctype/widen/wchar_t/3.cc: New test. 2003-03-14 Benjamin Kosnik * include/stdc++.h: New. * libsupc++/exception_defines.h (__EXCEPTION_DEFINES_H): Add guard. * include/Makefile.am (stamp-std-precompile): Generate stdc++.h.gch * include/Makefile.in: Regenerate. * testsuite_flags.in (--build-cxx): Add, but don't use PCHFLAGS. (--cxxflags): Put -g -O2 here. * testsuite/libstdc++-v3.dg/dg.exp: Remove -g -O2 here. 2003-03-14 Loren J. Rittle * testsuite/testsuite_hooks.h: Suppress runtime exception thrown by missing named locale. 2003-03-14 Andreas Schwab * configure.in: Only append to makefiles that are newly created to avoid multiple multi-do/multi-clean rules. * configure: Rebuilt. 2003-03-13 Jonathan Wakely * docs/html/configopts.html, docs/html/documentation.html, docs/html/explanations.html, docs/html/install.html, docs/html/19_diagnostics/howto.html, docs/html/faq/index.html: Fix invalid XHTML and make page header style consistent. 2003-03-12 Jonathan Wakely * docs/html/faq/index.html: Explain memory "leaks" due to allocators. * docs/html/faq/index.txt: Regenerate. * docs/html/debug.html: Add a bit to allocator text and fix XHTML. 2003-03-12 Andreas Schwab * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in glibcpp_toolexeclibdir. * aclocal.m4, configure: Rebuilt. 2003-03-11 Jonathan Wakely * docs/html/faq/index.html: Update text about location of headers. * docs/html/faq/index.txt: Regenerate. 2003-03-11 Carlo Wood * include/bits/demangle.h: Prepend accessors of class qualifier with 'get_' in order to fix warnings when compiling with -Wshadow. 2003-03-11 Loren J. Rittle * config/os/bsd/freebsd/ctype_inline.h: Support _M_table when so installed. * testsuite/22_locale/ctype/cons/char/1.cc: Fix typo. * testsuite/testsuite_hooks.h (run_tests_wrapped_env): Do not report lack of setenv(). 2003-03-09 Paolo Carlini * config/io/basic_file_stdio.cc: include . 2003-03-09 Paolo Carlini Nathan Myers PR libstdc++/7744 * config/io/basic_file_stdio.h (__basic_file<>::xsgetn, xsputn, seekoff, seekpos): Add a boolean parameter __stdio. * config/io/basic_file_stdio.cc (__basic_file<>::xsgetn, xsputn, seekoff, seekpos): If __stdio == true, use fread (fwrite, fseek/ftell, fseek/ftell, respectively), otherwise read (write, lseek, lseek, respectively). * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external, _M_really_overflow, seekoff): Use the boolean parameter in the calls. * include/std/std_fstream.h (sync): Likewise. * src/fstream.cc (basic_filebuf<>::_M_underflow_common): Likewise. * src/ios.cc (ios_base::Init::_S_ios_create(bool)): Revert libstdc++/8399 commit involving isatty(0). * acinclude.m4 (GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1): Remove. (GLIBCPP_CHECK_UNISTD_SUPPORT): Remove * configure.in: Remove call. * aclocal.m4: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. * testsuite/27_io/narrow_stream_objects.cc (test11): Add. 2003-03-09 Paolo Carlini PR libstdc++/9988 * include/bits/fstream.tcc (overflow): don't write EOF to file. * testsuite/27_io/filebuf_virtuals.cc (test15): Add. 2003-03-08 Jerry Quinn PR libstdc++/9561 * include/bits/basic_ios.h (_M_setstate): New. * include/bits/ostream.tcc (operator<<): Use it. * include/bits/istream.tcc (operator>>): Use it. * include/std/std_ostream.h (operator<<): Make friends. * include/std/std_istream.h (operator>>): Make friends. * testsuite/27_io/ostream_exception.cc, testsuite/27_io/istream_exception.cc: New tests. 2003-03-08 Benjamin Kosnik * include/bits/locale_facets.tcc: Fix typo. 2003-03-08 Loren J. Rittle * testsuite/26_numerics/c99_classification_macros_c.cc: Tweak test. * config/locale/generic/c_locale.cc (locale::facet::_S_create_c_locale): Throw runtime exception when unsupported language is specified. * testsuite/testsuite_hooks.h (run_test_wrapped_generic_locale_exception_catcher): New function. * testsuite/testsuite_hooks.cc (run_tests_wrapped_locale): Suppress runtime exception thrown by generic implementation. (run_tests_wrapped_env): Likewise. (run_test_wrapped_generic_locale_exception_catcher): New function. * testsuite/22_locale/collate/compare/char/1.cc: New test wrap. * testsuite/22_locale/collate/compare/char/2.cc: New test wrap. * testsuite/22_locale/collate/compare/char/3.cc: New test wrap. * testsuite/22_locale/collate/hash/char/2.cc: New test wrap. * testsuite/22_locale/collate/transform/char/2.cc: New test wrap. * testsuite/22_locale/collate/transform/char/3.cc: New test wrap. * testsuite/22_locale/collate_byname/1.cc: New test wrap. * testsuite/22_locale/ctype/is/char/2.cc: New test wrap. * testsuite/22_locale/facet/2.cc: New test wrap. * testsuite/22_locale/locale/cons/4.cc: New test wrap. * testsuite/22_locale/locale/cons/5.cc: New test wrap. * testsuite/22_locale/locale/cons/7.cc: New test wrap. * testsuite/22_locale/messages/members/char/1.cc: New test wrap. * testsuite/22_locale/messages/members/char/2.cc: New test wrap. * testsuite/22_locale/messages/members/char/3.cc: New test wrap. * testsuite/22_locale/messages_byname/1.cc: New test wrap. * testsuite/22_locale/money_get/get/char/1.cc: New test wrap. * testsuite/22_locale/money_get/get/char/2.cc: New test wrap. * testsuite/22_locale/money_get/get/char/3.cc: New test wrap. * testsuite/22_locale/money_get/get/char/4.cc: New test wrap. * testsuite/22_locale/money_put/put/char/1.cc: New test wrap. * testsuite/22_locale/money_put/put/char/2.cc: New test wrap. * testsuite/22_locale/money_put/put/char/3.cc: New test wrap. * testsuite/22_locale/moneypunct/members/char/2.cc: New test wrap. * testsuite/22_locale/moneypunct_byname/1.cc: New test wrap. * testsuite/22_locale/num_get/get/char/1.cc: New test wrap. * testsuite/22_locale/num_get/get/char/2.cc: New test wrap. * testsuite/22_locale/num_get/get/char/3.cc: New test wrap. * testsuite/22_locale/num_get/get/char/5.cc: New test wrap. * testsuite/22_locale/num_get/get/char/6.cc: New test wrap. * testsuite/22_locale/num_put/put/char/1.cc: New test wrap. * testsuite/22_locale/num_put/put/char/2.cc: New test wrap. * testsuite/22_locale/num_put/put/char/3.cc: New test wrap. * testsuite/22_locale/num_put/put/char/5.cc: New test wrap. * testsuite/22_locale/numpunct/members/char/1.cc: New test wrap. * testsuite/22_locale/numpunct/members/char/2.cc: New test wrap. * testsuite/22_locale/numpunct_byname/1.cc: New test wrap. * testsuite/22_locale/numpunct_byname/2.cc: New test wrap. * testsuite/22_locale/time_get/date_order/char/1.cc: New test wrap. * testsuite/22_locale/time_get/get_date/char/1.cc: New test wrap. * testsuite/22_locale/time_get/get_date/char/2.cc: New test wrap. * testsuite/22_locale/time_get/get_monthname/char/1.cc: New test wrap. * testsuite/22_locale/time_get/get_monthname/char/2.cc: New test wrap. * testsuite/22_locale/time_get/get_time/char/1.cc: New test wrap. * testsuite/22_locale/time_get/get_time/char/2.cc: New test wrap. * testsuite/22_locale/time_get/get_weekday/char/1.cc: New test wrap. * testsuite/22_locale/time_get/get_weekday/char/2.cc: New test wrap. * testsuite/22_locale/time_get/get_year/char/1.cc: New test wrap. * testsuite/22_locale/time_put/put/char/1.cc: New test wrap. * testsuite/22_locale/time_put/put/char/2.cc: New test wrap. * testsuite/22_locale/time_put/put/char/3.cc: New test wrap. * testsuite/22_locale/time_put/put/char/4.cc: New test wrap. * testsuite/22_locale/time_put/put/char/5.cc: New test wrap. * testsuite/22_locale/time_put/put/char/6.cc: New test wrap. * testsuite/22_locale/time_put/put/char/7.cc: New test wrap. * testsuite/22_locale/time_put/put/char/8.cc: New test wrap. * testsuite/27_io/filebuf_virtuals.cc: New test wrap. * testsuite/27_io/ios_members.cc: New test wrap. * testsuite/27_io/ostream_inserter_arith.cc (test02): Make void. New test wrap. * testsuite/27_io/streambuf_members.cc: New test wrap. * testsuite/27_io/stringbuf_virtuals.cc: New test wrap. 2003-03-08 Paolo Carlini Petur Runolfsson PR libstdc++/9424 * include/bits/streambuf.tcc (__copy_streambufs): Use sgetn-sputn only when sputn cannot fail, otherwise fall back to safe snextc-sputc. * testsuite/27_io/streambuf_members.cc (test11, test12): Add. 2003-03-08 Jerry Quinn * include/bits/locale_facets.tcc (num_put::do_put(bool)): Use locale cache for truename and falsename. 2003-03-08 Jerry Quinn * src/ios.cc (ios_base::ios_base): Correct order of _M_word and _M_word_size initialization. 2003-03-07 Paolo Carlini * include/bits/fstream.tcc (_M_convert_to_external): Set __elen to zero if codecvt::out eventually fails. 2003-03-07 Paolo Carlini PR libstdc++/9182 * include/bits/fstream.tcc (_M_really_overflow): Check for _M_convert_to_external possible failures. * include/std/std_fstream.h (sync): Check _M_really_overflow return value and return -1 in case of failure. * testsuite/27_io/filebuf_virtuals.cc (test13, test14): Add. 2003-03-07 Paolo Carlini PR libstdc++/9826 * include/bits/istream.tcc (operator>>(_CharT*), operator>>(basic_string&), ws): Pass a char_type to __ctype.is. * testsuite/27_io/stringstream.cc (test02): Add. * include/bits/istream.tcc (operator>>(_CharT*)): Assign a char_type to *__s. 2003-03-07 Petur Runolfsson PR libstdc++/9817 * include/bits/locale_facets.tcc (collate::do_compare, collate::do_transform): Handle nul characters in input. * testsuite/22_locale/collate/compare/char/3.cc: New test. * testsuite/22_locale/collate/compare/wchar_t/3.cc: New test. * testsuite/22_locale/collate/transform/char/3.cc: New test. * testsuite/22_locale/collate/transform/wchar_t/3.cc: New test. 2003-03-07 Jerry Quinn * include/bits/streambuf_iterator.h (_M_put): Set _M_failed if sputn fails. * testsuite/27_io/ostream_fail.cc: New test. 2003-03-07 Matthias Klose * Makefile.am (AM_MAKEFLAGS): Also pass gxx_include_dir. FLAGS_TO_PASS: Set to AM_MAKEFLAGS * Makefile.in: Regenerate. * libsupc++/Makefile.am: Express glibcppinstalldir in terms of gxx_include_dir. AM_MAKEFLAGS: Pass gxx_include_dir. * libsupc++/Makefile.in: Regenerate. 2003-03-06 Jerry Quinn * testsuite/27_io/ios_base_storage.cc (test02): Set exception mask. Test setting small-numbered pword and iword slots. Test behavior at limit of numeric_limits::max. Check that values are still good after failures. 2003-03-06 Jerry Quinn * src/ios.cc (ios_base::_M_init): Remove _M_word_size. (ios_base::ios_base): Set _M_word, _M_word_size. (ios_base::~ios_base): Remove redundant test. * testsuite/27_io/ios_base_storage.cc (test03): New. 2003-03-04 Alexandre Oliva * src/strstream.cc, include/bits/basic_string.tcc: Remove incorrect whitespace added in my previous change. 2003-03-05 Carlo Wood * include/bits/ios_base.h(ios_base::Init::_S_initialized()): Added _S_initialized() in order to allow debugging libraries to detect when the std streams are initialized from an overloaded operator new. 2003-03-05 Benjamin Kosnik * libsupc++/demangle.h: Move to.. * include/bits/demangle.h: ...here. * src/demangle.cc: Adjust include. * include/Makefile.am (bits_headers): Add. * include/Makefile.in: Regenerate. 2003-03-04 Benjamin Kosnik * src/globals.cc: Clarify comments, remove c_locale_imp_compat. * config/linker-map.gnu: Filter typeinfo and vtable info. 2003-03-04 Jerry Quinn * src/ios.cc (ios_base::_M_grow_words): Don't delete _M_word on new failure. Throw exception if badbit and exception mask when ix >= numeric_limits::max(). 2003-03-04 Alexandre Oliva * src/strstream.cc (strstreambuf::overflow): Make sure operands of min and max have the same type. * include/bits/basic_string.tcc (append, rfind, compare): Likewise. 2003-03-04 Benjamin Kosnik * include/Makefile.am (allstamps): Remove stamp-std-precompile. * include/Makefile.in: Regenerate. 2003-03-03 Benjamin Kosnik * testsuite/abi_check.cc (report_symbol_info): Add version info. * config/linker-map.gnu: Hide more stuff. * include/Makefile.am: Cleanups. * include/Makefile.in: Regenerate. 2003-02-27 Jerry Quinn * config/locale/generic/messages_members.h (messages::messages): Remove name from unused parameter. 2003-02-27 Benjamin Kosnik * src/Makefile.am (sources): Add demangle.cc. (demangle.o): Add. (demangle.lo): Add. * src/Makefile.in: Regenerate. * libsupc++/Makefile.am: Remove old __cxa_demangle bits. * libsupc++/Makefile.in: Regenerate. * testsuite/testsuite_hooks.h (__gnu_cxx_test::verify_demangle): New. * testsuite/testsuite_hooks.cc: Define. 2003-02-27 Carlo Wood * src/demangle.cc: New. * libsupc++/demangle.h: New. 2003-02-27 Benjamin Kosnik Carlo Wood * testsuite/demangle/abi_examples/01.cc: New. * testsuite/demangle/abi_examples/02.cc: New. * testsuite/demangle/abi_examples/03.cc: New. * testsuite/demangle/abi_examples/04.cc: New. * testsuite/demangle/abi_examples/05.cc: New. * testsuite/demangle/abi_examples/06.cc: New. * testsuite/demangle/abi_examples/07.cc: New. * testsuite/demangle/abi_examples/08.cc: New. * testsuite/demangle/abi_examples/09.cc: New. * testsuite/demangle/abi_examples/10.cc: New. * testsuite/demangle/abi_examples/11.cc: New. * testsuite/demangle/abi_examples/12.cc: New. * testsuite/demangle/abi_examples/13.cc: New. * testsuite/demangle/abi_examples/14.cc: New. * testsuite/demangle/abi_examples/15.cc: New. * testsuite/demangle/abi_examples/16.cc: New. * testsuite/demangle/abi_examples/17.cc: New. * testsuite/demangle/abi_examples/18.cc: New. * testsuite/demangle/abi_examples/19.cc: New. * testsuite/demangle/abi_examples/20.cc: New. * testsuite/demangle/abi_examples/21.cc: New. * testsuite/demangle/abi_examples/22.cc: New. * testsuite/demangle/abi_examples/23.cc: New. * testsuite/demangle/abi_examples/24.cc: New. * testsuite/demangle/abi_examples/25.cc: New. * testsuite/demangle/abi_examples/26.cc: New. * testsuite/demangle/abi_text/01.cc: New. * testsuite/demangle/abi_text/02.cc: New. * testsuite/demangle/abi_text/03.cc: New. * testsuite/demangle/abi_text/04.cc: New. * testsuite/demangle/abi_text/05.cc: New. * testsuite/demangle/abi_text/06.cc: New. * testsuite/demangle/abi_text/07.cc: New. * testsuite/demangle/abi_text/08.cc: New. * testsuite/demangle/abi_text/09.cc: New. * testsuite/demangle/abi_text/10.cc: New. * testsuite/demangle/abi_text/11.cc: New. * testsuite/demangle/abi_text/12.cc: New. * testsuite/demangle/abi_text/13.cc: New. * testsuite/demangle/abi_text/14.cc: New. * testsuite/demangle/regression/3111-1.cc: New. * testsuite/demangle/regression/3111-2.cc: New. * testsuite/demangle/regression/7986-01.cc: New. * testsuite/demangle/regression/7986-02.cc: New. * testsuite/demangle/regression/7986-03.cc: New. * testsuite/demangle/regression/7986-04.cc: New. * testsuite/demangle/regression/7986-05.cc: New. * testsuite/demangle/regression/7986-06.cc: New. * testsuite/demangle/regression/7986-07.cc: New. * testsuite/demangle/regression/7986-08.cc: New. * testsuite/demangle/regression/7986-09.cc: New. * testsuite/demangle/regression/7986-10.cc: New. * testsuite/demangle/regression/7986-11.cc: New. * testsuite/demangle/regression/7986-12.cc: New. * testsuite/demangle/regression/7986.cc: New. * testsuite/demangle/regression/8897.cc: New. * testsuite/demangle/regression/cw-01.cc: New. * testsuite/demangle/regression/cw-02.cc: New. * testsuite/demangle/regression/cw-03.cc: New. * testsuite/demangle/regression/cw-04.cc: New. * testsuite/demangle/regression/cw-05.cc: New. * testsuite/demangle/regression/cw-06.cc: New. * testsuite/demangle/regression/cw-07.cc: New. * testsuite/demangle/regression/cw-08.cc: New. * testsuite/demangle/regression/cw-09.cc: New. * testsuite/demangle/regression/cw-10.cc: New. * testsuite/demangle/regression/cw-11.cc: New. * testsuite/demangle/regression/cw-12.cc: New. * testsuite/demangle/regression/cw-13.cc: New. * testsuite/demangle/regression/cw-14.cc: New. * testsuite/demangle/regression/old.cc: New. 2003-02-25 Phil Edwards * docs/doxygen/Intro.3: Update with new (proper) names. * docs/doxygen/TODO: Update. * docs/doxygen/run_doxygen: More comments, fix up man pages. Fake entries for standard typedefs. * docs/doxygen/user.cfg.in: Turn INLINE_INHERITED_MEMB back on. * docs/html/documentation.html: Top-level man page is now called C++Intro. * include/std/std_limits.h: Doxygenate. 2003-02-25 Scott Snyder PR libstdc++/9811 * include/bits/stl_map.h (lower_bound, upper_bound, equal_range): Correct documentation. * include/bits/stl_multimap.h (lower_bound, upper_bound, equal_range): Likewise. 2003-02-24 Paolo Carlini PR libstdc++/9825 * src/fstream.cc (basic_filebuf::_M_underflow_common): When __bump is true (uflow), always increment the read pointer (_M_in_cur) before returning successfully. * testsuite/27_io/filebuf_virtuals.cc (test12): Add. 2003-02-24 Paolo Carlini Nathan Myers PR libstdc++/9404, PR libstdc++/9701 (partial) (aka pptr == epptr implies overflow) * include/bits/fstream.tcc (_M_allocate_internal_buffer): Consistently, _M_out_end points to the end of the buffer just created. (overflow): Tweak to use _M_out_buf_size(). (_M_convert_to_external): The role of the old _M_out_end is now played by _M_out_lim. (_M_really_overflow): Likewise. (seekoff): Likewise. (setbuf): _M_out_end points to the end of the external buffer. * include/bits/sstream.tcc (overflow): Rewrote, taking into account the resolution of DR 169 (TC). (seekoff): Use _M_string.capacity(); ios_base::end is now _M_out_lim. (seekpos): Use _M_string.capacity(); tweak. * include/bits/streambuf.tcc (sputc, xsputn): Remove comments. * include/std/std_fstream.h (sync): The role of the old _M_out_end is now played by _M_out_lim. (_M_set_indeterminate): Use _M_set_determinate. (_M_set_determinate): _M_out_end is now _M_out_lim. (_M_is_indeterminate): Likewise. * include/std/std_sstream.h (str()): _M_out_end is now _M_out_lim. (_M_stringbuf_init): Don't set _M_buf_size, unused for sstreams, which have the information readily available as _M_string.capacity(); for ate and app modes, pass the string size to _M_really_sync. (_M_really_sync): Consistently set _M_out_end and _M_out_lim, to point to the end of the buffer (i.e., epptr) and to the string end, respectively. * include/std/std_streambuf.h: tweak comments, add _M_out_lim, which points to the right limit of the used put area. (_M_out_cur_move): The role of the old _M_out_end is now played by _M_out_lim. (_M_out_buf_size): Simplify: now (when _M_out_cur) return simply _M_out_end - _M_out_cur (i.e., pptr), _very_ close to the letter of the standard. (basic_streambuf()): Initialize _M_out_lim too. * testsuite/27_io/filebuf_virtuals.cc (test10): Trivial tweak. * testsuite/27_io/filebuf_virtuals.cc (test11): Add. * testsuite/27_io/stringbuf_virtuals.cc (test09): Add. 2003-02-24 Benjamin Kosnik * testsuite/27_io/ios_base_storage.cc (main): Call set_memory_limits. 2003-02-21 Jerry Quinn * include/bits/locale_facets.tcc (_M_convert_float): Replace numpunct facet accesses with data from __locale_cache. 2003-02-20 Phil Edwards * docs/html/faq/index.html (3.9): New note, wchar_t on FreeBSD. * docs/html/faq/index.txt: Regenerate. 2003-02-20 Phil Edwards * config/linker-map.gnu: Also export locking symbols needed for the generic atomicity.h case. 2003-02-20 Alexandre Oliva * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to config.status. * configure: Rebuilt. 2003-02-19 Paolo Carlini * include/bits/sstream.tcc (overflow): According to 27.7.1.3, p5, actual output is performed by sputc(c). 2003-02-19 Phil Edwards PR libstdc++/9582 * include/bits/stl_alloc.h: Remove all traces of assert(). 2003-02-18 Paolo Carlini * include/std/std_sstream.h (str()): the size of the current string may be different from the initial one whenever _M_out_end > _M_out_beg. * testsuite/27_io/stringbuf_members.cc (test07): Add. 2003-02-18 Paolo Carlini PR libstdc++/9582 * include/bits/stl_alloc.h (__pool_alloc::allocate): Remove assert. 2003-02-17 Benjamin Kosnik * include/bits/basic_ios.tcc (copyfmt): Copy locale data as well. * testsuite/27_io/ios_members.cc (test03): New. 2003-02-17 Jerry Quinn * include/bits/basic_ios.h (basic_ios::_M_cache_locale): Declare. (basic_ios::_M_cache_facets): Move into above. * include/bits/basic_ios.tcc (basic_ios::copyfmt): Rebuild locale cache. (basic_ios::imbue): Force locale cache to be built. (basic_ios::_M_init): Create and initialize locale cache. * include/bits/ios_base.h (__locale_cache_base): Declare. (ios_base::_M_locale_cache): New. (ios_base::_M_cache): Define. * include/bits/locale_facets.h: (__num_base): Fix comment. Add _S_end. (__locale_cache_base,__locale_cache<_CharT>): New classes. (__locale_cache, __locale_cache): New specializations. * include/bits/locale_facets.tcc (num_put::_M_convert_int): Use locale cache literal string, grouping flag, thousands separator. (__locale_cache<_CharT>::__locale_cache): New. (__locale_cache<_CharT>::_M_init): New. * src/ios.cc: Clear _M_locale_cache in constructor. * src/locale-inst.cc (__locale_cache, __locale_cache<_char_t>): New. 2003-02-17 Paolo Carlini * src/locale-inst.cc: Do not include . * src/locale.cc: Likewise. 2003-02-17 Paolo Carlini PR libstdc++/9580 * include/std/std_fstream.h: Declare underflow and uflow specializations, change generic definitions to do nothing. * src/fstream.cc: Add underflow and uflow specializations. 2003-02-17 Paolo Carlini PR libstdc++/9169 * include/bits/fstream.tcc (_M_convert_to_external): Deal correctly with noconv, as prescribed by 27.8.1.4,p8. * testsuite/27_io/filebuf_virtuals.cc (test10): Add. 2003-02-13 Benjamin Kosnik * include/bits/c++config (_GLIBCPP_EXTERN_TEMPLATE): Define. * include/bits/basic_ios.tcc: Guard use of extern template. * include/std/std_iomanip.h: Same. * include/bits/streambuf.tcc: Same. * include/bits/stl_alloc.h: Same. * include/bits/locale_facets.tcc: Same. * include/bits/ostream.tcc: Same. * include/bits/istream.tcc: Same. * include/bits/fstream.tcc: Same. * include/bits/basic_string.tcc: Same. 2003-02-13 Paolo Carlini * include/bits/ostream.tcc (sentry::sentry): Improve performance-wise the fix for libstdc++/9563. 2003-02-12 Phil Edwards * config/cpu/generic/atomicity.h (_Atomic_add_mutex): Fix declaration. (_GLIBCPP_NEED_GENERIC_MUTEX): Define for this file. (_Atomic_add_mutex_once, __gthread_atomic_add_mutex_once): Declare when we don't have static mutex initialization. (__exchange_and_add): Use _Atomic_add_mutex_once. * src/misc-inst.cc: Definitions of all the above. 2003-02-12 Paolo Carlini PR libstdc++/9563 * include/bits/ostream.tcc (sentry::sentry): Check the state of the stream after the preparation. * testsuite/27_io/ostream_sentry.cc (test02): Add. 2003-02-11 Benjamin Kosnik * include/Makefile.am (stamp-std-precompile): Add rule. * include/Makefile.in: Regenerated. 2003-02-11 Jerry Quinn Benjamin Kosnik * include/bits/locale_facets.h (__num_base): Add _S_atoms_out. Add indexes into this array. (__num_base::_S_atoms): To _S_atoms_in. (num_put::_M_insert): Rename to _M_pad. (num_put::_M_convert_int): Adjust remove __mod, __modl arguments. (num_put::_M_widen_int): Rename to _M_group_int. (num_put::_M_widen_float): Rename to _M_group_float. * include/bits/locale_facets.tcc (__int_to_char): New inline function and adapter functions. (num_put::_M_group_int): Streamline. (num_put::_M_group_float): Streamline. (num_put::_M_convert_int): Remove unused parameter names. Choose large enough buffer for text. Use __int_to_char instead of __convert_from_v. Formatted text is now at the end of the buffer. (num_put::_M_convert_float): Preliminary fixups. * src/locale-inst.cc (__convert_from_v): Add ifdef. (__int_to_char): Same. (__int_to_char): New. (__int_to_char): New. (__int_to_char): New. (__int_to_char): New. 2003-02-11 Scott Snyder PR libstdc++/9659 * include/bits/fstream.tcc (seekoff): Avoid operator+ for pos_type. 2003-02-11 Paolo Carlini PR libstdc++/9320 * include/ext/stdio_filebuf.h (stdio_filebuf(int, std::ios_base::openmode, bool, int_type), stdio_filebuf(std::__c_file*, std::ios_base::openmode, int_type)): Change to take a __size parameter of type size_t, not of type (template parameter dependent) int_type. * src/ios.cc (ios_base::Init::_S_ios_create): Change type of size vars to size_t. * testsuite/ext/stdio_filebuf.cc: Add. 2003-02-11 Paolo Carlini Petur Runolfsson PR libstdc++/9318 * include/bits/streambuf.tcc (__copy_streambufs): Don't conditionalize the copy to __testput. * testsuite/27_io/streambuf_members.cc (test09, test10): Add. 2002-02-11 DJ Delorie * acinclude.m4: Check for native targets that can't link at this point in the build. * aclocal.m4: Regenerate. * configure: Regenerate. 2003-02-08 John David Anglin * hppa/atomicity.h (__Atomicity_lock<__inst>::_S_atomicity_lock): Correct alignment. (__exchange_and_add, __atomic_add): Use PA 2.0 ordered store to reset lock. 2003-02-07 Paolo Carlini * testsuite/27_io/filebuf_virtuals.cc (test08): Fix for unsigned char platforms. 2003-02-06 Paolo Carlini PR libstdc++/9562 * include/std/std_istream.h (basic_istream::sentry::operator bool()): Make const. * include/std/std_ostream.h (basic_ostream::sentry::operator bool()): Likewise. * testsuite/27_io/istream_sentry.cc (test03): Add. * testsuite/27_io/ostream_sentry.cc: Add. 2003-02-06 Paolo Carlini PR libstdc++/9548 Implement resolution of DR 231 (Ready) * include/bits/locale_facets.h (__num_base::_S_format_float): Change declaration: return void, remove __prec parameter. * src/locale.cc (__num_base::_S_format_float): Implement resolution of DR 231. * include/bits/locale_facets.tcc (num_put::_M_convert_float): Tweak uses. Check for negative precision. * testsuite/22_locale/num_put/put/char/6.cc: Add * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise. 2003-02-06 Peter Soetens * config/io/basic_file_libio.h: Fixups. * config/io/c_io_libio.h: Same. * libio/Makefile.am: Same. * libio/Makefile.in: Regenerated. 2003-02-06 Benjamin Kosnik * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc (test01): Explicitly use the "C" locale. * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc (test01): Same. 2003-02-06 Petur Runolfsson DR 75 DR 305 PR libstdc++/9028 (partial) PR libstdc++/9224 PR libstdc++/9246 PR libstdc++/9247 * src/codecvt.cc (codecvt::do_encoding, codecvt::do_length, codecvt::do_max_length): Move... * config/locale/generic/codecvt_members.cc: ...here. * config/locale/gnu/codecvt_members.cc: ...and here. * config/locale/generic/codecvt_members.cc, * config/locale/gnu/codecvt_members.cc (codecvt::do_encoding codecvt::do_in, codecvt::do_length, codecvt::do_max_length, codecvt::do_out): New implementation that handles stateless encodings, including UTF-8. * config/locale/generic/codecvt_members.cc, * config/locale/gnu/codecvt_members.cc, * config/locale/ieee_1003.1-2001/codecvt_specializations.h, * include/bits/codecvt.h, * src/codecvt.cc (codecvt::length, codecvt::do_length): Change type of first argument of length and do_length from 'const state_type&' to 'state_type&' according to DR 75. * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Cleanup. * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: New test. * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc: Cleanup and check for correct return value from encoding for "C" locale. * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Cleanup. * testsuite/22_locale/codecvt/in/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/4.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/5.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/6.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/7.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/8.cc: New test. * testsuite/22_locale/codecvt/in/wchar_t/9.cc: New test. * testsuite/22_locale/codecvt/length/char/1.cc: Cleanup. * testsuite/22_locale/codecvt/length/char/2.cc: New test. * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Cleanup. * testsuite/22_locale/codecvt/length/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/length/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/length/wchar_t/4.cc: New test. * testsuite/22_locale/codecvt/length/wchar_t/5.cc: New test. * testsuite/22_locale/codecvt/length/wchar_t/6.cc: New test. * testsuite/22_locale/codecvt/length/wchar_t/7.cc: New test. * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Cleanup. * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: New test. * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Cleanup. * testsuite/22_locale/codecvt/out/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/out/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/out/wchar_t/4.cc: New test. * testsuite/22_locale/codecvt/out/wchar_t/5.cc: New test. * testsuite/22_locale/codecvt/out/wchar_t/6.cc: New test. * testsuite/22_locale/codecvt/out/wchar_t/7.cc: New test. * testsuite/22_locale/codecvt/unicode/1.cc: New test. * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Cleanup. * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: New test. * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: New test. * testsuite/22_locale/codecvt/unshfit/wchar_t/4.cc: New test. 2003-02-05 Benjamin Kosnik * include/bits/locale_facets.tcc (time_put::do_put): Use __write. (money_put::do_put): Same. 2003-02-05 Jerry Quinn * include/bits/ios_base.h (ios_base): Document reserved storage. * include/bits/locale_facets.h: (struct __pad): Comment on implementation. (__verify_grouping): Same. (__add_grouping): Same. * include/bits/locale_facets.tcc (__verify_grouping): Move comments to declaration. (__add_grouping): Same. * include/bits/locale_facets.tcc: (__write<_CharT, _OutIter>): New function. (__write<_CharT>): New function specialization. (num_put::_M_insert): Remove explicit loop over iterator. Use __write. (num_put::_M_widen_float): Remove __basefield. (num_put::_M_widen_int): Move __basefield to within grouping block. * include/bits/streambuf_iterator.h: Include . (ostreambuf_iterator::_M_put): Add. 2003-02-05 Paolo Carlini * testsuite/26_numerics/valarray_name_lookup.cc: Fix typo. 2003-02-04 Nathan Myers * testsuite/25_algorithms/min_max.cc (test02): Add. 2003-02-04 Paolo Carlini PR libstdc++/9439, PR libstdc++/9425 * config/io/basic_file_stdio.cc (__basic_file::seekoff, seekpos): Return -1L if fseek fails. * include/bits/fstream.tcc (basic_filebuf::seekoff): Check _M_file.seekoff return value; always return pos_type(off_type(-1)) in case of failure. (basic_filebuf::pbackfail): Check this->seekoff return value and return traits_type::eof() in case of failure. * testsuite/27_io/filebuf_virtuals.cc (test09): Add. 2003-02-04 Jerry Quinn * include/std/std_ostream.h (ostream::_M_write): Declare. * ostream.tcc (ostream::_M_write): Define. (basic_ostream::write): Use it. (operator<<(basic_ostream, _CharT)): Ditto. (operator<<(basic_ostream, char)): Ditto. (operator<<(basic_ostream, _CharT*)): Ditto. (operator<<(basic_ostream, char*)): Ditto. (operator<<(basic_ostream, basic_string)): Ditto. 2003-02-04 Benjamin Kosnik * testsuite/26_numerics/valarray_name_lookup.cc: Fix. 2002-02-04 Jonathan Wakely * docs/html/27_io/howto.html: Link to Dietmar Kuehl's IOStream page, add HTML comment about updating links if numbering changes. 2003-02-04 Paolo Carlini PR libstdc++/9538 * include/bits/streambuf.tcc (sputbackc): Access this->gptr()[-1] only if _M_in_beg < _M_in_cur. * testsuite/27_io/filebuf_virtuals.cc (test08): Add. 2003-02-04 Paolo Carlini PR libstdc++/9507 * include/bits/fstream.tcc (open): If the 'ate' repositioning operation fails, calls close _and_ returns a null pointer to indicate failure (27.8.1.3,4). * testsuite/27_io/filebuf_members.cc (test_06): Add. 2003-02-04 Petur Runolfsson * testsuite/27_io/filebuf_members.cc (test_04): Remove exit(0). 2002-02-04 Jonathan Wakely * docs/html/27_io/howto.html: New section on stdio_filebuf. * docs/html/ext/howto.html: Move stdio_filebuf notes to 27_io. * docs/html/documentation.html: Regenerate. 2003-02-04 Joseph S. Myers * docs/html/17_intro/porting.texi: Update to GFDL 1.2. * docs/html/17_intro/porting.html: Regenerate. 2003-02-03 Falk Hueffner Phil Edwards * include/std/std_bitset.h: Replace CHAR_BIT with __CHAR_BIT__, use numeric_limits for bits-per-word values. (_Base_bitset::_M_do_count, _Base_bitset<1>::_M_do_count): Use __builtin_popcountl instead. (_Base_bitset::_M_do_find_first, _Base_bitset::_M_do_find_next, _Base_bitset<1>::_M_do_find_first, _Base_bitset<1>::_M_do_find_next): Use __builtin_ctzl instead. (_S_bit_count, _S_first_one): Remove. * config/linker-map.gnu (GLIBCPP_3.4): Remove std::_S_bit_count. * src/Makefile.am (sources): Remove bitset.cc. * src/bitset.cc: Delete file. * src/Makefile.in: Regenerate. 2003-02-03 Phil Edwards PR libstdc++/9527, PR libstdc++/8713 * docs/html/install.html: Mention glibc version requirement. * docs/html/faq/index.html (3.8): New note, glibc 2.2.5+ is needed with 3.2.1+ (formatting bugfixes). * docs/html/faq/index.txt: Regenerate. 2003-02-03 Volker Reichelt PR libstdc++/9234 * include/bits/valarray_before.h (_UnBase::operator[]): Apply unary operator. * include/bits/valarray_before.h (__not_equal_to): Use != instead of ==. * testsuite/26_numerics/valarray_operators.cc: New test. 2003-02-01 Phil Edwards * docs/html/faq/index.html: Correct link to libg++ information. * docs/html/faq/index.txt: Regenerated. 2003-02-01 Paolo Carlini Benjamin Kosnik Const correctness issue: http://gcc.gnu.org/ml/libstdc++/2003-01/msg00370.html * include/bits/locale_classes.h (locale::_Impl::_M_facets): Change type to const facet**. (locale::_Impl::_M_install_facet): Change declaration to take const facet*. (locale::facet::_M_references): Make mutable. (locale::facet::_M_add_reference): Declare const. (locale::facet::_M_remove_reference): Likewise. * include/bits/locale_facets.tcc (use_facet(const locale&)): Tweak for const facet** _M_facets. (has_facet(const locale&)): Likewise. * src/locale.cc (locale::facet::_M_add_reference): Adjust definition. (locale::facet::_M_remove_reference): Likewise. * src/localename.cc (locale::_Impl::_Impl(const _Impl&, size_t)): Tweak for const facet** _M_facets. (locale::_Impl::_Impl(const char*, size_t)): Likewise. (locale::_Impl::_Impl(facet**, size_t, bool)): Likewise. (locale::_Impl::_M_install_facet): Adjust definition to take const facet* and for const facet** _M_facets. * testsuite/22_locale/locale/cons/8.cc: Add. 2003-01-29 Mark Mitchell * include/std/std_limits.h (numeric_limits::has_infinity): Use __FLT_HAS_INIFINITY__ to initialize. (numeric_limits::has_quiet_NaN): Likewise. (numeric_limits::has_infinity): Use __DBL_HAS_INIFINITY__ to initialize. (numeric_limits::has_quiet_NaN): Likewise. (numeric_limits::has_infinity): Use __LDBL_HAS_INIFINITY__ to initialize. (numeric_limits::has_quiet_NaN): Likewise. 2003-01-28 Nathan Sidwell PR c++/9433 * libsupc++/tinfo.cc (__vmi_class_type_info::__do_dyncast): Cope with bases which are very ambiguous. 2003-01-28 Danny Smith * src/Makefile.am (CONFIG_CXXFLAGS): Reverse order of @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@. * libsupc++/Makefile.am (CONFIG_CXXFLAGS): Likewise. * src/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. 2003-01-27 Alexandre Oliva * acinclude.m4 (glibcpp_toolexeclibdir): Instead of $(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless version_specific_libs is enabled. * aclocal.m4, configure: Rebuilt. 2003-01-24 Nathan Sidwell * include/bits/valarray_meta.h: Remove, split into ... * include/bits/valarray_before.h: ... this, and ... * include/bits/valarray_after.h: ... this. * include/std/std_valarray.h: Adjust. * include/Makefile.am (bits_headers): Adjust. * include/Makefile.in: Regenerate. 2003-01-24 Andreas Schwab * config/linker-map.gnu: Fix for size_t variance. 2003-01-23 Petur Runolfsson PR libstdc++/9322 * include/std/std_streambuf.h (basic_streambuf::basic_streambuf, basic_streambuf::~basic_streambuf, basic_streambuf::getloc, basic_streambuf::imbue): Remove _M_buf_locale_init * include/bits/fstream.tcc (basic_filebuf::imbue): Likewise * testsuite/27_io/filebuf_virtuals.cc (test08): Add. * testsuite/27_io/streambuf_members.cc (test08): Add. * testsuite/27_io/stringbuf_virtuals.cc (test08): Add. 2003-01-23 Benjamin Kosnik Revert include ordering. * config/locale/generic/c_locale.h: Add include guards. * config/locale/gnu/c_locale.h: Same. * include/bits/locale_classes.h: Remove cctype include. * include/std/std_iosfwd.h: Add c++locale.h, cctype includes. * include/std/std_fstream.h: Remove streambuf include. * include/std/std_sstream.h: Remove streambuf include. 2003-01-23 Benjamin Kosnik * configure.in (libtool_VERSION): To 6:0:0. * configure: Regenerated. * config/linker-map.gnu: Clean. * src/misc-inst.cc: Remove instantiations. * include/bits/stl_alloc.h (__malloc_alloc_template): To __malloc_alloc. (__default_alloc_template): To __pool_alloc. * src/stl-inst.cc: Same. * include/backward/alloc.h: Update. * testsuite/ext/allocators.cc: Update. * src/globals.cc (__gnu_cxx): Remove _GLIBCPP_ASM_SYMVER. Should really try to remove these if possible. * src/locale.cc (std): Same. * testsuite/abi_check.cc (check_version): Add. 2003-01-22 Benjamin Kosnik Sysoltsev Slawa Mark Mitchell PR libstdc++/9269 * include/std/std_fstream.h (basic_filebuf::uflow): Declare. (basic_filebuf::underflow): Declare. Move definitions. 2003-01-22 Benjamin Kosnik * include/bits/locale_facets.h: Move non-facet classes requiring to... * include/bits/locale_classes.h: New. * include/bits/Makefile.am (bits_headers_src): Add locale_classes.h. * include/bits/Makefile.in: Regenerate. * include/bits/locale_facets.tcc (__convert_from_v): Move to... * config/locale/gnu/c_locale.h: ...here. * config/locale/generic/c_locale.h: Same. * include/bits/locale_facets.tcc: Move declarations to... * include/bits/locale_facets.h: ...here. * include/bits/basic_ios.h: Tweak includes accordingly. * include/std/std_sstream.h: Add streambuf include. * include/std/std_fstream.h: Ditto. * include/std/std_locale.h: Add locale_classes.h include. * include/std/std_iosfwd.h: Tweak. * src/concept-inst.cc: Add iterator include. * config/linker-map.gnu: Specify __cxa functions, mark __cxa_dyn_* bits as unexported in the future. 2003-01-21 Benjamin Kosnik Reshuffle 22_locale testsuite. * 22_locale/(codecvt.cc money_get.cc codecvt_members_char_char.cc money_get_members_char.cc codecvt_members_unicode_char.cc money_get_members_wchar_t.cc codecvt_members_unicode_wchar_t.cc moneypunct_byname.cc codecvt_members_wchar_t_char.cc moneypunct.cc collate_byname.cc moneypunct_members_char.cc collate.cc moneypunct_members_wchar_t.cc collate_members_char.cc money_put.cc collate_members_wchar_t.cc money_put_members_char.cc ctor_copy_dtor.cc money_put_members_wchar_t.cc ctype.cc num_get.cc ctype_is_char.cc num_get_members_char.cc ctype_is_wchar_t.cc num_get_members_wchar_t.cc ctype_members_char.cc numpunct_byname.cc ctype_members_wchar_t.cc numpunct.cc ctype_narrow_char.cc numpunct_members_char.cc ctype_narrow_wchar_t.cc numpunct_members_wchar_t.cc ctype_scan_char.cc num_put.cc ctype_scan_wchar_t.cc num_put_members_char.cc ctype_to_char.cc num_put_members_wchar_t.cc ctype_to_wchar_t.cc operators.cc ctype_widen_char.cc static_members.cc ctype_widen_wchar_t.cc time_get.cc facet.cc time_get_members_char.cc global_templates.cc time_get_members_wchar_t.cc, members.cc, time_put.cc, messages_byname.cc, time_put_members_char.cc, messages.cc, time_put_members_wchar_t.cc, messages_members_char.cc): Split up into individual test cases... * 22_locale/codecvt/1.cc: New. * 22_locale/codecvt/2.cc: New. * 22_locale/codecvt/always_noconv/char/1.cc: New. * 22_locale/codecvt/always_noconv/char/wrapped_env.cc: New. * 22_locale/codecvt/always_noconv/char/wrapped_locale.cc: New. * 22_locale/codecvt/always_noconv/wchar_t/1.cc: New. * 22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc: New. * 22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc: New. * 22_locale/codecvt/encoding/char/1.cc: New. * 22_locale/codecvt/encoding/char/wrapped_env.cc: New. * 22_locale/codecvt/encoding/char/wrapped_locale.cc: New. * 22_locale/codecvt/encoding/wchar_t/1.cc: New. * 22_locale/codecvt/encoding/wchar_t/wrapped_env.cc: New. * 22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc: New. * 22_locale/codecvt/in/char/1.cc: New. * 22_locale/codecvt/in/char/wrapped_env.cc: New. * 22_locale/codecvt/in/char/wrapped_locale.cc: New. * 22_locale/codecvt/in/wchar_t/1.cc: New. * 22_locale/codecvt/in/wchar_t/wrapped_env.cc: New. * 22_locale/codecvt/in/wchar_t/wrapped_locale.cc: New. * 22_locale/codecvt/length/char/1.cc: New. * 22_locale/codecvt/length/char/wrapped_env.cc: New. * 22_locale/codecvt/length/char/wrapped_locale.cc: New. * 22_locale/codecvt/length/wchar_t/1.cc: New. * 22_locale/codecvt/length/wchar_t/wrapped_env.cc: New. * 22_locale/codecvt/length/wchar_t/wrapped_locale.cc: New. * 22_locale/codecvt/max_length/char/1.cc: New. * 22_locale/codecvt/max_length/char/wrapped_env.cc: New. * 22_locale/codecvt/max_length/char/wrapped_locale.cc: New. * 22_locale/codecvt/max_length/wchar_t/1.cc: New. * 22_locale/codecvt/max_length/wchar_t/wrapped_env.cc: New. * 22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc: New. * 22_locale/codecvt/out/char/1.cc: New. * 22_locale/codecvt/out/char/wrapped_env.cc: New. * 22_locale/codecvt/out/char/wrapped_locale.cc: New. * 22_locale/codecvt/out/wchar_t/1.cc: New. * 22_locale/codecvt/out/wchar_t/wrapped_env.cc: New. * 22_locale/codecvt/out/wchar_t/wrapped_locale.cc: New. * 22_locale/codecvt/unicode/char.cc: New. * 22_locale/codecvt/unicode/wchar_t.cc: New. * 22_locale/codecvt/unshift/char/1.cc: New. * 22_locale/codecvt/unshift/char/wrapped_env.cc: New. * 22_locale/codecvt/unshift/char/wrapped_locale.cc: New. * 22_locale/codecvt/unshift/wchar_t/1.cc: New. * 22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: New. * 22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc: New. * 22_locale/collate/1.cc: New. * 22_locale/collate/2.cc: New. * 22_locale/collate/compare/char/1.cc: New. * 22_locale/collate/compare/char/2.cc: New. * 22_locale/collate/compare/char/wrapped_env.cc: New. * 22_locale/collate/compare/char/wrapped_locale.cc: New. * 22_locale/collate/compare/wchar_t/1.cc: New. * 22_locale/collate/compare/wchar_t/2.cc: New. * 22_locale/collate/compare/wchar_t/wrapped_env.cc: New. * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: New. * 22_locale/collate/hash/char/1.cc: New. * 22_locale/collate/hash/char/2.cc: New. * 22_locale/collate/hash/char/wrapped_env.cc: New. * 22_locale/collate/hash/char/wrapped_locale.cc: New. * 22_locale/collate/hash/wchar_t/1.cc: New. * 22_locale/collate/hash/wchar_t/2.cc: New. * 22_locale/collate/hash/wchar_t/wrapped_env.cc: New. * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: New. * 22_locale/collate/transform/char/2.cc: New. * 22_locale/collate/transform/char/wrapped_env.cc: New. * 22_locale/collate/transform/char/wrapped_locale.cc: New. * 22_locale/collate/transform/wchar_t/2.cc: New. * 22_locale/collate/transform/wchar_t/wrapped_env.cc: New. * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: New. * 22_locale/collate_byname/1.cc: New. * 22_locale/ctype/1.cc: New. * 22_locale/ctype/2.cc: New. * 22_locale/ctype/cons/char/1.cc: New. * 22_locale/ctype/cons/char/wrapped_env.cc: New. * 22_locale/ctype/cons/char/wrapped_locale.cc: New. * 22_locale/ctype/is/char/1.cc: New. * 22_locale/ctype/is/char/2.cc: New. * 22_locale/ctype/is/char/3.cc: New. * 22_locale/ctype/is/char/wrapped_env.cc: New. * 22_locale/ctype/is/char/wrapped_locale.cc: New. * 22_locale/ctype/is/wchar_t/1.cc: New. * 22_locale/ctype/is/wchar_t/2.cc: New. * 22_locale/ctype/is/wchar_t/wrapped_env.cc: New. * 22_locale/ctype/is/wchar_t/wrapped_locale.cc: New. * 22_locale/ctype/narrow/char/1.cc: New. * 22_locale/ctype/narrow/char/2.cc: New. * 22_locale/ctype/narrow/char/wrapped_env.cc: New. * 22_locale/ctype/narrow/char/wrapped_locale.cc: New. * 22_locale/ctype/narrow/wchar_t/1.cc: New. * 22_locale/ctype/narrow/wchar_t/2.cc: New. * 22_locale/ctype/narrow/wchar_t/wrapped_env.cc: New. * 22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: New. * 22_locale/ctype/scan/char/1.cc: New. * 22_locale/ctype/scan/char/wrapped_env.cc: New. * 22_locale/ctype/scan/char/wrapped_locale.cc: New. * 22_locale/ctype/scan/wchar_t/1.cc: New. * 22_locale/ctype/scan/wchar_t/wrapped_env.cc: New. * 22_locale/ctype/scan/wchar_t/wrapped_locale.cc: New. * 22_locale/ctype/to/char/1.cc: New. * 22_locale/ctype/to/char/wrapped_env.cc: New. * 22_locale/ctype/to/char/wrapped_locale.cc: New. * 22_locale/ctype/to/wchar_t/1.cc: New. * 22_locale/ctype/to/wchar_t/wrapped_env.cc: New. * 22_locale/ctype/to/wchar_t/wrapped_locale.cc: New. * 22_locale/ctype/widen/char/1.cc: New. * 22_locale/ctype/widen/char/wrapped_env.cc: New. * 22_locale/ctype/widen/char/wrapped_locale.cc: New. * 22_locale/ctype/widen/wchar_t/1.cc: New. * 22_locale/ctype/widen/wchar_t/wrapped_env.cc: New. * 22_locale/ctype/widen/wchar_t/wrapped_locale.cc: New. * 22_locale/facet/1.cc: New. * 22_locale/facet/2.cc: New. * 22_locale/global_templates/1.cc: New. * 22_locale/locale/cons/1.cc: New. * 22_locale/locale/cons/2.cc: New. * 22_locale/locale/cons/3.cc: New. * 22_locale/locale/cons/4.cc: New. * 22_locale/locale/cons/5.cc: New. * 22_locale/locale/cons/6.cc: New. * 22_locale/locale/cons/7.cc: New. * 22_locale/locale/global_locale_objects/1.cc: New. * 22_locale/locale/global_locale_objects/2.cc: New. * 22_locale/locale/global_locale_objects/3.cc: New. * 22_locale/locale/operations/1.cc: New. * 22_locale/locale/operations/2.cc: New. * 22_locale/messages/1.cc: New. * 22_locale/messages/2.cc: New. * 22_locale/messages/members/char/1.cc: New. * 22_locale/messages/members/char/2.cc: New. * 22_locale/messages/members/char/3.cc: New. * 22_locale/messages/members/char/wrapped_env.cc: New. * 22_locale/messages/members/char/wrapped_locale.cc: New. * 22_locale/messages_byname/1.cc: New. * 22_locale/money_get/1.cc: New. * 22_locale/money_get/2.cc: New. * 22_locale/money_get/get/char/1.cc: New. * 22_locale/money_get/get/char/2.cc: New. * 22_locale/money_get/get/char/3.cc: New. * 22_locale/money_get/get/char/4.cc: New. * 22_locale/money_get/get/char/5.cc: New. * 22_locale/money_get/get/char/6.cc: New. * 22_locale/money_get/get/char/7.cc: New. * 22_locale/money_get/get/char/8.cc: New. * 22_locale/money_get/get/char/wrapped_env.cc: New. * 22_locale/money_get/get/char/wrapped_locale.cc: New. * 22_locale/money_get/get/wchar_t/1.cc: New. * 22_locale/money_get/get/wchar_t/2.cc: New. * 22_locale/money_get/get/wchar_t/3.cc: New. * 22_locale/money_get/get/wchar_t/4.cc: New. * 22_locale/money_get/get/wchar_t/5.cc: New. * 22_locale/money_get/get/wchar_t/6.cc: New. * 22_locale/money_get/get/wchar_t/7.cc: New. * 22_locale/money_get/get/wchar_t/8.cc: New. * 22_locale/money_get/get/wchar_t/wrapped_env.cc: New. * 22_locale/money_get/get/wchar_t/wrapped_locale.cc: New. * 22_locale/money_put/1.cc: New. * 22_locale/money_put/2.cc: New. * 22_locale/money_put/put/char/1.cc: New. * 22_locale/money_put/put/char/2.cc: New. * 22_locale/money_put/put/char/3.cc: New. * 22_locale/money_put/put/char/4.cc: New. * 22_locale/money_put/put/char/5.cc: New. * 22_locale/money_put/put/char/6.cc: New. * 22_locale/money_put/put/char/wrapped_env.cc: New. * 22_locale/money_put/put/char/wrapped_locale.cc: New. * 22_locale/money_put/put/wchar_t/1.cc: New. * 22_locale/money_put/put/wchar_t/2.cc: New. * 22_locale/money_put/put/wchar_t/3.cc: New. * 22_locale/money_put/put/wchar_t/4.cc: New. * 22_locale/money_put/put/wchar_t/5.cc: New. * 22_locale/money_put/put/wchar_t/6.cc: New. * 22_locale/money_put/put/wchar_t/wrapped_env.cc: New. * 22_locale/money_put/put/wchar_t/wrapped_locale.cc: New. * 22_locale/moneypunct/1.cc: New. * 22_locale/moneypunct/2.cc: New. * 22_locale/moneypunct/3.cc: New. * 22_locale/moneypunct/members/char/1.cc: New. * 22_locale/moneypunct/members/char/2.cc: New. * 22_locale/moneypunct/members/char/wrapped_env.cc: New. * 22_locale/moneypunct/members/char/wrapped_locale.cc: New. * 22_locale/moneypunct/members/wchar_t/1.cc: New. * 22_locale/moneypunct/members/wchar_t/2.cc: New. * 22_locale/moneypunct/members/wchar_t/wrapped_env.cc: New. * 22_locale/moneypunct/members/wchar_t/wrapped_locale.cc: New. * 22_locale/moneypunct_byname/1.cc: New. * 22_locale/num_get/1.cc: New. * 22_locale/num_get/2.cc: New. * 22_locale/num_get/get/char/1.cc: New. * 22_locale/num_get/get/char/2.cc: New. * 22_locale/num_get/get/char/3.cc: New. * 22_locale/num_get/get/char/4.cc: New. * 22_locale/num_get/get/char/5.cc: New. * 22_locale/num_get/get/char/6.cc: New. * 22_locale/num_get/get/char/wrapped_env.cc: New. * 22_locale/num_get/get/char/wrapped_locale.cc: New. * 22_locale/num_get/get/wchar_t/1.cc: New. * 22_locale/num_get/get/wchar_t/2.cc: New. * 22_locale/num_get/get/wchar_t/3.cc: New. * 22_locale/num_get/get/wchar_t/4.cc: New. * 22_locale/num_get/get/wchar_t/5.cc: New. * 22_locale/num_get/get/wchar_t/6.cc: New. * 22_locale/num_get/get/wchar_t/wrapped_env.cc: New. * 22_locale/num_get/get/wchar_t/wrapped_locale.cc: New. * 22_locale/num_put/1.cc: New. * 22_locale/num_put/2.cc: New. * 22_locale/num_put/put/char/1.cc: New. * 22_locale/num_put/put/char/2.cc: New. * 22_locale/num_put/put/char/3.cc: New. * 22_locale/num_put/put/char/4.cc: New. * 22_locale/num_put/put/char/5.cc: New. * 22_locale/num_put/put/char/wrapped_env.cc: New. * 22_locale/num_put/put/char/wrapped_locale.cc: New. * 22_locale/num_put/put/wchar_t/1.cc: New. * 22_locale/num_put/put/wchar_t/2.cc: New. * 22_locale/num_put/put/wchar_t/3.cc: New. * 22_locale/num_put/put/wchar_t/4.cc: New. * 22_locale/num_put/put/wchar_t/5.cc: New. * 22_locale/num_put/put/wchar_t/wrapped_env.cc: New. * 22_locale/num_put/put/wchar_t/wrapped_locale.cc: New. * 22_locale/numpunct/1.cc: New. * 22_locale/numpunct/2.cc: New. * 22_locale/numpunct/members/char/1.cc: New. * 22_locale/numpunct/members/char/2.cc: New. * 22_locale/numpunct/members/char/wrapped_env.cc: New. * 22_locale/numpunct/members/char/wrapped_locale.cc: New. * 22_locale/numpunct/members/wchar_t/1.cc: New. * 22_locale/numpunct/members/wchar_t/2.cc: New. * 22_locale/numpunct/members/wchar_t/wrapped_env.cc: New. * 22_locale/numpunct/members/wchar_t/wrapped_locale.cc: New. * 22_locale/numpunct_byname/1.cc: New. * 22_locale/numpunct_byname/2.cc: New. * 22_locale/time_get/1.cc: New. * 22_locale/time_get/2.cc: New. * 22_locale/time_get/date_order/char/1.cc: New. * 22_locale/time_get/date_order/char/wrapped_env.cc: New. * 22_locale/time_get/date_order/char/wrapped_locale.cc: New. * 22_locale/time_get/date_order/wchar_t/1.cc: New. * 22_locale/time_get/date_order/wchar_t/wrapped_env.cc: New. * 22_locale/time_get/date_order/wchar_t/wrapped_locale.cc: New. * 22_locale/time_get/get_date/char/1.cc: New. * 22_locale/time_get/get_date/char/2.cc: New. * 22_locale/time_get/get_date/char/3.cc: New. * 22_locale/time_get/get_date/char/wrapped_env.cc: New. * 22_locale/time_get/get_date/char/wrapped_locale.cc: New. * 22_locale/time_get/get_date/wchar_t/1.cc: New. * 22_locale/time_get/get_date/wchar_t/2.cc: New. * 22_locale/time_get/get_date/wchar_t/3.cc: New. * 22_locale/time_get/get_date/wchar_t/wrapped_env.cc: New. * 22_locale/time_get/get_date/wchar_t/wrapped_locale.cc: New. * 22_locale/time_get/get_monthname/char/1.cc: New. * 22_locale/time_get/get_monthname/char/2.cc: New. * 22_locale/time_get/get_monthname/char/3.cc: New. * 22_locale/time_get/get_monthname/char/wrapped_env.cc: New. * 22_locale/time_get/get_monthname/char/wrapped_locale.cc: New. * 22_locale/time_get/get_monthname/wchar_t/1.cc: New. * 22_locale/time_get/get_monthname/wchar_t/2.cc: New. * 22_locale/time_get/get_monthname/wchar_t/3.cc: New. * 22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc: New. * 22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc: New. * 22_locale/time_get/get_time/char/1.cc: New. * 22_locale/time_get/get_time/char/2.cc: New. * 22_locale/time_get/get_time/char/3.cc: New. * 22_locale/time_get/get_time/char/wrapped_env.cc: New. * 22_locale/time_get/get_time/char/wrapped_locale.cc: New. * 22_locale/time_get/get_time/wchar_t/1.cc: New. * 22_locale/time_get/get_time/wchar_t/2.cc: New. * 22_locale/time_get/get_time/wchar_t/3.cc: New. * 22_locale/time_get/get_time/wchar_t/wrapped_env.cc: New. * 22_locale/time_get/get_time/wchar_t/wrapped_locale.cc: New. * 22_locale/time_get/get_weekday/char/1.cc: New. * 22_locale/time_get/get_weekday/char/2.cc: New. * 22_locale/time_get/get_weekday/char/3.cc: New. * 22_locale/time_get/get_weekday/char/wrapped_env.cc: New. * 22_locale/time_get/get_weekday/char/wrapped_locale.cc: New. * 22_locale/time_get/get_weekday/wchar_t/1.cc: New. * 22_locale/time_get/get_weekday/wchar_t/2.cc: New. * 22_locale/time_get/get_weekday/wchar_t/3.cc: New. * 22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc: New. * 22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc: New. * 22_locale/time_get/get_year/char/1.cc: New. * 22_locale/time_get/get_year/char/3.cc: New. * 22_locale/time_get/get_year/char/wrapped_env.cc: New. * 22_locale/time_get/get_year/char/wrapped_locale.cc: New. * 22_locale/time_get/get_year/wchar_t/1.cc: New. * 22_locale/time_get/get_year/wchar_t/3.cc: New. * 22_locale/time_get/get_year/wchar_t/wrapped_env.cc: New. * 22_locale/time_get/get_year/wchar_t/wrapped_locale.cc: New. * 22_locale/time_put/1.cc: New. * 22_locale/time_put/2.cc: New. * 22_locale/time_put/put/char/1.cc: New. * 22_locale/time_put/put/char/10.cc: New. * 22_locale/time_put/put/char/2.cc: New. * 22_locale/time_put/put/char/3.cc: New. * 22_locale/time_put/put/char/4.cc: New. * 22_locale/time_put/put/char/5.cc: New. * 22_locale/time_put/put/char/6.cc: New. * 22_locale/time_put/put/char/7.cc: New. * 22_locale/time_put/put/char/8.cc: New. * 22_locale/time_put/put/char/9.cc: New. * 22_locale/time_put/put/char/wrapped_env.cc: New. * 22_locale/time_put/put/char/wrapped_locale.cc: New. * 22_locale/time_put/put/wchar_t/1.cc: New. * 22_locale/time_put/put/wchar_t/10.cc: New. * 22_locale/time_put/put/wchar_t/2.cc: New. * 22_locale/time_put/put/wchar_t/3.cc: New. * 22_locale/time_put/put/wchar_t/4.cc: New. * 22_locale/time_put/put/wchar_t/5.cc: New. * 22_locale/time_put/put/wchar_t/6.cc: New. * 22_locale/time_put/put/wchar_t/7.cc: New. * 22_locale/time_put/put/wchar_t/8.cc: New. * 22_locale/time_put/put/wchar_t/9.cc: New. * 22_locale/time_put/put/wchar_t/wrapped_env.cc: New. * 22_locale/time_put/put/wchar_t/wrapped_locale.cc: New. 2003-01-16 Jeffrey D. Oldham * config/locale/generic/messages_members.h (messages_byname<_CharT>::messages_byname): Use this-> to refer to unqualified members of base clasess. 2003-01-16 Mark Mitchell Jeffrey Oldham * config/locale/gnu/messages_members.h: Use this-> to refer to unqualified members of base clasess. * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Likewise. * include/bits/codecvt.h: Likewise. * include/bits/deque.tcc: Likewise. * include/bits/fstream.tcc: Likewise. * include/bits/istream.tcc: Likewise. * include/bits/list.tcc: Likewise. * include/bits/locale_facets.h: Likewise. * include/bits/ostream.tcc: Likewise. * include/bits/sstream.tcc: Likewise. * include/bits/stl_bvector.h: Likewise. * include/bits/stl_deque.h: Likewise. * include/bits/stl_list.h: Likewise. * include/bits/stl_tree.h: Likewise. * include/bits/stl_vector.h: Likewise. * include/bits/vector.tcc: Likewise. * include/ext/ropeimpl.h: Likewise. * include/ext/stdio_filebuf.h: Likewise. * include/ext/stl_rope.h: Likewise. * include/std/std_fstream.h: Likewise. * include/std/std_sstream.h: Likewise. 2003-01-15 Phil Edwards * include/bits/basic_string.tcc (_S_string_copy): Unused, remove. 2003-01-15 Benjamin Kosnik * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Substitute GLIBCPP_TEST_WCHAR_T if building wchar_t bits in the library. * aclocal.m4: Regenerate. * configure: Regenerate. * testsuite/Makefile.am (all-local): Add conditional rule to generate testsuite_wchar_t. * testsuite/Makefile.in: Regenerate. * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-list-sourcefiles): Remove wchar_t files if testsuite_wchar_t is not present in the build directory. * testsuite/libstdc++-v3.dg/dg.exp: Add -g -O2 to DEFAULT_CXXFLAGS. Remove setulimit bits. * testsuite/26_numerics/complex_value.cc: Set to noopts. * testsuite/Makefile.am (CLEANFILES): Add. * testsuite/Makefile.in: Regenerate. 2003-01-15 John David Anglin * config/os/hpux/os_defines.h (_GLIBCPP_GTHREAD_USE_WEAK): Define for __hppa__. 2003-01-14 Jeffrey D. Oldham Further conform g++'s __vmi_class_type_info to the C++ ABI specification. * libsupc++/cxxabi.h (__vmi_class_type_info::__flags_masks): Remove enumerations not required by the specification. 2003-01-12 Benjamin Kosnik Renames, namespaces for testsuite utilities. * testsuite/testsuite_hooks.h: Put into namespace __gnu_cxx_test. (gnu_allocator_tracker): Rename to allocation_tracker. (gnu_new_allocator): Rename to tracker_alloc. (__set_testsuite_memlimit): Rename to set_memory_limits. (gnu_assignment_operator): Rename to assignment_operator. (gnu_destructor): Rename to destructor. (gnu_copy_tracker): Rename to copy_tracker. (gnu_char, gnu_int, gnu_long): Rename to pod_char, pod_int, pod_long. (run_tests_wrapped_locale): New. (run_tests_wrapped_env): New. * testsuite/testsuite_hooks.cc: Same. (class locale_data): Add. (class enviornment_variable): Add. (class not_found): Add. * testsuite/testsuite_allocator.h: Same. * testsuite/testsuite_allocator.cc: Same. * testsuite/23_containers/deque_ctor.cc (test_copy_ctor_exception_safety): Change gnu_allocator_tracker to allocation_tracker. Change gnu_new_allocator to tracker_alloc. Change gnu_counting_struct to counter. Change gnu_copy_tracker to copy_tracker. Change gnu_copy_constructor to copy_constructor. Change gnu_assignment_operator to assignment_operator. Inject. * testsuite/23_containers/vector_capacity.cc: Same. * testsuite/23_containers/vector_ctor.cc (test01): Same. * testsuite/23_containers/list_modifiers.cc: Change gnu_copy_tracker to copy_tracker. * testsuite/21_strings/ctor_copy_dtor.cc (main): Change __set_testsuite_memlimit to set_memory_limits. * testsuite/21_strings/insert.cc (main): Same. * testsuite/27_io/filebuf.cc: Change gnu_char to pod_char. * testsuite/27_io/stringstream.cc: Same. * testsuite/27_io/stringbuf.cc: Same. * testsuite/27_io/streambuf.cc: Same. * testsuite/27_io/ostream.cc: Same. * testsuite/27_io/istream.cc: Same. * testsuite/27_io/fstream.cc: Same. * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-list-sourcefiles): Additionally handle files two and three levels deeper in glob patterns. 2003-01-11 Phil Edwards * docs/doxygen/tables.html: Finished now. * docs/doxygen/user.cfg.in: Update to latest version of Doxygen. * include/bits/basic_ios.h (basic_ios::rdbuf): Add example to comments. * include/bits/deque.tcc, include/bits/stl_alloc.h, include/bits/stl_deque.h, include/bits/stl_list.h, include/bits/stl_vector.h: Remove _GLIBCPP_DEPRECATED bits scheduled for 3.4 removal. 2003-01-09 Benjamin Kosnik * configure.in: Revert. * configure: Regenerate. 2003-01-09 Christian Cornelssen * include/Makefile.am (install-data-local): Prepend $(DESTDIR) to destination paths in all (un)installation commands. Use ${c_base_builddir} and ${std_builddir} as destination subdirectories to achieve consistency with preceding mkinstalldirs commands. No effect because both variables contain "." only. * include/Makefile.in: Regenerate. 2003-01-08 Benjamin Kosnik * include/Makefile.am (stamp-*): Add checks for existing stamps. * include/Makefile.in: Regenerate. * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): Correct comment. * aclocal.m4: Regenerate. * configure.in: Don't add new multi-do rules every time the directory is reconfigured. * configure: Regenerate. 2003-01-08 Brad Spencer Nathan Myers * src/Makefile.am (stamp-debug): Clean. * src/Makefile.in: Regenerate. 2003-01-07 Benjamin Kosnik PR libstdc++/8707 * Makefile.am (distclean-multi): Fix. * Makefile.in: Regenerate. 2003-01-06 Benjamin Kosnik * include/bits/locale_facets.h (messages): Move ctor, dtor definitions to.. (__timepunct): Same. * config/locale/gnu/messages_members.h (messages): Add dtor, ctor definitions. Conditionalize for GNU systems. * config/locale/generic/messages_members.h (messages): Add dtor, ctor definitions. * config/locale/gnu/time_members.h (messages): New. Add dtor, ctor definitions. Conditionalize for GNU systems. * config/locale/generic/time_members.h (messages): New. Add dtor, ctor definitions. * include/bits/localefwd.h (locale::facet::_S_c_name): Add. * src/locale.cc: Define. * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool): Use it. * config/locale/gnu/time_members.h: Use it. * config/locale/gnu/messages_members.h: Use it. * config/linker-map.gnu: Add locale::facets details. * include/Makefile.am (target_headers_extra): Add time_members.h. * include/Makefile.in: Regenerate. * acinclude.m4: Export CTIME_H. * aclocal.m4: Regenerate. * configure: Regnerate. 2003-01-06 Paolo Carlini * src/codecvt.cc (codecvt::do_in, do_out): Tweak parameters to avoid unused parameter warnings. 2003-01-06 Paolo Carlini PR libstdc++/9151 * include/bits/locale_facets.cc (num_put::_M_convert_float): Limit __prec to digits10 + 2, not digits10 + 1, taking into account the possibility of %{g,G} conversion specifiers inside _S_format_float. * testsuite/27_io/ostream_inserter_arith.cc (test06): Add. 2003-01-06 Kaveh R. Ghazi * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init, libstdc++-v3-list-sourcefiles): Additionally handle files one level deeper in glob patterns. * testsuite/27_io/istream_extractor_arith.cc: Delete, split... * testsuite/27_io/istream_extractor_arith/01.cc, testsuite/27_io/istream_extractor_arith/02.cc, testsuite/27_io/istream_extractor_arith/03.cc, testsuite/27_io/istream_extractor_arith/06.cc, testsuite/27_io/istream_extractor_arith/07.cc, testsuite/27_io/istream_extractor_arith/08.cc, testsuite/27_io/istream_extractor_arith/09.cc, testsuite/27_io/istream_extractor_arith/10.cc, testsuite/27_io/istream_extractor_arith/11.cc, testsuite/27_io/istream_extractor_arith/12.cc, testsuite/27_io/istream_extractor_arith/13.cc: ... to new files. * testsuite/27_io/istream_extractor_arith/12.cc: Add XFAIL for sparc*-*-solaris2*. 2003-01-05 Paolo Carlini PR libstdc++/9168 * src/codecvt.cc (codecvt::do_in, do_out): Implement the resolution of DR19 (TC). * testsuite/22_locale/codecvt_members_char_char.cc (test01): Tweak. 2003-01-02 Jason Merrill * config/cpu/i486/atomicity.h (__exchange_and_add, __atomic_add): *__mem is also an output. * config/cpu/m68k/atomicity.h (__exchange_and_add): Likewise. Copyright (C) 2003 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.