Commit Graph

939 Commits

Author SHA1 Message Date
Benjamin Kosnik 6a734d618f basic_file_stdio.cc (__gnu_internal::fopen_mode): New function.
2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
	    Zack Weinberg  <zack@codesourcery.com>

	* config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
	New function.
	(__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
	(__basic_file<char>::_M_open_mode): Delete.
	* config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.

	* testsuite/27_io/basic_filebuf/close/char/9964.cc
	* testsuite/27_io/basic_filebuf/open/char/9507.cc:
	Correct flags to filebuf::open calls.

	* config/abi/alpha-freebsd5/baseline_symbols.txt
	* config/abi/alpha-linux-gnu/baseline_symbols.txt
	* config/abi/hppa-linux-gnu/baseline_symbols.txt
	* config/abi/i386-freebsd4/baseline_symbols.txt
	* config/abi/i386-freebsd5/baseline_symbols.txt
	* config/abi/i486-linux-gnu/baseline_symbols.txt
	* config/abi/ia64-linux-gnu/baseline_symbols.txt
	* config/abi/mips-linux-gnu/baseline_symbols.txt
	* config/abi/sparc-freebsd5/baseline_symbols.txt
	* config/abi/sparc-linux-gnu/baseline_symbols.txt
	* config/abi/x86_64-linux-gnu/baseline_symbols.txt:
	Remove entry for __basic_file<char>::_M_open_mode.

From-SVN: r77298
2004-02-05 05:24:18 +00:00
Loren J. Rittle f63fd68beb * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
From-SVN: r77293
2004-02-05 03:52:41 +00:00
Benjamin Kosnik de8a2f8702 [multiple changes]
2004-02-04  Felix Yen  <fwy@alumni.brown.edu>

	* testsuite/performance/20_util/producer_consumer.cc: New.
	* testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.

2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/20_util/allocator.cc: Move to..
	* testsuite/performance/20_util/allocator/insert.cc: ...here.
	* testsuite/performance/20_util/allocator_thread.cc: Move to...
	* testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
	* testsuite/performance/20_util/allocator_map_thread.cc: Move to...
	* testsuite/performance/20_util/allocator/map_thread.cc: ...here.

From-SVN: r77285
2004-02-05 01:33:07 +00:00
Felix Yen 2226963242 allocator.cc: Add map, deque, set tests.
2004-02-03  Felix Yen  <fwy@alumni.brown.edu>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/20_util/allocator.cc: Add map,
	deque, set tests.
	* testsuite/performance/20_util/allocator_thread.cc: Same.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r77225
2004-02-04 06:21:21 +00:00
Eric Christopher 16dd5cfeb8 [multiple changes]
2004-02-02  Eric Christopher  <echristo@redhat.com>
            Zack Weinberg  <zack@codesourcery.com>

        * c-opts.c (c_common_handle_option): Add -finput-charset.
        * c.opt: Ditto.
        * cppcharset.c (one_iso88591_to_utf8): Remove.
        (convert_iso88591_utf8): Ditto.
        (conversion_tab): Remove 8859-1 converter.
        (_cpp_input_to_utf8): Remove.
        (_cpp_init_iconv_buffer): Ditto.
        (_cpp_close_iconv_buffer): Ditto.
        (_cpp_convert_input): New function.
        (_cpp_default_encoding): Ditto.
        * cpphash.h: Add/remove prototypes for above.
        * cppfiles.c (read_file_guts): Use _cpp_convert_input.
        * cppinit.c (cpp_create_reader): Use _cpp_default_encoding
        for narrow execution and input character sets.
        * cpplib.c (cpp_push_buffer): Delete uses of removed functions.
        * doc/cppopts.texi: Document -finput-charset.

2004-02-02 Eric Christopher  <echristo@redhat.com>
           Zack Weinberg  <zack@codesourcery.com>

        * gcc.c-torture/execute/wchar_t-1.c: Add -finput-charset.

2004-01-29  Eric Christopher  <echristo@redhat.com>
            Zack Weinberg  <zack@codesourcery.com>

        * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
        -finput-charset.
        * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
        * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
        * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
        * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
        * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
        * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
        * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
        * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
        Ditto.

From-SVN: r77136
2004-02-02 20:20:58 +00:00
Paolo Carlini 7c960b3dff 6.cc: New.
2004-01-30  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/21_strings/basic_string/cons/char/6.cc: New.
	* testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
	* testsuite/performance/21_strings/string_cons_input_iterator.cc:
	New.

From-SVN: r77006
2004-01-30 23:26:13 +00:00
Felix Yen 7b1d1edf99 allocator_thread.cc (do_loop): Don't use clear, but instead assign.
2004-01-30  Felix Yen  <fwy@alumni.brown.edu>

	* testsuite/performance/20_util/allocator_thread.cc (do_loop):
	Don't use clear, but instead assign. Use insert.

From-SVN: r76979
2004-01-30 18:14:42 +00:00
Paolo Carlini 33e95e9d04 Reshuffle performance testsuite.
2004-01-30  Paolo Carlini  <pcarlini@suse.de>

	Reshuffle performance testsuite.
	* testsuite/performance/allocator.cc, allocator_map_thread.cc,
	allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
	cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
	fstream_seek_write.cc, ifstream_extract_float.cc,
	ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
	list_create_fill_sort.cc, map_create_fill.cc,
	narrow_widen_char.cc, narrow_widen_wchar_t.cc,
	ofstream_insert_float.cc, ofstream_insert_int.cc,
	string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
	wchar_t_out.cc: Split into...
	* testsuite/performance/20_util/allocator.cc: New.
	* testsuite/performance/20_util/allocator_map_thread.cc: New.
	* testsuite/performance/20_util/allocator_thread.cc: New.
	* testsuite/performance/21_strings/string_append: New.
	* testsuite/performance/22_locale/is_wchar_t.cc: New.
	* testsuite/performance/22_locale/narrow_widen_char.cc: New.
	* testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
	* testsuite/performance/22_locale/wchar_t_in.cc: New.
	* testsuite/performance/22_locale/wchar_t_length.cc: New.
	* testsuite/performance/22_locale/wchar_t_out.cc: New.
	* testsuite/performance/23_containers/container_benchmark.cc: New.
	* testsuite/performance/23_containers/list_create_fill_sort.cc: New.
	* testsuite/performance/23_containers/map_create_fill.cc: New.
	* testsuite/performance/26_numerics/complex_norm.cc: New.
	* testsuite/performance/27_io/cout_insert_int.cc: New.
	* testsuite/performance/27_io/filebuf_copy.cc: New.
	* testsuite/performance/27_io/filebuf_sputc.cc: New.
	* testsuite/performance/27_io/fstream_seek_write.cc: New.
	* testsuite/performance/27_io/ifstream_extract_float.cc: New.
	* testsuite/performance/27_io/ifstream_extract_int.cc: New.
	* testsuite/performance/27_io/ifstream_getline.cc: New.
	* testsuite/performance/27_io/ofstream_insert_float.cc: New.
	* testsuite/performance/27_io/ofstream_insert_int.cc: New.

From-SVN: r76974
2004-01-30 17:06:42 +00:00
Loren J. Rittle f64f44069c check_performance: Only compile with $THREAD_FLAG when test is marked to require it.
* scripts/check_performance: Only compile with $THREAD_FLAG
	when test is marked to require it.  Allow multiple
	compilations/executions of marked tests.
	* testsuite/testsuite_performance.h (report_performance):
	Report dynamic thread support status.
	(report_header): Likewise.
	* testsuite/performance/allocator.cc: Stabilize iteration
	count.  Support more allocators.  Mark each allocator test to
	run and report independently.
	* testsuite/performance/allocator_map_thread.cc: Likewise.
	* testsuite/performance/allocator_thread.cc: Likewise.

From-SVN: r76932
2004-01-30 08:24:27 +00:00
Stephen M. Webb 917a9fd4d5 c_locale.h: Change ::malloc() to new char[].
2004-01-29  Stephen M. Webb  <stephen.webb@bregmasoft.com>

	* config/local/generic/c_locale.h: Change ::malloc() to new char[].
  	* config/local/gnu/c_locale.h: Change ::malloc() to new char[].
  	* include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
	std::get_temporary_buffer() instead of duplicating its code.
	Update to C++STYLE conventions.
  	* include/std/std_memory.h (get_temporary_buffer): Use ::operator
	new() instead of std::malloc().
	(return_temporary_buffer): Use ::operator delete() instead of
	std::free().

From-SVN: r76922
2004-01-30 03:43:00 +00:00
Benjamin Kosnik ba9d552e03 Makefile.am (bits_headers): Remove allocator_traits.h.
2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (bits_headers): Remove allocator_traits.h.
	* include/Makefile.in: Regenerate.
	* include/bits/allocator_traits.h: Remove.
	* include/bits/allocator.h: Remove allocator_traits.h include, and
	relevant comments.
	(allocator): Empty base class, inherit from the underlying allocator.
	* src/allocator-inst.cc: Move __pool_alloc instantiation to...
	* src/allocator.cc: ...here. New. For the underlying allocators.
	Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
	* config/linker-map.gnu: Remove __pool_alloc bits.
	* src/Makefile.am (sources): Add allocator.cc.
	* src/Makefile.in: Regenerate.
	* testsuite/20_util/allocator/1.cc: Split second test into...
	* testsuite/20_util/allocator/8230.cc: ...this.
	* include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
	typedef to use std::allocatore. Format.
	* include/ext/pool_allocator.h: Remove allocator_traits.h include,
	_Alloc_traits.
	* include/ext/mt_allocator.h (__gnu_cxx): Qualify
	__throw_bad_alloc calls. Don't include <memory>.
	* include/ext/malloc_allocator.h: Remove <memory> include.
	* include/ext/new_allocator.h (new_allocator): Same.
	* include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
	declaration. Switch __alloc to _Alloc.
	* include/ext/hashtable.h: Remove __alloc.
	* include/backward/alloc.h: Only inject allocator, not
	implementation details.

	* include/ext/mt_allocator.h: Replace free with delete.

From-SVN: r76821
2004-01-29 00:18:40 +00:00
Benjamin Kosnik 62b21ea0fc 11584.cc: Correct new and delete declarations, add include and test variable.
2004-01-27  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/ios_base/storage/11584.cc: Correct new and
	delete declarations, add include and test variable.

From-SVN: r76766
2004-01-27 23:41:16 +00:00
Jerry Quinn 2a837cf803 re PR libstdc++/11584 (ios::iword() fails to zero-initialize storage on failure)
2004-01-27  Jerry Quinn  <jlquinn@optonline.net>

	PR libstdc++/11584
	* include/bits/ios_base.h (ios_base::_M_grow_words):  Add
        iword/pword selector.
	(ios_base::iword, ios_base::pword):  Use it.
	* src/ios.cc (ios_base::_M_grow_words):  Clear _M_word_zero
        iword or pword member on alloc failure.
	* testsuite/27_io/ios_base/storage/11584.cc:  New test.

From-SVN: r76725
2004-01-27 15:45:43 +00:00
Paolo Carlini 2cb612d1b0 basic_string.tcc (replace(size_type, size_type, const _CharT*, size_type)): Implement optimized in-place algorithm for non-overlapping ranges.
2004-01-26  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (replace(size_type,
	size_type, const _CharT*, size_type)): Implement optimized
	in-place algorithm for non-overlapping ranges.
	* testsuite/21_strings/basic_string/replace/char/6.cc: New.
	* testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.

	* include/bits/basic_string.tcc (insert(size_type,
	const _CharT*, size_type)): Tweak slightly.

From-SVN: r76625
2004-01-26 09:07:18 +00:00
Paolo Carlini 9c519c934c string_append.cc: Increase number of iterations.
2004-01-25  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/string_append.cc: Increase number
	of iterations.

From-SVN: r76551
2004-01-25 11:07:50 +00:00
Paolo Carlini 72afd981f8 re PR libstdc++/13838 (std::bitset<>::operator |= error with -D_GLIBCXX_DEBUG)
2004-01-23  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13838
	* include/debug/bitset (operator|=): Fix typo.
	* testsuite/23_containers/bitset/operations/13838.cc: New.

From-SVN: r76479
2004-01-24 01:25:37 +00:00
Loren J. Rittle 402b0954be allocator_map_thread.cc: New test.
libstdc++/13823
	* testsuite/performance/allocator_map_thread.cc: New test.

From-SVN: r76398
2004-01-23 06:54:06 +00:00
Loren J. Rittle 87d11ccc82 10063-2.cc: Treat unbuffered.
* testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
	* testsuite/ext/stdio_filebuf/char/10063-3.cc: New test.  Like -2 but
	use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.

From-SVN: r76191
2004-01-20 01:30:03 +00:00
Paolo Carlini acbab5bf1c basic_string.h (c_str()): Simplify, due to 21.3.4 the internal representation is always kept null-terminated.
2004-01-18  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (c_str()): Simplify, due to
	21.3.4 the internal representation is always kept null-terminated.
	* include/bits/basic_string.tcc (_M_clone): Null-terminate.
	* testsuite/21_strings/basic_string/element_access/char/4.cc: New.
	* testsuite/21_strings/basic_string/element_access/wchar_t/4.cc: Ditto.

From-SVN: r76092
2004-01-18 10:51:13 +00:00
Benjamin Kosnik d517f626e1 13189.cc: Fix guards.
2004-01-16  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
	* testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.

From-SVN: r76017
2004-01-17 00:51:35 +00:00
Danny Smith 701b701b54 testsuite_hooks.cc (try_mkfifo): Avoid calling mkfifo for mingw32.
2004-01-16  Danny Smith  <dannysmith@users.sourceforge.net>

	* testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
	mkfifo for mingw32.

From-SVN: r75963
2004-01-16 08:43:45 +00:00
Stefan Olsson 41f2472503 mt_allocator.h: Fixups.
2004-01-14  Stefan Olsson  <stefan@snon.net>

	* include/ext/mt_allocator.h: Fixups.
	* testsuite/performance/allocator.cc: Enable __mt_alloc tests.
	* testsuite/performance/allocator_thread.cc: Same.

From-SVN: r75875
2004-01-14 18:54:18 +00:00
Benjamin Kosnik 070ce57b95 ifstream_extract_float.cc: Add higher precision tests.
2
2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/ifstream_extract_float.cc: Add higher
	precision tests.
	* testsuite/performance/ofstream_insert_float.cc: Same.

From-SVN: r75841
2004-01-14 04:11:57 +00:00
Benjamin Kosnik 60af005f4b ifstream_extract_float.cc: New.
2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/ifstream_extract_float.cc: New.
	* testsuite/performance/ofstream_insert_float.cc: Float generation
	matches above.

	* 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
	* 20_util/auto_ptr/1.cc: ...this.
	* 20_util/auto_ptr/2.cc: Same.
	* 20_util/auto_ptr/3.cc: Same.
	* 20_util/auto_ptr/3946.cc: Same.
	* 20_util/auto_ptr/4.cc: Same.
	* 20_util/auto_ptr/5.cc: Same.
	* 20_util/auto_ptr/6.cc: Same.
	* 20_util/auto_ptr/7.cc: Same.
	* 20_util/auto_ptr/assign_neg.cc
	* 20_util/pairs.cc: Break into...
	* 20_util/pair/1.cc: ...this.
	* 20_util/pair/2.cc: Same.
	* 20_util/pair/3.cc: Same.
	* 20_util/pair/4.cc: Same.

From-SVN: r75811
2004-01-13 18:57:45 +00:00
Paolo Carlini 95c9624ff5 re PR libstdc++/13650 (string::compare should not (always) use traits_type::length())
2004-01-13  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13650
	* include/bits/basic_string.tcc (compare(size_type, size_type,
	const _CharT*, size_type)): Implement correctly the resolution
	of DR 5: basically, s is a char array, -not- a C string.
	* include/bits/basic_string.h: Tweak some comments.
	* testsuite/21_strings/basic_string/compare/char/13650.cc: New.
	* testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.

From-SVN: r75798
2004-01-13 11:12:38 +00:00
Andreas Tobler c91de77a9d libstdc++.exp: Set LD_LIBRARY_PATH_32 for Solaris.
2004-01-10  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
	Solaris.

From-SVN: r75759
2004-01-12 21:47:44 +01:00
Paolo Carlini 300b3317f3 13582-2.cc: Use try_mkfifo.
2004-01-12  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
	Use try_mkfifo.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
	Likewise.

From-SVN: r75738
2004-01-12 17:25:25 +00:00
Mark Mitchell ea1ea21af5 testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
* testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
	* testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
	it.
	* testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
	and remove Cygwin XFAIL.
	* testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
	* testsuite/27_io/objects/char/7.cc: Likewise.
	* testsuite/27_io/objects/char/9661-1.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/7.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.

From-SVN: r75706
2004-01-12 08:11:08 +00:00
Paolo Carlini 09625c1681 re PR libstdc++/13582 (basic_filebuf::imbue drops characters)
2004-01-11  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13582
	* include/bits/fstream.tcc (imbue): Exploit the external
	buffer to imbue 'on the fly' a new locale and convert its
	remainder with the new codecvt facet.
	(underflow): Tweak slightly to deal with this special case.
	* testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
	* testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
	* testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.

From-SVN: r75677
2004-01-11 15:17:02 +00:00
Paolo Carlini b656faa883 re PR libstdc++/13630 (Wrong type for locale::category)
2004-01-10  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13630
	* include/bits/locale_classes.h (class locale): Fix category typedef.
	* testsuite/22_locale/locale/13630.cc: Add.

From-SVN: r75635
2004-01-10 10:15:35 +00:00
Paolo Carlini 64cb2c4aed allocator.cc: Demangle typeid(obj).name().
2004-01-09  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/allocator.cc: Demangle typeid(obj).name().
	* testsuite/performance/allocator_thread.cc: Likewise.

From-SVN: r75571
2004-01-09 10:09:31 +00:00
Benjamin Kosnik e135a038d3 [multiple changes]
2004-01-07  Gawain Bolton  <gp.bolton@computer.org>

	* include/bits/stl_list.h:
	* include/bits/list.tc:
	* src/list.cc:
        Performance enhancements for destructor, push_front(),
        push_back(), pop_front(), pop_back(), sort()
        Eliminated static_casts where possible.
        Moved code out of header files into new src/list.cc
        implementation file for library where possible.
        Remove inheritance from iterator class and create separate
        classes for non-constant and constant iterators.
	* include/bits/stl_tree.h (_Rb_tree class):
	* src/tree.cc:
        Only erase contents in destructor.
        Eliminate unnecessary initialization in assignment operator.
        Optimize for the nominal case by not checking whether
        container is empty in clear().
        Re-order test in _M_insert() to improve performance.
        Move initialization of new node's left & right pointers to
        src/tree.cc to where new node's colour is initialized
        and to reduce the amount of inline code.
        Use  _M_leftmost() and _M_end() to improve readability where
        appropriate.
        Create separate classes for non-constant and constant
        iterators to clarify code, avoid extra template parameters and
        casting away constness.

2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>

	* src/Makefile.am (sources): Add list.cc, tree.cc.
	* src/stl_tree.cc: Move to...
	* src/tree.cc: ...here.
	* src/list.cc: Add.
	* config/linker-map.gnu: Tweaks.
	* testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
	* testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.

	* bits/stl_vector.h: Column wrap comments.

From-SVN: r75515
2004-01-07 20:55:06 +00:00
Paolo Carlini d8f5bd5016 9318-in.cc: Remove redundant #include.
2004-01-07  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
	Remove redundant #include.
	* testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
	re-enable normal testing.
	* testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
	#include.
	* testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
	More properly, #include <locale>.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
	Remove redundant #include.
	* testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
	redundant DejaGnu directive.
	* testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
	redundant #include.

From-SVN: r75508
2004-01-07 17:13:51 +00:00
Benjamin Kosnik b61f9bf039 check_performance: Use -pthread.
2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
            Stefan Olsson  <stefan@snon.net>

	* scripts/check_performance: Use -pthread.
	* testsuite/performance/allocator.cc: Tweaks, add list.
	* testsuite/performance/allocator_thread.cc: New.

Co-Authored-By: Stefan Olsson <stefan@snon.net>

From-SVN: r75499
2004-01-07 05:59:19 +00:00
Paolo Carlini b80115c4b7 1.cc: Remove redundant #includes.
2004-01-06  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_istream/extractors_other/char/1.cc:
	Remove redundant #includes.
	* testsuite/27_io/basic_istream/extractors_other/char/2.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_other/char/3.cc:
	Likewise.
	* testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
	* testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
	* testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
	* testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
	* testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
	* testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
	Likewise.
	* testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
	Likewise.
	* testsuite/27_io/basic_istream/readsome/char/8258.cc:
	Likewise.
	* testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
	Likewise.
	* testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
	Likewise.
	* testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
	* testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
	* testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.

From-SVN: r75469
2004-01-06 12:20:42 +00:00
Paolo Carlini 223b5084a6 01.cc: Remove redundant #includes.
2003-01-04  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
	Remove redundant #includes.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
	Likewise.

From-SVN: r75398
2004-01-04 23:19:00 +00:00
Mark Mitchell 4f8163b19c re PR c++/12226 (g++ fails to enforce accessibility requirement for copy constructor)
PR c++/12226
	* call.c (CHECK_COPY_CONSTRUCTOR_P): New macro.
	(reference_binding): Set it when appropriate.
	(build_temp): New function, split out from ...
	(convert_like_real): ... here.  Honor CHECK_COPY_CONSTRUCTOR_P.
	(initialize_reference): Likewise.

	PR c++/12226
	* g++.dg/init/copy7.c: New test.

	PR c++/12226
	* testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
	constructor.
	* testsuite/27_io/basic_fstream/4.cc: Likewise.
	* testsuite/27_io/basic_ifstream/4.cc: Likewise.
	* testsuite/27_io/basic_ios/4.cc: Likewise.
	* testsuite/27_io/basic_iostream/4.cc: Likewise.
	* testsuite/27_io/basic_istream/4.cc: Likewise.
	* testsuite/27_io/basic_istingstream/4.cc: Likewise.
	* testsuite/27_io/basic_ofstream/4.cc: Likewise.
	* testsuite/27_io/basic_ostream/4.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/4.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/5.cc: Likewise.
	* testsuite/27_io/basic_stringstream/4.cc: Likewise.

	PR c++/13536
	* parser.c (cp_parser): Add in_type_id_in_expr_p.
	(cp_parser_new): Initialize it.
	(cp_parser_postfix_expression): Set it.
	(cp_parser_sizeof_operand): Likewise.
	(cp_parser_parameteR_declaration): Do not commit early to tenative
	parsers when in_type_id_in_expr_p is set.

	PR c++/13536
	* g++.dg/parse/cast1.C: New test.

From-SVN: r75397
2004-01-04 22:42:22 +00:00
Paolo Carlini 4f0c9c8a87 locale_facets.tcc (num_get::_M_extract_int, [...]): According to 22.2.2.1.2...
2003-12-31  Paolo Carlini  <pcarlini@suse.de>

	* 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.

From-SVN: r75259
2003-12-31 08:28:10 +00:00
Paolo Carlini a27cf81c7a re PR libstdc++/13369 (__verify_grouping (and __add_grouping?) not correct)
2003-12-30  Paolo Carlini  <pcarlini@suse.de>

	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.

From-SVN: r75227
2003-12-30 10:43:54 +00:00
Mark Mitchell 5d1e475e2c Fix typo
From-SVN: r75210
2003-12-29 19:28:17 +00:00
Mark Mitchell 517da0ce8a acconfig.h: Add _GLIBCXX_USE_C99_MATH.
* 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.

From-SVN: r75209
2003-12-29 19:26:16 +00:00
Benjamin Kosnik d38d4e5d18 new_allocator.h (new_allocator): Proper allocator class.
2003-12-23  Benjamin Kosnik  <bkoz@redhat.com>

	* 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.

From-SVN: r74965
2003-12-23 07:24:57 +00:00
Benjamin Kosnik 941fe801b4 numeric_limits.cc: Add _GLIBCXX_ASSERT to dg-options in testcases that use VERIFY.
2003-12-22  Benjamin Kosnik  <bkoz@redhat.com>

	* 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.

From-SVN: r74951
2003-12-22 21:05:22 +00:00
Benjamin Kosnik 70a8416094 5.cc: Don't use stdc++.h.gch.
2003-12-22  Benjamin Kosnik  <bkoz@redhat.com>

	* 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.

From-SVN: r74946
2003-12-22 20:09:23 +00:00
Paolo Carlini a827daa06b locale_facets.tcc (num_get::_M_extract_int, [...]): According to 22.2.2.1.2...
2003-12-22  Paolo Carlini  <pcarlini@suse.de>

	* 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.

From-SVN: r74932
2003-12-22 11:00:43 +00:00
Paolo Carlini cc16f8b948 locale_facets.tcc (num_get::_M_extract_int, [...]): According to 22.2.2.1.2, p8-9, first look for decimal_point and thousands_sep.
2003-12-19  Paolo Carlini  <pcarlini@suse.de>

	* 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.

From-SVN: r74841
2003-12-19 18:14:22 +00:00
Paolo Carlini 1b4513069a locale_facets.tcc (num_get::_M_extract_float): When __found_sci becomes true stop eating thousands separators and the decimal...
2003-12-19  Paolo Carlini  <pcarlini@suse.de>

	* 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.

From-SVN: r74826
2003-12-19 09:35:24 +00:00
Paolo Carlini 7e08b3b816 locale_facets.tcc (time_get::_M_extract_via_format): Use narrow to get from __format[__i] a char __c representing a formatting code...
2003-12-17  Paolo Carlini  <pcarlini@suse.de>

	* 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.

From-SVN: r74755
2003-12-17 22:14:09 +00:00
Paolo Carlini cbf22cc549 container_benchmark.cc: Tweak outputs.
2003-12-17  Paolo Carlini  <pcarlini@suse.de>

	* 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.

From-SVN: r74738
2003-12-17 10:16:03 +00:00
Paolo Carlini da2fd9486b container_benchmark.cc: New...
2003-12-16  Paolo Carlini  <pcarlini@suse.de>

	* 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.

From-SVN: r74717
2003-12-16 22:57:57 +00:00
Paolo Carlini 93cbdb1a0c container_benchmark.cc: New...
2003-12-16  Paolo Carlini  <pcarlini@suse.de>

	* 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.

From-SVN: r74713
2003-12-16 22:44:19 +00:00
Paolo Carlini b1660ae9ea narrow_widen_char.cc: Tweak the number of iterations for each test.
2003-12-16  Paolo Carlini  <pcarlini@suse.de>

	* 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.

From-SVN: r74692
2003-12-16 13:25:23 +00:00
Paolo Carlini 9a1349b920 re PR libstdc++/11723 (ctype<wchar_t>::do_is(mask, wchar_t) is slow)
2003-12-16  Paolo Carlini  <pcarlini@suse.de>

	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.

From-SVN: r74686
2003-12-16 11:00:52 +00:00
Jerry Quinn 3fc63c15b4 ctype_noninline.h, [...] (ctype): Initialize _M_narrow, _M_widen.
2003-12-15  Jerry Quinn  <jlquinn@optonline.net>

        * 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.

From-SVN: r74662
2003-12-16 01:57:03 +00:00
Benjamin Kosnik fa972243f6 re PR libstdc++/12855 (Thread safety problems in ios_base::Init)
2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>

	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.

From-SVN: r74642
2003-12-15 19:03:13 +00:00
Paolo Carlini ca13fb7f5d locale_facets.tcc (num_get::do_get(bool&)): Fail as soon as the begins of both truename and falsename stop to match...
2003-12-15  Paolo Carlini  <pcarlini@suse.de>

	* 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  <pcarlini@suse.de>

	* 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.

From-SVN: r74636
2003-12-15 16:56:42 +00:00
Paolo Carlini e3c0c0989b re PR libstdc++/13341 (ctype<wchar_t>::do_narrow(wchar_t, char) is slow)
2003-12-12  Paolo Carlini  <pcarlini@suse.de>
	    Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/13341
	* include/bits/locale_facets.h (ctype<wchar_t>): Declare
	_M_initialize_ctype() and _M_narrow_ok, _M_narrow and _M_widen.
	* src/ctype.cc (ctype<wchar_t>::ctype(size_t),
	ctype<wchar_t>::ctype(__c_locale, size_t)): Use
	_M_initialize_ctype to fill _M_narrow and _M_widen.
	(ctype_byname<wchar_t>::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.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r74580
2003-12-12 19:44:17 +00:00
Neil Ferguson cbc6795585 basic_string.tcc (reserve): Allow shrink-to-fit.
2003-12-11  Neil Ferguson  <nferguso@eso.org>
	    Paolo Carlini  <pcarlini@suse.de>

	* 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.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r74551
2003-12-11 22:29:12 +00:00
Benjamin Kosnik 645112ddcc re PR libstdc++/6243 (testsuite fails almost all tests due to no libintl in LD_LIBRARY_PATH during test.)
2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>

	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.

From-SVN: r74521
2003-12-11 01:08:14 +00:00
Benjamin Kosnik 9f503dd352 re PR libstdc++/11612 (abi_check not finding correct libgcc_s.so.1)
2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
            Alexandre Oliva  <aoliva@redhat.com>

	PR libstdc++/11612
	* testsuite/Makefile.am (GLIBCXX_DIR): New.
	(GLIBGCC_DIR): New.
	(CXXLINK): Use both with -R so libtool links the correct libs.

Co-Authored-By: Alexandre Oliva <aoliva@redhat.com>

From-SVN: r74508
2003-12-10 21:43:10 +00:00
Benjamin Kosnik 35d6801ebe re PR libstdc++/10063 (stdio_filebuf broken)
2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>

	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.

From-SVN: r74505
2003-12-10 17:37:25 +00:00
Paolo Carlini 9877afe873 12438.cc: Tweak memory limit and iterations to avoid spurious failures on some 64 bit...
2003-12-10  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/22_locale/locale/cons/12438.cc: Tweak memory
	limit and iterations to avoid spurious failures on some
	64 bit machines.

From-SVN: r74489
2003-12-10 09:26:50 +00:00
Benjamin Kosnik 8602555360 re PR libstdc++/13296 (unnecessary libunwind support in libstdc++-v3)
2003-12-09  Benjamin Kosnik  <bkoz@redhat.com>

	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.

From-SVN: r74479
2003-12-10 00:05:36 +00:00
Benjamin Kosnik 57616df1c3 13189.cc: Guard for __enc_traits.
2003-12-06  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/ext/enc_filebuf/char/13189.cc: Guard for __enc_traits.
	* testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.

From-SVN: r74380
2003-12-07 04:15:16 +00:00
Benjamin Kosnik 4213442917 re PR libstdc++/13189 (<ext/enc_filebuf.h> fails to compile)
2003-12-05  Benjamin Kosnik  <bkoz@redhat.com>

	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.

From-SVN: r74313
2003-12-05 06:54:24 +00:00
Carlo Wood 69f73bd395 re PR libstdc++/13045 (Demangler does demangle floating values.)
PR libstdc++/13045
* bits/demangle.h
namespace __gnu_cxx::demangler
(enum substitution_nt): Removed trailing comma.
(implementation_details): Added.
(session<Allocator>::M_implementation_details): Added.
(session<Allocator>::session): Pass implementation_details.
(session<Allocator>::decode_encoding): Same.
(session<Allocator>::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<Allocator>::decode_expression):
Use M_implementation_details instead of macros. Add extra parentheses
around 'larger than' operator in expressions in template arguments.
(session<Allocator>::decode_bare_function_type): Idem.
(session<Allocator>::decode_literal):
Idem, and call decode_real for floating literals.
(session<Allocator>::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<space>".
* src/demangle.cc: include most dependent header file first.
* testsuite/demangle/regression/cw-16.cc: Updated two
and added three tests.

From-SVN: r74304
2003-12-05 02:40:53 +00:00
Benjamin Kosnik 82fa4538b5 re PR libstdc++/13284 (126 g++ failures due to lrand48 not defined)
2003-12-04  Benjamin Kosnik  <bkoz@redhat.com>

	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.

From-SVN: r74288
2003-12-04 19:37:21 +00:00
Paolo Carlini 7f1156ed35 re PR libstdc++/12653 (Resolution of DR 303 (WP) still unimplemented)
2003-12-04  Paolo Carlini  <pcarlini@suse.de>

	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.

From-SVN: r74276
2003-12-04 09:45:29 +00:00
Paolo Carlini 817fe804cf re PR libstdc++/12791 (_M_extract_num returns a wrong __beg in case of error)
2003-12-03  Paolo Carlini  <pcarlini@suse.de>

	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.

From-SVN: r74222
2003-12-03 09:26:03 +00:00
Paolo Carlini 3259561c4c re PR libstdc++/12791 (_M_extract_num returns a wrong __beg in case of error)
2003-12-03  Paolo Carlini  <pcarlini@suse.de>

	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.

From-SVN: r74220
2003-12-03 09:18:28 +00:00
Benjamin Kosnik 6b98580b89 basic_ios.h (basic_ios::setstate): Revert.
2003-12-01  Benjamin Kosnik  <bkoz@redhat.com>

	* 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.

From-SVN: r74151
2003-12-02 02:48:51 +00:00
Paolo Carlini 9dbaa9489f re PR libstdc++/10378 ([library DR 402] cannot add object with inplace new into STL collections)
2003-12-01  Paolo Carlini  <pcarlini@suse.de>

	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.

From-SVN: r74104
2003-12-01 15:34:07 +00:00
Paolo Carlini 2d25605a54 13171-2.cc: Tweak for a few small problems (fix timings, use VERIFY..)
2003-11-29  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc:
	Tweak for a few small problems (fix timings, use VERIFY..)

From-SVN: r74034
2003-11-29 17:42:16 +00:00
Paolo Carlini 05a47a473d 13171-3.cc: Remove.
2003-11-28  Paolo Carlini  <pcarlini@suse.de>

	* 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.

From-SVN: r74017
2003-11-28 10:24:27 +00:00
Paolo Carlini ac912ba1db 13171-3.cc: Remove extraneous wchar_t lines.
2003-11-28  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc:
	Remove extraneous wchar_t lines.

From-SVN: r74016
2003-11-28 08:02:51 +00:00
Paolo Carlini 5536b61c1e re PR libstdc++/11544 (wifstream conversion errors result in wrong rdstate())
2003-11-27  Paolo Carlini  <pcarlini@suse.de>

	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.

From-SVN: r74000
2003-11-27 17:56:05 +00:00
Benjamin Kosnik 12841eb3d0 re PR libstdc++/9371 (Bad exception handling in i/ostream::operator>>/<<(streambuf*))
2003-11-26  Benjamin Kosnik  <bkoz@redhat.com>

	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.

From-SVN: r73979
2003-11-27 08:14:25 +00:00
Benjamin Kosnik 48f499cf81 re PR libstdc++/12297 (istream::sentry::sentry() handles eof() incorrectly.)
2003-11-26  Benjamin Kosnik  <bkoz@redhat.com>

	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.

From-SVN: r73968
2003-11-26 22:45:56 +00:00
Paolo Carlini c03d83d499 re PR libstdc++/13171 (Bugs in basic_filebuf::imbue)
2003-11-26  Paolo Carlini  <pcarlini@suse.de>
	    Petur Runolfsson  <peturr02@ru.is>

	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.

Co-Authored-By: Petur Runolfsson <peturr02@ru.is>

From-SVN: r73954
2003-11-26 15:56:40 +00:00
Paolo Carlini 5af91f0690 codecvt_members.cc (codecvt::do_length): Rewrite, using both mbsnrtowcs and mbrtowc in a loop...
2003-11-25  Paolo Carlini  <pcarlini@suse.de>

	* 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.

From-SVN: r73934
2003-11-25 21:41:28 +00:00
Paolo Carlini 3c8797ae81 codecvt_members.cc (codecvt::do_in): Rewrite, using both mbsnrtowcs and mbrtowc in a loop...
2003-11-24  Paolo Carlini  <pcarlini@suse.de>

	* 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  <pcarlini@suse.de>

	* include/bits/locale_facets.h
	(__numpunct_cache<>::_M_cache): Set _M_allocated at the beginning
	in order to avoid memory leaks; simplify a bit.

From-SVN: r73893
2003-11-24 21:13:38 +00:00
Benjamin Kosnik e0ec69c929 streambuf_iterator.h (ostreambuf_iterator): Remove non-standard throw specs.
2003-11-24  Benjamin Kosnik  <bkoz@redhat.com>

	* 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.

From-SVN: r73892
2003-11-24 21:02:39 +00:00
Paolo Carlini 0fd1870171 re PR libstdc++/11602 (codecvt<wchar_t, char, mbstate_t> is slow.)
2003-11-20  Paolo Carlini  <pcarlini@suse.de>

	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.

From-SVN: r73769
2003-11-20 19:24:03 +00:00
Andreas Tobler 90635952d1 libstdc++.exp: Add DYLD_LIBRARY_PATH for darwin.
2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/lib/libstdc++.exp: Add DYLD_LIBRARY_PATH for darwin.
	* testsuite/libstdc++-dg/normal.exp: Add -multiply_defined suppress
	flag.

From-SVN: r73724
2003-11-19 05:51:18 +01:00
Paolo Carlini 2934246345 re PR libstdc++/12868 (basic_filebuf::imbue fails too easily)
2003-11-18  Paolo Carlini  <pcarlini@suse.de>

	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.

From-SVN: r73697
2003-11-18 08:21:38 +00:00
Paolo Carlini 6a7ee0d62e 8.cc: New test, summarizing the discussion ensuing libstdc++/12988.
2003-11-17  Paolo Carlini  <pcarlini@suse.de>

	* 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.

From-SVN: r73665
2003-11-17 08:39:57 +00:00
Paolo Carlini 38455b2b8b 12352.cc: Use __gnu_test::try_named_locale.
2003-11-14  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/22_locale/locale/cons/12352.cc: Use
	__gnu_test::try_named_locale.

From-SVN: r73602
2003-11-14 11:52:46 +00:00
Douglas Gregor 1b80d64af2 debug.html: Users are allowed to specialize in namespace __gnu_debug...
2003-11-13  Douglas Gregor  <gregod@cs.rpi.edu>

	* 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.

From-SVN: r73564
2003-11-14 00:15:00 +00:00
Paolo Carlini a2dcfada8a re PR libstdc++/13007 (basic_streambuf::pubimbue, imbue wrong)
2003-11-13  Paolo Carlini  <pcarlini@suse.de>
	    Petur Runolfsson  <peturr02@ru.is>

	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.

Co-Authored-By: Petur Runolfsson <peturr02@ru.is>

From-SVN: r73563
2003-11-13 23:13:22 +00:00
Petur Runolfsson 5681c890b6 re PR libstdc++/12594 (DRs 60 [TC] and 63 [TC] not implemented)
2003-11-13  Petur Runolfsson  <peturr02@ru.is>

	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.

From-SVN: r73551
2003-11-13 17:43:48 +00:00
Paolo Carlini f144e859cc 11305-1: Fix, closely following the testcase included in the PR.
2003-11-13  Paolo Carlini  <pcarlini@suse.de>

	* 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.

From-SVN: r73548
2003-11-13 14:19:39 +00:00
Carlo Wood 22e5c8fa3c re PR libstdc++/12947 (Demangler bug)
PR libstdc++/12947
* bits/demangle.h
(_GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS): Added.
(_GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Added.
(session<Allocator>::next_peek() const): Added.
(decode_non_negative_decimal_integer(string_type&)):
Renamed from decode_decimal_integer(string_type&).
(session<Allocator>::decode_nested_name):
Decode <template_param> as well.
(session<Allocator>::add_substitution):
Handle <template-param> for <nested-name>'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<Allocator>::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<Allocator>::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.

From-SVN: r73480
2003-11-12 02:18:37 +00:00
Paolo Carlini dfad48c6e8 re PR libstdc++/12875 (Weird behaviour in basic_filebuf::setbuf())
2003-11-11  Paolo Carlini  <pcarlini@suse.de>

	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.

From-SVN: r73477
2003-11-12 01:14:34 +00:00
Benjamin Kosnik 285b36d6a5 [multiple changes]
2003-11-11  Doug Gregor  <gregod@cs.rpi.edu>

	* 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  <bkoz@redhat.com>

	* 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.

From-SVN: r73459
2003-11-11 20:09:16 +00:00
Paolo Carlini 7c752655e6 re PR libstdc++/12971 (Resolution of DR 328 [WP] still unimplemented)
2003-11-09  Paolo Carlini  <pcarlini@suse.de>

	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.

From-SVN: r73389
2003-11-09 10:47:58 +00:00
Carlo Wood bfc8fe1a20 Ugh, copied the wrong date from previous test case.
From-SVN: r73340
2003-11-07 17:59:23 +00:00
Carlo Wood 2d369f351f re PR libstdc++/12736 (Demangler bug)
PR libstdc++/12736
* bits/demangle.h (qualifier_list<Allocator>::decode_KVrA): Added.
(qualifier_list<Allocator>::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.

From-SVN: r73339
2003-11-07 17:55:27 +00:00
Carlo Wood eb622d37cf demangle.h (qualifier_list<Allocator>::decode_qualifiers(string_type&, string_type&, bool member_function_pointer_qualifiers): Always seperate the '[' of an array type with a space from what is left of it...
* include/bits/demangle.h
(qualifier_list<Allocator>::decode_qualifiers(string_type&,
string_type&, bool member_function_pointer_qualifiers):
Always seperate 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.

From-SVN: r73328
2003-11-07 03:53:44 +00:00
Petur Runolfsson 5e93f39f64 re PR libstdc++/12790 (basic_filebuf doesn't handle stateful encodings)
2003-11-03  Petur Runolfsson  <peturr02@ru.is>

	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<state_type> 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.

From-SVN: r73245
2003-11-04 05:27:41 +00:00
Benjamin Kosnik 0f09879bd2 TODO: Add links.
2003-10-27  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/17_intro/TODO: Add links.
	* testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
	Uncomment.

From-SVN: r72991
2003-10-27 21:43:33 +00:00
Paolo Carlini f20d2b7871 re PR libstdc++/12750 (time_get::_M_extract_via_format doesn't deal with 'e')
2003-10-27  Paolo Carlini  <pcarlini@suse.de>

	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  <pcarlini@suse.de>

	* 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.

From-SVN: r72987
2003-10-27 16:21:14 +00:00
Paolo Carlini f883c8dce3 1.cc: Clean up.
2003-10-26  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/22_locale/money_put/put/char/1.cc: Clean up.
	* testsuite/22_locale/money_put/put/wchar_t/1.cc: Ditto.

From-SVN: r72949
2003-10-26 10:33:30 +00:00
Paolo Carlini 761faeec31 locale_facets.tcc (money_get::do_get(..., long double&): Properly size the temporary buffer.
2003-10-24  Paolo Carlini  <pcarlini@suse.de>

	* 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.

From-SVN: r72911
2003-10-24 22:51:15 +00:00
Paolo Carlini 60aa9fc304 locale_facets.tcc (money_get<>::do_get(..., string_type&)): Use find_first_not_of to strip leading zeros...
2003-10-23  Paolo Carlini  <pcarlini@suse.de>

	* 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.

From-SVN: r72860
2003-10-23 17:05:01 +00:00
Benjamin Kosnik bf5fe4734c locale_facets.h: Correct byname facets for "C" locale.
2003-10-22  Benjamin Kosnik  <bkoz@redhat.com>

	* 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.

From-SVN: r72814
2003-10-22 18:58:35 +00:00
Benjamin Kosnik 82c2e3d44a re PR libstdc++/9858 (Extra virtual functions in ctype<char>)
2003-10-21  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/9858
	* include/bits/locale_facets.h (ctype<char>): Remove
	__ctype_abstract_base.
	(ctype<char>::do_is): Remove.
	(ctype<char>::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.

From-SVN: r72753
2003-10-21 14:22:43 +00:00
Benjamin Kosnik 9540958eff re PR libstdc++/10081 (basic_ios::_M_cache_locale leaves NULL members in the face of unknown locales)
2003-10-20  Benjamin Kosnik  <bkoz@redhat.com>

	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.

From-SVN: r72728
2003-10-20 22:11:40 +00:00
Benjamin Kosnik 4c4809c175 [multiple changes]
2003-10-16  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/8610
	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  <bkoz@redhat.com>

        * 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.

From-SVN: r72582
2003-10-16 22:37:53 +00:00
Carlo Wood 4f22de0337 Lets add the correct test case instead.
From-SVN: r72481
2003-10-14 17:49:11 +00:00
Carlo Wood be3faf8996 re PR libstdc++/12600 (Demangler goes in infinite loop for certain invalid mangled names.)
PR libstdc++/12600
* include/bits/demangle.h (session<Allocator>::
  decode_unqualified_name(string_type& output)): Fail on a
  <operator-name> when decoding <template-argument>.
* testsuite/demangle/regression/cw-15.cc: New.

From-SVN: r72480
2003-10-14 17:46:19 +00:00
Paolo Carlini 1638f5c9d0 re PR libstdc++/11480 (std::unique calls predicate too many times)
2003-10-14  Paolo Carlini  <pcarlini@unitus.it>

	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.

From-SVN: r72478
2003-10-14 17:15:27 +00:00
Petur Runolfsson a62e73117f re PR libstdc++/11460 (Incorrect use of int_type in strstreambuf::pbackfail)
2003-10-12  Petur Runolfsson  <peturr02@ru.is>
	    Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11460
	* src/strstream.cc (pbackfail): Fix to use to_int_type.
	* testsuite/backward/11460.cc: New, from the PR.

Co-Authored-By: Paolo Carlini <pcarlini@unitus.it>

From-SVN: r72405
2003-10-12 20:03:18 +00:00
Paolo Carlini f5677b1560 codecvt_specializations.h: Change #ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS to a comment.
2003-10-12  Paolo Carlini  <pcarlini@unitus.it>

	* 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.

From-SVN: r72392
2003-10-12 10:12:09 +00:00
Andreas Tobler 64833be059 libstdc++.exp: Set LD_LIBRARY_PATH_64 for SPARC64.
2003-10-09  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_64 for
	SPARC64.

From-SVN: r72282
2003-10-09 21:22:38 +02:00
Paolo Carlini 2f800bccec re PR libstdc++/11844 (Incorrect values of ctype_base::alnum and ctype_base::graph)
2003-10-09  Paolo Carlini  <pcarlini@unitus.it>

	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.

From-SVN: r72281
2003-10-09 19:10:56 +00:00
Benjamin Kosnik 93d046861d [multiple changes]
2003-10-09  Benjamin Kosnik  <bkoz@redhat.com>

	* 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  <peturr02@ru.is>

	* 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.

From-SVN: r72272
2003-10-09 16:53:54 +00:00
Petur Runolfsson 1a139c5924 re PR libstdc++/9874 (filebuf::seekpos fails if codecvt::encoding() <= 0)
2003-10-09  Petur Runolfsson  <peturr02@ru.is>

        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.

From-SVN: r72268
2003-10-09 16:11:40 +00:00
Paolo Carlini ba9b12d1d2 re PR libstdc++/11740 (ctype<wchar_t>::do_is(mask, wchar_t) doesn't handle multiple bits in mask.)
2003-10-06  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11740
	* config/locale/gnu/ctype_members.cc (ctype<wchar_t>::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.

From-SVN: r72167
2003-10-06 22:32:59 +00:00
Paolo Carlini 184b434cf8 re PR libstdc++/12206 (Segmentation fault in basic_filebuf::seekoff)
2003-10-04  Paolo Carlini  <pcarlini@unitus.it>

	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.

From-SVN: r72087
2003-10-04 07:52:02 +00:00
Paolo Carlini 8dcaff2850 re PR libstdc++/12232 (Incorrect handling of openmode argument in filebuf::seekoff and seekpos)
2003-10-02  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/12232
	* include/bits/fstream.tcc (seekoff): Ignore the openmode
	argument; simplify.
	* config/io/basic_file_stdio.h (__basic_file<char>::seekoff,
	seekpos): Remove the openmode argument.
	* config/io/basic_file_stdio.cc (__basic_file<char>::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.

From-SVN: r72048
2003-10-02 20:37:06 +00:00
Carlo Wood 4a035cf7ea demangle.h (demangle<Allocator>::symbol(char const*)): Decode symbols that start with _GLOBAL_[ID]_ differently...
* include/bits/demangle.h (demangle<Allocator>::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.

From-SVN: r72027
2003-10-02 14:29:26 +00:00
Paolo Carlini 86b4ab7326 12438.cc: Use __gnu_test::try_named_locale("").
2003-10-02  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/22_locale/locale/cons/12438.cc: Use
	__gnu_test::try_named_locale("").

From-SVN: r72024
2003-10-02 12:16:31 +00:00
Paolo Carlini 52a16d0815 re PR libstdc++/12439 (Problems in time_put::put)
2003-10-01  Paolo Carlini  <pcarlini@unitus.it>

	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.

From-SVN: r71976
2003-10-01 14:32:05 +00:00
Paolo Carlini 2ea247d376 12352.cc: Explicitly qualify exception name.
2003-09-30  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/22_locale/locale/cons/12352.cc: Explicitly
	qualify exception name.

From-SVN: r71945
2003-09-30 15:19:33 +00:00
Paolo Carlini 155f6fbb62 re PR libstdc++/12438 (Memory leak in locale::combine())
2003-09-30  Paolo Carlini  <pcarlini@unitus.it>

	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.

From-SVN: r71943
2003-09-30 13:44:59 +00:00
Paolo Carlini e5012ba5ec [multiple changes]
2003-09-29  Paolo Carlini  <pcarlini@unitus.it>

	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  <ncm@cantrip.org>
	    Paolo Carlini  <pcarlini@unitus.it>

	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.

From-SVN: r71911
2003-09-29 17:36:18 +00:00
Paolo Carlini 6cd6aed790 12352.cc: Use __attribute__((unused)) for test.
2003-09-29  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/22_locale/locale/cons/12352.cc:
	Use __attribute__((unused)) for test.

From-SVN: r71896
2003-09-29 08:25:17 +00:00
Ulrich Weigand 33b1669031 2.cc (test_02): Allow either "Son" or "So" as abbreviated name for Sunday in de_DE locale.
* 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.

From-SVN: r71849
2003-09-27 03:28:15 +00:00
Brad Spencer 2d07c3f562 10132-1.cc: Explicitly qualify exceptions.
2003-09-26  Brad Spencer  <spencer@infointeractive.com>

	* 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.

From-SVN: r71832
2003-09-26 20:20:55 +00:00
Paolo Carlini 91675f9d25 re PR libstdc++/12352 (Exception safety problems in src/localename.cc)
2003-09-25  Paolo Carlini  <pcarlini@unitus.it>

	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.

From-SVN: r71808
2003-09-26 00:22:01 +00:00
Benjamin Kosnik 465ad0c712 ctype_members.cc (ctype<wchar_t>::do_is): Fix.
2003-09-25  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/gnu/ctype_members.cc (ctype<wchar_t>::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.

From-SVN: r71780
2003-09-25 16:37:24 +00:00
Benjamin Kosnik 11f10e6b1f locale_facets.tcc: Tweak to avoid warnings.
2003-09-23  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.tcc: Tweak to avoid warnings.
	* testsuite/testsuite_hooks.h: Same.
	* testsuite/*/*.cc: Same.

From-SVN: r71693
2003-09-23 20:03:30 +00:00
Petur Runolfsson 8c8dec01e2 fstream.tcc (basic_filebuf::seekoff): Use codecvt::length to handle variable-width stateless encodings correctly.
2003-09-10  Petur Runolfsson  <peturr02@ru.is>

	* 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.

From-SVN: r71271
2003-09-10 13:43:15 +00:00
Petur Runolfsson f1813b6972 re PR libstdc++/9028 (codecvt<wchar_t, char, mbstate_t> doesn't work on Red Hat Linux 8.0.)
2003-09-04  Petur Runolfsson  <peturr02@ru.is>

	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.

From-SVN: r71111
2003-09-05 12:55:33 +00:00
Petur Runolfsson 4c620c398e re PR libstdc++/12048 (unget does not work)
2003-09-03  Petur Runolfsson  <peturr02@ru.is>

	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<char>::xsgetn): Store last read character in
	_M_unget_buf, if any, else eof().
	(stdio_sync_filebuf<wchar_t>::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.

From-SVN: r71027
2003-09-03 14:57:04 +00:00
Petur Runolfsson 149639d4f1 re PR libstdc++/12048 (unget does not work)
2003-09-03  Petur Runolfsson  <peturr02@ru.is>

	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<char>::xsgetn): Store last read character in
	_M_unget_buf, if any, else eof().
	(stdio_sync_filebuf<wchar_t>::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  <peturr02@ru.is>

	* docs/html/27_io/howto.html: setbuf(0, 0) has no effect on
	stringbuf or strstreambuf. Fix typos.

From-SVN: r71026
2003-09-03 14:54:03 +00:00
Petur Runolfsson 3bedd16188 10.cc: Move wcout stuff...
2003-08-27  Petur Runolfsson  <peturr02@ru.is>

	* testsuite/27_io/objects/wchar_t/10.cc: Move wcout stuff...
	* testsuite/27_io/objects/wchar_t/11.cc: ...here. New file.

From-SVN: r70867
2003-08-27 21:39:52 +00:00
Phil Edwards ca618b60bf Makefile.am: Remove trailing whitespace.
2003-08-27  Phil Edwards  <pme@gcc.gnu.org>

	* 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.

From-SVN: r70865
2003-08-27 21:29:43 +00:00
Phil Edwards 92eabea208 acinclude.m4 (GLIBCXX_CONDITIONAL): New macro.
2003-08-27  Phil Edwards  <pme@gcc.gnu.org>

	* 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.

From-SVN: r70854
2003-08-27 19:06:56 +00:00
Phil Edwards 82ba99d59e Makefile.am: Add comment.
2003-08-26  Phil Edwards  <pme@gcc.gnu.org>

	* 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.

From-SVN: r70836
2003-08-27 00:38:28 +00:00
Loren J. Rittle 73780bfe9a cin_unget-1.txt: New.
* testsuite/data/cin_unget-1.txt: New.
	* testsuite/27_io/objects/char/12048.cc: New.

From-SVN: r70804
2003-08-26 11:46:22 +00:00
Phil Edwards 0df3f383ef acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Remove LIBMATH_INCLUDES and LIBSUPCXX_INCLUDES.
2003-08-17  Phil Edwards  <pme@gcc.gnu.org>

	* 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.

From-SVN: r70522
2003-08-17 20:23:12 +00:00
Benjamin Kosnik 2803847d40 basic_ios.h: Remove *_iter typedefs, change num* typedefs to num_*.
2003-08-11  Benjamin Kosnik  <bkoz@redhat.com>

	* 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.

From-SVN: r70357
2003-08-12 03:46:18 +00:00
Benjamin Kosnik 258e7dbc94 Makefile.am (check-abi): Change libstdc++-v3 to libstdc++.
2003-08-08  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/Makefile.am (check-abi): Change libstdc++-v3 to libstdc++.
	(check-abi-verbose): Same.
	* testsuite/testsuite_performance.h (report_performance): Same.

From-SVN: r70249
2003-08-08 15:24:00 +00:00
Loren J. Rittle 3e083bea6c * testsuite/testsuite_performance.h (__FreeBSD__): Add fake mallinfo.
From-SVN: r70244
2003-08-08 07:51:54 +00:00
Phil Edwards 8b171e5587 configure.in: Rename...
2003-08-05  Phil Edwards  <pme@gcc.gnu.org>

	* 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).

From-SVN: r70194
2003-08-05 23:32:23 +00:00
Phil Edwards ff66d28f7c Convert to new autotools.
2003-08-04  Phil Edwards  <pme@gcc.gnu.org>

	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.

From-SVN: r70167
2003-08-05 02:00:18 +00:00
Phil Edwards caf2125497 Makefile.am (DEJATOOL,EXPECT,RUNTEST,RUNTESTFLAGS): Remove unneeded variable assignments.
2003-08-04  Phil Edwards  <pme@gcc.gnu.org>

	* 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.

From-SVN: r70165
2003-08-05 01:34:28 +00:00
Phil Edwards b3f2a0325d libstdc++-v3-dg.exp: Rename...
2003-07-31  Phil Edwards  <pme@gcc.gnu.org>

	* 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.

From-SVN: r70033
2003-08-01 00:49:14 +00:00
Doug Gregor e64a227a8d Tests for user specialization of standard containers.
From-SVN: r70018
2003-07-31 22:23:38 +00:00
Benjamin Kosnik 17472bb623 Reshuffle 23_containers testsuite.
2003-07-31  Benjamin Kosnik  <bkoz@redhat.com>

	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.

From-SVN: r70011
2003-07-31 18:48:48 +00:00
Rainer Orth 515aab7cef pthread1.cc: Add alpha*-*-osf* to dg-do run, dg-options.
* 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.

From-SVN: r69999
2003-07-31 12:03:59 +00:00
Benjamin Kosnik cb584bcf98 testsuite_hooks.h: Remove list include.
2003-07-28  Benjamin Kosnik  <bkoz@redhat.com>

	* 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.

From-SVN: r69892
2003-07-28 17:12:16 +00:00
Benjamin Kosnik 36606f3954 char_traits.h: Update copyright, tweak.
2003-07-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/char_traits.h: Update copyright, tweak.
	* testsuite/ext/pod_char_traits.cc: Explicitly qualify namespace
	std types.

From-SVN: r69883
2003-07-28 14:46:35 +00:00
Phil Edwards 2cb1c92882 1.cc, [...]: Update comment regarding the origin of LOCALEDIR.
2003-07-28  Phil Edwards  <pme@gcc.gnu.org>

	* 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.

From-SVN: r69877
2003-07-28 04:05:30 +00:00
Benjamin Kosnik b66ea7d48d char_traits.h: Update copyright, tweak.
2003-07-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/char_traits.h: Update copyright, tweak.
	* testsuite/ext/pod_char_traits.cc: Explicitly qualifiy namespace
	std types.

From-SVN: r69791
2003-07-25 16:35:39 +00:00
Matt Austern d5ff4e3f11 char_traits.h (class char_traits): Put all the real work into the new class template __gnu_cxx::char_traits.
* /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<short>, which serves as a test of
	the char_traits primary template.

From-SVN: r69772
2003-07-25 05:32:23 +00:00
Benjamin Kosnik aecf642c78 *: Change __gnu_cxx_test to __gnu_test.
2003-07-24  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/*: Change __gnu_cxx_test to __gnu_test.

From-SVN: r69761
2003-07-24 21:08:03 +00:00
Nathan Myers d7541133fe map_operators.cc: Conform to container requirement as value must be Assignable.
2003-07-24  Nathan Myers <ncm-nospam@cantrip.org>

        * testsuite/23_containers/map_operators.cc: Conform to
        container requirement as value must be Assignable.

From-SVN: r69746
2003-07-24 16:40:09 +00:00
Benjamin Kosnik 5dfda04264 testsuite_flags.in (--build-includes): Remove extraneous paths for libio.
2003-07-21  Benjamin Kosnik  <bkoz@redhat.com>

	* 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.

From-SVN: r69651
2003-07-21 22:12:53 +00:00
Paolo Carlini e50344b919 re PR libstdc++/11528 (money_get does not get "$.00")
2003-07-16  Paolo Carlini  <pcarlini@unitus.it>

	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.

From-SVN: r69458
2003-07-16 16:12:47 +00:00
Paolo Carlini bda243ec50 Nathan C.
2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan C. Myers  <ncm-nospam@cantrip.org>

	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 <sys/uio.h>.
	* 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.

Co-Authored-By: Nathan C. Myers <ncm-nospam@cantrip.org>

From-SVN: r69341
2003-07-14 18:23:12 +00:00
Benjamin Kosnik c573d965f9 assign_neg.cc: Fix line numbers.
2003-07-14  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/ios_base/cons/assign_neg.cc: Fix line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.

From-SVN: r69331
2003-07-14 14:47:03 +00:00
Benjamin Kosnik cde6384093 locale_facets.tcc: Use function object for __use_cache instead of template function.
2003-07-09  Benjamin Kosnik  <bkoz@redhat.com>

	* 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.

From-SVN: r69177
2003-07-10 06:21:13 +00:00
Benjamin Kosnik 9e7facfd47 pod_char_traits.cc: New.
2003-07-08  Benjamin Kosnik  <bkoz@redhat.com>

	* 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.

From-SVN: r69115
2003-07-09 00:40:29 +00:00
Gawain Bolton e55dc371ca list_create_fill_sort.cc: New.
2003-07-08  Gawain Bolton  <gp.bolton@computer.org>

	* testsuite/performance/list_create_fill_sort.cc: New.

From-SVN: r69105
2003-07-08 21:33:18 +00:00
Phil Edwards aaa4a229ec testsuite_hooks.h: Guard against a missing unlink().
2003-07-06  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/testsuite_hooks.h:  Guard against a missing unlink().

From-SVN: r68993
2003-07-06 04:30:10 +00:00
Phil Edwards ac3d7b4413 create_testsuite_files: New file.
2003-07-05  Phil Edwards  <pme@gcc.gnu.org>

	* 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.

From-SVN: r68988
2003-07-06 03:14:37 +00:00
David Billinghurst 8b87d3fa24 4879.cc: xfail on cygwin
2003-07-05  David Billinghurst <David.Billinghurst@riotinto.com>

	* 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

From-SVN: r68970
2003-07-05 12:55:09 +00:00
Benjamin Kosnik 3d7c150e3f Move from CPP to CXX.
2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>

	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.

From-SVN: r68958
2003-07-05 04:05:45 +00:00
Zack Weinberg e6cc3a24c2 cpplib.h (CPP_AT_NAME, [...]): New token types.
* cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
	(struct cpp_options): Add narrow_charset, wide_charset,
	bytes_big_endian fields.  Remove EBCDIC field.
	(cpp_init_iconv, cpp_interpret_string): New external interfaces.

	* cpphash.h: Include <iconv.h> if we have it, otherwise
	provide a dummy definition of iconv_t.
	(struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
	(_cpp_valid_ucn): Update prototype.
	(_cpp_destroy_iconv): New prototype.

	* doc/cpp.texi: Document character set handling.
	* doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
	* doc/extend.texi: Delete entire section on multiline strings.
	Rewrite section on __FUNCTION__ etc now that these are
	variables in C.

	* cppucnid.tab, cppucnid.pl: New files.
	* cppucnid.h: New generated file.
	* cppcharset.c: Include cppucnid.h.  Lots of commentary added.
	(iconv_open, iconv, iconv_close): Provide dummy definitions
	if !HAVE_ICONV.
	(SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
	_cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
	emit_numeric_escape, convert_hex, convert_oct, convert_escape,
	cpp_interpret_string, narrow_str_to_charconst,
	wide_str_to_charconst): New.
	(ucn_valid_in_identifier): Use a binary search through the
	ucnranges table defined in cppucnid.h, not a long chain of if
	statements.
	(_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
	character names are only valid in C++ and C99" to a warning.
	Issue the "meaning of \[uU] is different in traditional C"
	warning here.  Take care not to let iconv see an invalid UCS
	value if we get a malformed UCN.  Issue an error if we don't
	have iconv.
	(cpp_interpret_charconst): Moved here from cpplex.c.  Use
	cpp_interpret_string to do the heavy lifting.

	* cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
	narrow_charset, wide_charset fields of options structure.
	(cpp_destroy): Call _cpp_destroy_iconv.
	* cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
	(maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
	(cpp_interpret_charconst): Moved to cppcharset.c.
	* cpplib.c (dequote_string): Delete.
	(interpret_string_notranslate): New.
	(do_line, do_linemarker): Use interpret_string_notranslate.

	* Makefile.in (cppcharset.o): Depend on cppucnid.h.

	* c-common.c (fname_string, combine_strings): Delete.
	* c-common.h (fname_string, combine_strings): Delete prototypes.
	* c-lex.c (ignore_escape_flag): Delete.
	(cb_ident): Use cpp_interpret_string, not lex_string.
	(get_nonpadding_token): New function.
	(c_lex): Handle Objective-C @-prefixed identifiers and strings here.
	Adjust calls to lex_string.  Don't write *value twice.
	(lex_string): Now handles string constant concatenation.
	Most of the work handed off to cpp_interpret_string.
	Call fix_string_type here.
	* c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
	FUNC_NAME, throughout.
	(OBJC_STRING): New token type.
	(primary:STRING): No need to call fix_string_type here.
	(primary:objc_string): Make that OBJC_STRING.
	(objc_string nonterminal): Delete.
	(yylexname): Delete code to handle fake string constants.
	(yylexstring): Delete entirely.
	(_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
	to handle CPP_ATSIGN.

	* c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
	* c-opts.c (missing_arg, c_common_handle_option): Handle
	OPT_fexec_charset_ and OPT_fwide_exec_charset_.
	(c_common_init): Set cpp_opts->bytes_big_endian, not
	cpp_opts->EBCDIC.  Call cpp_init_iconv.
	(print_help): Document -fexec-charset= and -fexec-wide-charset=.
	(TARGET_EBCDIC): Delete default definition.

	* objc/objc-act.c (build_objc_string_object): No need to
	handle string constant concatenation.

cp:
	* parser.c (cp_lexer_read_token): No need to handle string
	constant concatenation.

testsuite:
	* gcc.c-torture/execute/wchar_t-1.x: New file; XFAIL wchar_t-1.c
	everywhere.
	* gcc.dg/concat.c: Concatenation of string constants with
	__FUNCTION__ / __PRETTY_FUNCTION__ is now a hard error.
	* gcc.dg/wtr-strcat-1.c: Loosen dg-warning regexp.
	* gcc.dg/cpp/escape-2.c: Use wide character constants where
	necessary to avoid multi-character character constant warning.
	* gcc.dg/cpp/escape.c: Likewise.
	* gcc.dg/cpp/ucs.c: Likewise.
	Remove backslashes from dg-bogus comments, as they confuse Tcl.
	Fix a typo.

libstdc++-v3:
	* 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.

From-SVN: r68952
2003-07-05 00:24:00 +00:00
Paolo Carlini 10ef4e2e3f 2003-07-04 Paolo Carlini <pcarlini@unitus.it>
Revert the fix for libstdc++/11378.

From-SVN: r68922
2003-07-04 16:36:26 +00:00
Paolo Carlini ac2c48d70f re PR libstdc++/11378 (Unbuffered sputn is slow)
2003-07-04  Paolo Carlini  <pcarlini@unitus.it>

	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.

From-SVN: r68921
2003-07-04 16:15:15 +00:00
Benjamin Kosnik 68e1f6219c Makefile.am (target_headers): Add fpos.h
2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>

	* 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.

From-SVN: r68914
2003-07-04 07:15:30 +00:00
Benjamin Kosnik cc5112c92d Makefile.am (target_headers): Add fpos.h
2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>

	* 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  <bkoz@redhat.com>
	    Petur Runolfsson  <peturr02@ru.is>

	* 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.

Co-Authored-By: Petur Runolfsson <peturr02@ru.is>

From-SVN: r68913
2003-07-04 07:14:54 +00:00
David Edelsohn 304d79dc0a 7.cc: Guard with _GLIBCPP_USE_WCHAR_T.
* testsuite/22_locale/num_put/put/char/7.cc: Guard with
        _GLIBCPP_USE_WCHAR_T.

From-SVN: r68883
2003-07-03 10:20:29 -04:00
Paolo Carlini 1c3800951b 7.cc: Include <testsuite_hooks.h>, tweak.
2003-07-02  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/22_locale/num_put/put/char/7.cc: Include
	<testsuite_hooks.h>, tweak.
	* testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.

From-SVN: r68827
2003-07-02 10:35:14 +00:00
Phil Edwards f9f4d1e10a Makefile.am (AM_MAKEFLAGS): Set to -j1 (affects check* targets, but not libs/programs).
2003-07-01  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/Makefile.am (AM_MAKEFLAGS):  Set to -j1 (affects
	check* targets, but not libs/programs).
	* testsuite/Makefile.in:  Regenerate.

From-SVN: r68813
2003-07-02 01:40:59 +00:00
Paolo Carlini f64f3e74b9 re PR libstdc++/11389 (Unbuffered wfilebuf fails to read single-byte UTF-8 characters.)
2003-07-01  Paolo Carlini  <pcarlini@unitus.it>

	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.

From-SVN: r68780
2003-07-01 17:13:01 +00:00
Jerry Quinn 5ee78c21f1 7.cc: New.
2003-07-01  Jerry Quinn  <jlquinn@optonline.net>

	* 22_locale/num_put/put/char/7.cc: New.
	* 22_locale/num_put/put/wchar_t/7.cc: New.

From-SVN: r68762
2003-07-01 05:44:42 +00:00
Benjamin Kosnik 7d6a09934c 1-in.cc: New.
2003-06-30  Benjamin Kosnik  <bkoz@redhat.com>

	* 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.

From-SVN: r68757
2003-07-01 03:04:43 +00:00
Phil Edwards 7685a26d92 Makefile.am (check-am): Do not override.
2003-06-30  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/Makefile.am (check-am):  Do not override.
	(baseline_symbols):  Declare as PHONY, so no need to 'touch' it.
	* testsuite/Makefile.in:  Regenerate.

From-SVN: r68738
2003-06-30 20:40:10 +00:00
Doug Gregor d147b75b92 Don't initialize an insert_iterator with a singular iterator
From-SVN: r68729
2003-06-30 19:11:12 +00:00
Phil Edwards e37f7da796 libstdc++-v3-dg.exp: Add comments.
2003-06-30  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/lib/libstdc++-v3-dg.exp:  Add comments.
	(libstdc++-v3-init):  Also set LD_RUN_PATH.

From-SVN: r68713
2003-06-30 17:17:58 +00:00
Paolo Carlini cd16e04b18 std_streambuf.h (_M_mode): Move from here to filebuf and stringbuf.
2003-06-30  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_streambuf.h (_M_mode): 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  <pcarlini@unitus.it>

	* 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.

From-SVN: r68695
2003-06-30 11:17:23 +00:00
Paolo Carlini 165f54e074 11305-1.cc: Improve type correctness-wise.
2003-06-29  Paolo Carlini  <pcarlini@unitus.it>

	* 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.

From-SVN: r68666
2003-06-29 11:12:35 +00:00
Paolo Carlini b417ae14c8 re PR libstdc++/9875 (filebuf doesn't handle codecvt::encoding() > 1)
2003-06-28  Paolo Carlini  <pcarlini@unitus.it>

	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.

From-SVN: r68630
2003-06-28 07:50:29 +00:00
Benjamin Kosnik f1a22109ec [multiple changes]
2003-06-27  Benjamin Kosnik  <bkoz@redhat.com>

	* 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  <doko@debian.org>

	* testsuite/Makefile.am (check-abi, check-abi-verbose): Save
	output of abi-check in libstdc++-v3-abi.sum.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r68593
2003-06-27 18:13:12 +00:00
Paolo Carlini 3461133d72 Nathan C.
2003-06-27  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan C. Myers  <ncm-nospam@cantrip.org>

	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  <pcarlini@unitus.it>
	    Petur Runolfsson  <peturr02@ru.is>

	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.

Co-Authored-By: Nathan C. Myers <ncm-nospam@cantrip.org>
Co-Authored-By: Petur Runolfsson <peturr02@ru.is>

From-SVN: r68566
2003-06-27 12:33:49 +00:00
Benjamin Kosnik 215f9e283a ios_base.h (ios_base::_M_getloc): Return reference to the imbued locale.
2003-06-26  Benjamin Kosnik  <bkoz@redhat.com>

	* 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  <bkoz@redhat.com>
	    Jerry Quinn  <jlquinn@optonline.net>

	* 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.

Co-Authored-By: Jerry Quinn <jlquinn@optonline.net>

From-SVN: r68558
2003-06-27 07:25:38 +00:00
Nathan C. Myers 8370378a24 filebuf_copy.cc: New, testing char by char file copy.
2003-06-26  Nathan C. Myers  <ncm-nospam@cantrip.org>
	    Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/performance/filebuf_copy.cc: New, testing char
	by char file copy.

Co-Authored-By: Paolo Carlini <pcarlini@unitus.it>

From-SVN: r68538
2003-06-26 16:38:40 +00:00
Paolo Carlini 2cfe4e6898 Nathan C.
2003-06-26  Paolo Carlini  <pcarlini@unitus.it>
            Nathan C. Myers  <ncm-nospam@cantrip.org>

	* 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.

Co-Authored-By: Nathan C. Myers <ncm-nospam@cantrip.org>

From-SVN: r68522
2003-06-26 09:55:24 +00:00
Benjamin Kosnik 1b6f0a561f testsuite_performance.h: Tweak mallinfo.
2003-06-24  Benjamin Kosnik  <bkoz@redhat.com>
            Ulrich Drepper  <drepper@redhat.com>

	* testsuite/testsuite_performance.h: Tweak mallinfo.

Co-Authored-By: Ulrich Drepper <drepper@redhat.com>

From-SVN: r68436
2003-06-24 19:38:36 +00:00
Paolo Carlini 71b460210a Nathan C.
2003-06-24  Paolo Carlini  <pcarlini@unitus.it>
            Nathan C. Myers  <ncm-nospam@cantrip.org>

	* 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.

Co-Authored-By: Nathan C. Myers <ncm-nospam@cantrip.org>

From-SVN: r68420
2003-06-24 13:48:11 +00:00
Loren J. Rittle d1a2c4d688 * testsuite/testsuite_performance.h: Portability.
From-SVN: r68407
2003-06-24 06:41:38 +00:00
Benjamin Kosnik c89c30ddb2 libstdc++-assign.txt: Update address.
2003-06-23  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/17_intro/libstdc++-assign.txt: Update address.

	* testsuite/performance/ifstream_getline.cc: Fix.

From-SVN: r68382
2003-06-23 20:31:31 +00:00
Doug Gregor 8dbe14becf Testsuite corrections
From-SVN: r68288
2003-06-20 23:40:11 +00:00
Doug Gregor bdb0f0f5d2 fix basic_string::replace for integral types
From-SVN: r68286
2003-06-20 22:12:18 +00:00
Benjamin Kosnik f5a6463ed6 testsuite_performance.h (resource_counter): Don't use mallinfo at the moment.
2003-06-20  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/testsuite_performance.h (resource_counter): Don't use
	mallinfo at the moment.

From-SVN: r68268
2003-06-20 15:26:23 +00:00
Andreas Jaeger 97460e9a72 Makefile.am (extract_symvers): Revert accidental change.
* testsuite/Makefile.am (extract_symvers): Revert accidental
	change.
	* testsuite/Makefile.in: Regenerate.

	* configure.in: Pass MULTISUBDIR to testsuite/Makefile.
	* configure: Regenerated.

From-SVN: r68220
2003-06-19 21:54:04 +02:00