Commit Graph

283 Commits

Author SHA1 Message Date
Lawrence Lim a35f1a13b9 re PR libstdc++/23550 (char_traits requirements/1.cc test bad math)
2005-08-24  Lawrence Lim  <llim@redhat.com>
            Jakub Jelinek  <jakub@redhat.com>
	    Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/23550
	* testsuite/21_strings/char_traits/requirements/char/1.cc
	(test01): Simplify counting.
	* testsuite/21_strings/char_traits/requirements/wchar_t/1.cc
	(test02): Same.

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

From-SVN: r103451
2005-08-24 20:29:27 +00:00
Kelley Cook 83f517994d All files: Update FSF address.
2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>

	* All files: Update FSF address.

From-SVN: r103192
2005-08-17 02:28:44 +00:00
Paolo Carlini 17e2915c27 PR libstdc++/21770 (cont: __gnu_debug::string)
2005-06-06  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/21770 (cont: __gnu_debug::string)
	* include/debug/string: Use _Base typedefs for pointer, const_pointer,
	reference, const_reference, size_type, difference_type.
	* testsuite/21_strings/basic_string/2.cc: New.

From-SVN: r100693
2005-06-07 02:55:06 +00:00
Paolo Carlini 4fd20a8f82 re PR libstdc++/21770 (rebinding allocator::value type vs. container::value_type)
2005-06-03  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/21770
	* include/bits/stl_deque.h: Add concept-check. In class _Deque_base
	rebind _Alloc to  _Tp_alloc_type, change _Deque_impl to inherit from
	the latter and add _M_get_Tp_allocator() which returns it. Use
	everywhere _M_get_Tp_allocator() instead of get_allocator().
	* include/bits/deque.tcc: Likewise, use _M_get_Tp_allocator().
	* include/bits/stl_list.h: Add concept-check. In class _List_base
	rebind _Alloc to _Tp_alloc_type and add _M_get_Tp_allocator(), which
	returns the allocator (of type _Node_alloc_type) converted to
	_Tp_alloc_type. Use everywhere _M_get_Tp_allocator() instead of
	get_allocator().
	* include/bits/list.tcc: Likewise, use _M_get_Tp_allocator().
	* include/bits/stl_vector.h: Add concept-check. In class _Vector_base
	rebind _Alloc to _Tp_alloc_type, change _Vector_impl to inherit from
	the latter and add _M_get_Tp_allocator() which returns it. Use
	everywhere _M_get_Tp_allocator() instead of get_allocator().
	* include/bits/vector.tcc: Likewise, use _M_get_Tp_allocator().
	* include/bits/stl_map.h: Add concept-check. Rebind _Alloc to
	_Pair_alloc_type and use it for _Rb_tree.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_multiset.h: Add concept-check. Rebind _Alloc to
	_Key_alloc_type and use it for _Rb_tree.
	* include/bits/stl_set.h: Likewise.
	* include/bits/basic_string.h: Rebind _Alloc to _CharT_alloc_type and
	use it for the allocator typedefs.
	* testsuite/21_strings/basic_string/1.cc: New.
	* testsuite/23_containers/deque/explicit_instantiation.cc: Move to...
	* testsuite/23_containers/deque/explicit_instantiation/1.cc: ... here.
	* testsuite/23_containers/deque/explicit_instantiation/3.cc: New.
	* testsuite/23_containers/list/explicit_instantiation.cc: Move to...
	* testsuite/23_containers/list/explicit_instantiation/1.cc: ... here.
	* testsuite/23_containers/list/explicit_instantiation/3.cc: New.
	* testsuite/23_containers/map/explicit_instantiation.cc: Move to...
	* testsuite/23_containers/map/explicit_instantiation/1.cc: ... here.
	* testsuite/23_containers/map/explicit_instantiation/3.cc: New.
	* testsuite/23_containers/multimap/explicit_instantiation.cc: Move to...
	* testsuite/23_containers/multimap/explicit_instantiation/1.cc: .. here.
	* testsuite/23_containers/multimap/explicit_instantiation/3.cc: New.
	* testsuite/23_containers/multiset/explicit_instantiation.cc: Move to...
	* testsuite/23_containers/multiset/explicit_instantiation/1.cc: .. here.
	* testsuite/23_containers/multiset/explicit_instantiation/3.cc: New.
	* testsuite/23_containers/set/explicit_instantiation.cc: Move to...
	* testsuite/23_containers/set/explicit_instantiation/1.cc: .. here.
	* testsuite/23_containers/set/explicit_instantiation/3.cc: New.
	* testsuite/23_containers/vector/explicit_instantiation.cc: Move to...
	* testsuite/23_containers/vector/explicit_instantiation/1.cc: ... here.
	* testsuite/23_containers/vector/explicit_instantiation/3.cc: New.

From-SVN: r100546
2005-06-03 17:07:48 +00:00
Benjamin Kosnik 821503dbd6 pod_char_traits.h (__gnu_cxx::character): Add char_type.
2005-04-14  Benjamin Kosnik  <bkoz@redhat.com>

	*  include/ext/pod_char_traits.h (__gnu_cxx::character): Add char_type.
	(character::to): New.
	(character::from): New.
	(operator==): Add state parameter.
	(operator<): Same.
	(char_traits::copy): Use std::copy.
	(char_traits::assign): Use std::fill_n.
	(char_traits::to_char_type): Use character::from.
	(char_traits::to_int_type): Use character::to.
	*  testsuite/testsuite_character.h (__gnu_test::character): Remove.
	(__gnu_test::conversion_state): Remove.
	(__gnu_test::pod_char): Remove.
	(pod_char): New typedef.
	(pod_uchar): New typedef.
	(pod_ushort): New typedef.
	*  testsuite/testsuite_character.cc: Fixups.
	*  testsuite/21_strings/basic_string/inserters_extractors/pod/
	10081-in.cc: Same.
	*  testsuite/21_strings/basic_string/inserters_extractors/pod/
	10081-out.cc: Same.
	*  testsuite/22_locale/numpunct/members/pod/1.cc: Same.
	*  testsuite/22_locale/numpunct/members/pod/2.cc: Same.
	*  testsuite/27_io/basic_filebuf/close/12790-1.cc: Same.
	*  testsuite/27_io/basic_filebuf/open/12790-1.cc: Same.
	*  testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Same.
	*  testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Same.
	*  testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Same.
	*  testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Same.
	*  testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Same.
	*  testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Same.
	*  testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Same.
	*  testsuite/27_io/basic_ios/imbue/14072.cc: Same.
	*  testsuite/27_io/basic_istream/extractors_arithmetic/pod/
	3983-1.cc: Same.
	*  testsuite/27_io/basic_istream/extractors_character/pod/
	3983-2.cc: Same.
	*  testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc: Same.
	*  testsuite/27_io/basic_istream/sentry/pod/1.cc: Same.
	*  testsuite/27_io/basic_ostream/sentry/pod/1.cc: Same.

From-SVN: r98165
2005-04-15 02:06:26 +00:00
Benjamin Kosnik 5305b1ae1b test.html: Update.
2005-04-06  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/test.html: Update.
	* testsuite/printnow.c: Remove.
	* scripts/check_survey.in: Remove.

	* testsuite/abi_check.cc: To...
	* testuite/testsuite_abi_check.cc: ...here.
	* testsuite/libstdc++-abi/abi.exp: Change abi_check.cc to
	testsuite_abi_check.cc.

	* testsuite/testsuite_hooks.h: Move character related bits to...
	* testsuite/testsuite_character.h: ...here.
	* testsuite/testsuite_character.cc: ... and here.
	* testsuite/21_strings/basic_string/inserters_extractors/pod/
	10081-in.cc: Use testsuite_character.h.
	* testsuite/21_strings/basic_string/inserters_extractors/pod/
	10081-out.cc: Same.
	* testsuite/22_locale/numpunct/members/pod/1.cc: Same.
	* testsuite/22_locale/numpunct/members/pod/2.cc: Same.
	* testsuite/27_io/basic_filebuf/2.cc: Same.
	* testsuite/27_io/basic_fstream/2.cc: Same.
	* testsuite/27_io/basic_istream/2.cc: Same.
	* testsuite/27_io/basic_istream/extractors_arithmetic/pod/
	3983-1.cc: Same.
	* testsuite/27_io/basic_istream/extractors_character/char/
	9826.cc: Same.
	* testsuite/27_io/basic_istream/extractors_character/pod/
	3983-2.cc: Same.
	* testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc: Same.
	* testsuite/27_io/basic_istream/sentry/pod/1.cc: Same.
	* testsuite/27_io/basic_ostream/2.cc: Same.
	* testsuite/27_io/basic_ostream/sentry/pod/1.cc: Same.
	* testsuite/27_io/basic_streambuf/2.cc: Same.
	* testsuite/27_io/basic_stringbuf/2.cc: Same.
	* testsuite/27_io/basic_stringbuf/4.cc: Same.
	* testsuite/27_io/basic_stringstream/2.cc: Same.
	* testsuite/27_io/fpos/1.cc: Same.
	* testsuite/ext/mt_allocator/tune-1.cc: Same.
	* testsuite/ext/mt_allocator/tune-2.cc: Same.
	* testsuite/ext/stdio_filebuf/char/1.cc: Same.
	* testsuite/lib/libstdc++.exp (v3-build_support): Add
	testsuite_character.cc.
	* testsuite/Makefile.am (libv3test_a_SOURCES): Add
	testsuite_character.cc.
	* testsuite/Makefile.in: Regenerate.

	* configure.ac: Remove use of check_survey.
	* configure: Regenerate.
	* testsuite/Makefile.am: Remove check-script and
	check-script-install rules.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r97772
2005-04-07 04:16:26 +00:00
Paolo Carlini b949d64b60 re PR libstdc++/19829 (cris-elf testsuite failure: 21_strings/basic_string/find/char/3.cc execution test)
2005-02-16  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/19829
	* testsuite/21_strings/basic_string/find/char/3.cc: Fix the test
	at line #66 to not access str_lit01 beyond its end.
	* testsuite/21_strings/basic_string/find/wchar_t/3.cc: Likewise.

From-SVN: r95103
2005-02-16 11:09:57 +00:00
Paolo Carlini 4f70f9d237 18654.cc: Use better names.
2004-11-29  Paolo Carlini  <pcarlini@suse.de>

        * testsuite/21_strings/basic_string/capacity/char/18654.cc: Use
	better names.
        * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: Same.

From-SVN: r91469
2004-11-29 13:29:54 +00:00
Paolo Carlini d1a7222cce re PR libstdc++/18654 (Shrink-to-fit std::string::reserve() calls can reallocate & copy string contents unnecessarily)
2004-11-29  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/18654
	* include/bits/basic_string.tcc (_Rep::_S_create): When shrinking,
	do not round to pagesize.
	* testsuite/21_strings/basic_string/capacity/char/18654.cc: New.
	* testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: New.

From-SVN: r91466
2004-11-29 12:59:53 +00:00
Paolo Carlini ec61e852bc basic_string.h (_Rep::_M_is_safe, [...]): New, use througout.
2004-10-25  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (_Rep::_M_is_safe, _M_check_length,
	_M_move, _M_copy, _M_assign): New, use througout.
	(operator+=(_CharT)): Define in terms of push_back.
	(append(const basic_string&)): Define here, inline, and simplify,
	don't use the full _M_replace_safe.
	(append(size_type, _CharT)): Likewise, don't use _M_replace_aux.
	(push_back): Likewise.
	(assign(const basic_string&)): Define here, inline.
	* include/bits/basic_string.tcc (append(const _CharT* s, size_type):
	Fix: when s points inside the _Rep, upon reallocation (reserve) we
	were copying from deallocated memory.
	(append(const basic_string&, size_type, size_type)): Simplify,
	don't use _M_replace_safe.
	(replace(size_type, size_type, const _CharT*, size_type)): Slightly
	tweak.
	(reserve): Likewise.
	* testsuite/21_strings/basic_string/append/char/2.cc: New.
	* testsuite/21_strings/basic_string/append/char/3.cc: Likewise.
	* testsuite/21_strings/basic_string/append/wchar_t/2.cc: Likewise.
	* testsuite/21_strings/basic_string/append/wchar_t/3.cc: Likewise.

	* testsuite/21_strings/basic_string/assign/char/3.cc: Remove junk.
	* testsuite/21_strings/basic_string/assign/wchar_t/3.cc: Likewise.

From-SVN: r89526
2004-10-25 08:45:04 +00:00
Paolo Carlini 1165dc50e8 [multiple changes]
2004-09-28  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/16612
	* include/bits/basic_string.h (_M_dispose, _M_refcopy,
	basic_string()): When _GLIBCXX_FULLY_DYNAMIC_STRING is defined,
	don't deal with _S_empty_rep.
	* include/bits/basic_string.tcc (_S_construct, _M_destroy,
	_M_leak_hard, _M_mutate): Likewise.
	* acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): New.
	* acconfig.h: Add corresponding undef.
	* configure.ac: Use GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING.
	* docs/html/configopts.html: Document --enable-fully-dynamic-string.
	* configure: Regenerate.
	* config.h.in: Likewise.

2004-09-28  Benjamin Kosnik  <bkoz@redhat.com>
            Paolo Carlini  <pcarlini@suse.de>

	* testsuite/21_strings/basic_string/operations/char/1.cc: New.
	* testsuite/21_strings/basic_string/operations/wchar_t/1.cc: New.
	* testsuite/21_strings/basic_string/element_access/char/empty.cc: New.
	* testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
	New.

2004-09-28  Paolo Carlini  <pcarlini@suse.de>

	* README: Remove obsolete entry about include/c_shadow.

From-SVN: r88225
2004-09-28 08:58:35 +00:00
Paolo Carlini b1c5b5a09b istream.tcc (ignore): Correctly deal with n == numeric_limits<streamsize>::max().
2004-05-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/istream.tcc (ignore): Correctly deal with
	n == numeric_limits<streamsize>::max().
	* testsuite/27_io/basic_istream/ignore/char/2.cc: New.

	* include/bits/istream.tcc (basic_istream<>::getline): Prefer
	'_M_gcount + 1 < __n' to '--__n; _M_gcount < __n', just in case
	__n == numeric_limits<>::min().

	* include/bits/istream.tcc: Minor tweaks.

	* testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
	Tighten.
	* testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
	Likewise.
	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
	Likewise.
	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
	Likewise.
	* testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.

From-SVN: r82198
2004-05-24 09:40:56 +00:00
Paolo Carlini 3adf6cadbb istream.tcc (operator>>(basic_istream<>&, basic_string<>&)): Use a temporary buffer, thus avoiding reallocation for common case.
2004-05-20  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/istream.tcc (operator>>(basic_istream<>&,
	basic_string<>&)): Use a temporary buffer, thus avoiding
	reallocation for common case.
	* testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
	New.
	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
	Likewise.

	* include/bits/istream.tcc: Const-ification of a few variables.

	* include/bits/ostream.tcc: Trivial formatting fixes and
	const-ification of some variables.

From-SVN: r82070
2004-05-20 22:06:40 +00:00
Paolo Carlini c26fa757dc 10.cc: New.
2004-04-25  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
	New.
	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
	Likewise.
	* testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.

From-SVN: r81159
2004-04-25 12:56:41 +00:00
Benjamin Kosnik 3dd50c745b 9555-ic.cc: Clarify assertion, set test variable to false before assert.
2004-04-19  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
	Clarify assertion, set test variable to false before assert.
	* testsuite/27_io/basic_istringstream/str/char/1.cc: Same.
	* testsuite/27_io/basic_stringstream/str/char/1.cc: Same.
	* testsuite/27_io/ios_base/storage/2.cc: Same.

	* testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Fix
	function returns.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Same.
	* testsuite/27_io/fpos/14320-3.cc: Same.

	* testsuite/27_io/basic_filebuf/2.cc: Instantiate in namespace std.
	* testsuite/27_io/fpos/1.cc: Same.
	* testsuite/27_io/basic_stringstream/2.cc: Same.
	* testsuite/27_io/basic_stringbuf/4.cc: Same.
	* testsuite/27_io/basic_stringbuf/1.cc: Same.
	* testsuite/27_io/basic_stringbuf/2.cc: Same.
	* testsuite/27_io/basic_streambuf/2.cc: Same.
	* testsuite/27_io/basic_ostringstream/2.cc: Same.
	* testsuite/27_io/basic_ostream/2.cc: Same.
	* testsuite/27_io/basic_ofstream/2.cc: Same.
	* testsuite/27_io/basic_istringstream/2.cc: Same.
	* testsuite/27_io/basic_istream/2.cc: Same.
	* testsuite/27_io/basic_iostream/2.cc: Same.
	* testsuite/27_io/basic_ios/2.cc: Same.
	* testsuite/27_io/basic_ifstream/2.cc: Same.
	* testsuite/27_io/basic_fstream/2.cc: Same.
	* testsuite/ext/stdio_filebuf/char/1.cc: Same, in namespace __gnu_cxx.

	* testsuite/21_strings/basic_string/capacity/1.cc: Don't compare
	unsigned against zero.
	* testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Same.
	* testsuite/21_strings/basic_string/capacity/char/1.cc: Same.

	* testsuite/18_support/new_delete_placement.cc: Initialize
	variables before first use.
	* testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Same.
	* testsuite/21_strings/char_traits/requirements/char/1.cc: Same.
	* testsuite/21_strings/char_traits/requirements/short/1.cc: Same.
	* testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
	Same.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc: Same.
	* testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
	Same.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc: Same.
	* testsuite/27_io/types/2.cc: Same.

	* testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Fix temporary
	file name.
	* testsuite/27_io/fpos/14775.cc: Same.

From-SVN: r80861
2004-04-19 19:00:09 +00:00
Paolo Carlini 2aa89cbb78 testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to CXXFLAGS_save.
2004-03-04  Paolo Carlini  <pcarlini@suse.de>

	* scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
	CXXFLAGS_save.
	* testsuite/lib/libstdc++.exp: Don't add it conditionally to
	DEFAULT_CXXFLAGS.
	* testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
	from the dg-options.
	* testsuite/23_containers/vector/invalidation/1.cc: Likewise.
	* testsuite/23_containers/vector/invalidation/2.cc: Likewise.
	* testsuite/23_containers/vector/invalidation/3.cc: Likewise.
	* testsuite/23_containers/vector/invalidation/4.cc: Likewise.
	* testsuite/23_containers/vector/resize/1.cc: Likewise.
	* testsuite/26_numerics/complex_value.cc: Likewise.
	* testsuite/27_io/ios_base/storage/1.cc: Likewise.
	* testsuite/27_io/ios_base/storage/2.cc: Likewise.
	* testsuite/27_io/ios_base/storage/3.cc: Likewise.
	* testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
	* testsuite/27_io/objects/char/5.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/5.cc: Likewise.
	* testsuite/backward/11460.cc: Likewise.
	* testsuite/thread/pthread7-rope.cc: Likewise.

	* testsuite/21_strings/basic_string/compare/char/1.cc: Add
	missing test variable.
	* testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
	missing test variable.

From-SVN: r78942
2004-03-04 23:29:44 +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
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 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
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
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 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 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
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
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
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
Paolo Carlini 85819f7c33 3.cc: New file, testing basic_string<char>::find_first_not_of.
2003-05-04  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/21_strings/basic_string/find/char/3.cc: New
	file, testing basic_string<char>::find_first_not_of.
	* testsuite/21_strings/basic_string/find/wchar_t/3.cc:
	Likewise for basic_string<wchar_t>.

From-SVN: r66466
2003-05-04 22:12:18 +00:00
Paolo Carlini eea5120f82 1.cc: Remove find_first_of, find_last_of and find_last_not_of tests.
2003-03-24  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/21_strings/basic_string/find/char/1.cc: Remove
	find_first_of, find_last_of and find_last_not_of tests.
	* testsuite/21_strings/basic_string/find/char/2.cc: find_first_of
	tests here, new file.
	* testsuite/21_strings/basic_string/find/wchar_t/1.cc: Likewise, remove
	wchar_t find_first_of, find_last_of and find_last_not_of tests.
	* testsuite/21_strings/basic_string/find/wchar_t/2.cc: Likewise,
	wchar_t find_first_of tests here, new file.
	* testsuite/21_strings/basic_string/rfind/char/2.cc: find_last_of tests
	here.
	* testsuite/21_strings/basic_string/rfind/char/3.cc: find_last_not_of
	tests here.
	* testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: likewise,
	wchar_t find_last_of tests here.
	* testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: likewise,
	wchar_t find_last_not_of tests here.

From-SVN: r64824
2003-03-24 22:22:40 +00:00
Paolo Carlini 38b2a9713f 1.cc: Test char not wchar_t.
2003-03-19  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/21_strings/char_traits/requirements/char/1.cc:
	Test char not wchar_t.

From-SVN: r64576
2003-03-19 12:17:49 +00:00
Paolo Carlini 91d167bb61 1.cc: Correct length, taking into account sizeof(wchar_t).
2003-03-18  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/21_strings/basic_string/append/wchar_t/1.cc:
	Correct length, taking into account sizeof(wchar_t).

From-SVN: r64547
2003-03-18 19:16:50 +00:00
Paolo Carlini 61f1ed592c Reshuffle 21_strings testsuite.
2003-03-18  Paolo Carlini  <pcarlini@unitus.it>

	Reshuffle 21_strings testsuite.
	* testsuite/21_strings/append.cc, c_strings.cc, invariants.cc,
	assign.cc, ctor_copy_dtor.cc, nonmember.cc, capacity.cc,
	element_access.cc, operations.cc, char_traits_requirements.cc,
	find.cc, replace.cc, char_traits_typedefs.cc, insert.cc, rfind.cc,
	compare.cc, inserters_extractors.cc, substr.cc: Split up, add
	wchar_t tests as follows.
	* 21_strings/basic_string/append/char/1.cc: New.
	* 21_strings/basic_string/append/wchar_t/1.cc: New.
	* 21_strings/basic_string/assign/char/1.cc: New.
	* 21_strings/basic_string/assign/char/2.cc: New.
	* 21_strings/basic_string/assign/char/3.cc: New.
	* 21_strings/basic_string/assign/wchar_t/1.cc: New.
	* 21_strings/basic_string/assign/wchar_t/2.cc: New.
	* 21_strings/basic_string/assign/wchar_t/3.cc: New.
	* 21_strings/basic_string/capacity/1.cc: New.
	* 21_strings/basic_string/capacity/char/1.cc: New.
	* 21_strings/basic_string/capacity/char/2.cc: New.
	* 21_strings/basic_string/capacity/wchar_t/1.cc: New.
	* 21_strings/basic_string/capacity/wchar_t/2.cc: New.
	* 21_strings/basic_string/compare/char/1.cc: New.
	* 21_strings/basic_string/compare/wchar_t/1.cc: New.
	* 21_strings/basic_string/cons/char/1.cc: New.
	* 21_strings/basic_string/cons/char/2.cc: New.
	* 21_strings/basic_string/cons/char/3.cc: New.
	* 21_strings/basic_string/cons/char/4.cc: New.
	* 21_strings/basic_string/cons/char/5.cc: New.
	* 21_strings/basic_string/cons/wchar_t/1.cc: New.
	* 21_strings/basic_string/cons/wchar_t/2.cc: New.
	* 21_strings/basic_string/cons/wchar_t/3.cc: New.
	* 21_strings/basic_string/cons/wchar_t/4.cc: New.
	* 21_strings/basic_string/cons/wchar_t/5.cc: New.
	* 21_strings/basic_string/element_access/char/1.cc: New.
	* 21_strings/basic_string/element_access/char/2.cc: New.
	* 21_strings/basic_string/element_access/char/3.cc: New.
	* 21_strings/basic_string/element_access/wchar_t/1.cc: New.
	* 21_strings/basic_string/element_access/wchar_t/2.cc: New.
	* 21_strings/basic_string/element_access/wchar_t/3.cc: New.
	* 21_strings/basic_string/find/char/1.cc: New.
	* 21_strings/basic_string/find/wchar_t/1.cc: New.
	* 21_strings/basic_string/insert/char/1.cc: New.
	* 21_strings/basic_string/insert/char/2.cc: New.
	* 21_strings/basic_string/insert/wchar_t/1.cc: New.
	* 21_strings/basic_string/insert/wchar_t/2.cc: New.
	* 21_strings/basic_string/inserters_extractors/char/1.cc: New.
	* 21_strings/basic_string/inserters_extractors/char/4.cc: New.
	* 21_strings/basic_string/inserters_extractors/char/5.cc: New.
	* 21_strings/basic_string/inserters_extractors/char/6.cc: New.
	* 21_strings/basic_string/inserters_extractors/char/7.cc: New.
	* 21_strings/basic_string/inserters_extractors/char/8.cc: New.
	* 21_strings/basic_string/inserters_extractors/char/9.cc: New.
	* 21_strings/basic_string/inserters_extractors/wchar_t/1.cc: New.
	* 21_strings/basic_string/inserters_extractors/wchar_t/4.cc: New.
	* 21_strings/basic_string/inserters_extractors/wchar_t/5.cc: New.
	* 21_strings/basic_string/inserters_extractors/wchar_t/6.cc: New.
	* 21_strings/basic_string/inserters_extractors/wchar_t/7.cc: New.
	* 21_strings/basic_string/inserters_extractors/wchar_t/8.cc: New.
	* 21_strings/basic_string/inserters_extractors/wchar_t/9.cc: New.
	* 21_strings/basic_string/operators/char/1.cc: New.
	* 21_strings/basic_string/operators/char/2.cc: New.
	* 21_strings/basic_string/operators/wchar_t/1.cc: New.
	* 21_strings/basic_string/operators/wchar_t/2.cc: New.
	* 21_strings/basic_string/replace/char/1.cc: New.
	* 21_strings/basic_string/replace/char/2.cc: New.
	* 21_strings/basic_string/replace/char/3.cc: New.
	* 21_strings/basic_string/replace/char/4.cc: New.
	* 21_strings/basic_string/replace/char/5.cc: New.
	* 21_strings/basic_string/replace/wchar_t/1.cc: New.
	* 21_strings/basic_string/replace/wchar_t/2.cc: New.
	* 21_strings/basic_string/replace/wchar_t/3.cc: New.
	* 21_strings/basic_string/replace/wchar_t/4.cc: New.
	* 21_strings/basic_string/replace/wchar_t/5.cc: New.
	* 21_strings/basic_string/rfind/char/1.cc: New.
	* 21_strings/basic_string/rfind/char/2.cc: New.
	* 21_strings/basic_string/rfind/char/3.cc: New.
	* 21_strings/basic_string/rfind/wchar_t/1.cc: New.
	* 21_strings/basic_string/rfind/wchar_t/2.cc: New.
	* 21_strings/basic_string/rfind/wchar_t/3.cc: New.
	* 21_strings/basic_string/substr/char/1.cc: New.
	* 21_strings/basic_string/substr/wchar_t/1.cc: New.
	* 21_strings/c_strings/char/1.cc: New.
	* 21_strings/c_strings/char/2.cc: New.
	* 21_strings/c_strings/wchar_t/1.cc: New.
	* 21_strings/c_strings/wchar_t/2.cc: New.
	* 21_strings/char_traits/requirements/char/1.cc: New.
	* 21_strings/char_traits/requirements/wchar_t/1.cc: New.
	* 21_strings/char_traits/typedefs/char/1.cc: New.

From-SVN: r64524
2003-03-18 05:04:14 +00:00
Benjamin Kosnik 8d59b23018 Renames, namespaces for testsuite utilities.
2003-01-12  Benjamin Kosnik  <bkoz@redhat.com>

	Renames, namespaces for testsuite utilities.
	* testsuite/testsuite_hooks.h: Put into namespace __gnu_cxx_test.
	(gnu_allocator_tracker): Rename to allocation_tracker.
	(gnu_new_allocator): Rename to tracker_alloc.
	(__set_testsuite_memlimit): Rename to set_memory_limits.
	(gnu_assignment_operator): Rename to assignment_operator.
	(gnu_destructor): Rename to destructor.
	(gnu_copy_tracker): Rename to copy_tracker.
	(gnu_char, gnu_int, gnu_long): Rename to pod_char, pod_int, pod_long.
	(run_tests_wrapped_locale): New.
	(run_tests_wrapped_env): New.
	* testsuite/testsuite_hooks.cc: Same.
	(class locale_data): Add.
	(class enviornment_variable): Add.
	(class not_found): Add.
	* testsuite/testsuite_allocator.h: Same.
	* testsuite/testsuite_allocator.cc: Same.
	* testsuite/23_containers/deque_ctor.cc
	(test_copy_ctor_exception_safety): Change gnu_allocator_tracker to
	allocation_tracker.
	Change gnu_new_allocator to tracker_alloc.
	Change gnu_counting_struct to counter.
	Change gnu_copy_tracker to copy_tracker.
	Change gnu_copy_constructor to copy_constructor.
	Change gnu_assignment_operator to assignment_operator.
	Inject.
	* testsuite/23_containers/vector_capacity.cc: Same.
	* testsuite/23_containers/vector_ctor.cc (test01): Same.
	* testsuite/23_containers/list_modifiers.cc: Change
	gnu_copy_tracker to copy_tracker.
	* testsuite/21_strings/ctor_copy_dtor.cc (main): Change
	__set_testsuite_memlimit to set_memory_limits.
	* testsuite/21_strings/insert.cc (main): Same.
	* testsuite/27_io/filebuf.cc: Change gnu_char to pod_char.
	* testsuite/27_io/stringstream.cc: Same.
	* testsuite/27_io/stringbuf.cc: Same.
	* testsuite/27_io/streambuf.cc: Same.
	* testsuite/27_io/ostream.cc: Same.
	* testsuite/27_io/istream.cc: Same.
	* testsuite/27_io/fstream.cc: Same.
	* testsuite/lib/libstdc++-v3-dg.exp
	(libstdc++-v3-list-sourcefiles): Additionally handle files two and
	three levels deeper in glob patterns.

From-SVN: r61261
2003-01-14 04:56:56 +00:00
Phil Edwards ccb128db7a re PR libstdc++/8716 (std::string( NULL, 0 ) throws exception also on zero length)
2002-11-28  Phil Edwards  <pme@gcc.gnu.org>

	PR libstdc++/8716
	* testsuite/21_strings/ctor_copy_dtor.cc (test05):  Also test
	the NULL-pointer, zero-size case.

From-SVN: r59616
2002-11-28 21:28:20 +00:00
Paolo Carlini 085825b83b re PR libstdc++/8347 (empty vector range used in string construction causes core dump.)
2002-10-27  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/8347
	* include/bits/basic_string.tcc
	(string::_S_construct(_InIter, _InIter, const _Alloc&,
	forward_iterator_tag)): Do not throw logic error if
	__beg == NULL && __end == __beg.
	(string::string(const _CharT*, const _Alloc&)): Tweak.
	* testsuite/21_strings/ctor_copy_dtor.cc: Add test05 from PR.

From-SVN: r58577
2002-10-27 07:35:06 +00:00
Loren J. Rittle 0b564d905f howto.html (GLIBCPP_FORCE_NEW): Document new environment variable which replaces all uses of __USE_MALLOC macro.
* docs/html/23_containers/howto.html (GLIBCPP_FORCE_NEW): Document
	new environment variable which replaces all uses of __USE_MALLOC
	macro.
	* docs/html/ext/howto.html (GLIBCPP_FORCE_NEW): Likewise.
	(__mem_interface): Remove all references to old internal typedef.
	* include/backward/alloc.h (__USE_MALLOC): Remove it and all
	guarded code.
	* include/bits/c++config (__USE_MALLOC): Update related error
	message and comment.
	* include/bits/stl_alloc.h (__USE_MALLOC): Remove it and all
	guarded code.  Update all related comments.
	(__mem_interface): Unconditionally replace it with __new_alloc.
	However, leave the typedef around in case anyone used it.
	(__default_alloc_template<>::_S_force_new): New class static.
	(__default_alloc_template<>::allocate, deallocate): Add
	run-time controlled feature similar to what __USE_MALLOC code
	path had provided.
	* src/stl-inst.cc (__USE_MALLOC): Remove it and all
	guarded code.
	* testsuite/21_strings/capacity.cc: Remove reference to __USE_MALLOC.
	Add documentation on GLIBCPP_FORCE_NEW environment variable.
	* testsuite/ext/allocators.cc: Likewise.

From-SVN: r58286
2002-10-18 20:52:57 +00:00
Benjamin Kosnik f13a69eccf char_traits.h: Remove generic definitions.
2002-07-30  Benjamin Kosnik  <bkoz@redhat.com>
            Gabriel Dos Reis  <gdr@nerim.net>

	* include/bits/char_traits.h: Remove generic definitions.
	* include/bits/streambuf_iterator.h (istreambuf_iterator): Use
	eof, not -2.
	* include/bits/istream.tcc (istream::readsome): Don't check
	against eof, instead use constants.
	(istream::sync): Same.
	(istream::sentry::sentry): Use eq_int_type.
	(istream::get): Same.
	* include/bits/ostream.tcc: Change __pad to
	__pad<_CharT, _Traits>::_S_pad.
	* include/bits/locale_facets.h: Add __pad_traits generic and
	ostreambuf_iterator specialization.
	* include/bits/locale_facets.tcc: Change __pad into struct __pad
	with a _CharT and _Traits template parameter and _S_pad static
	member function.
	* src/locale-inst.cc: Update __pad instantiations.

	* include/std/std_fstream.h: Declare _M_underflow_common
	specializations.
	* src/fstream.cc: New. Add _M_underflow_common specializations.
	* include/bits/fstream.tcc (filebuf::close): Use traits_type.
	(filebuf::_M_underflow_common(bool)): Remove generic version, as
	sys_ungetc and custom int_types don't get along.
	* include/std/std_streambuf.h: Add _M_pos.
	* src/Makefile.am (sources): Add fstream.cc.
	* src/Makefile.in: Regenerate.

	* testsuite/21_strings/capacity.cc: Add char_traits specializations.
	* testsuite/22_locale/codecvt_members_unicode_char.cc: Same.
	* testsuite/22_locale/codecvt_members_unicode_wchar_t.cc: Same.
	* testsuite/22_locale/ctor_copy_dtor.cc: Same.
	* testsuite/27_io/filebuf_virtuals.cc (test07): Move to...
	* testsuite/27_io/filebuf.cc: ...here.
	* testsuite/testsuite_hooks.h: Add gnu_char, gnu_int, char_traits
	specialization for both.
	* testsuite/27_io/streambuf.cc: Add instantiation test,
	testsuite_hooks include.
	* testsuite/27_io/istream.cc: Same.
	* testsuite/27_io/ostream.cc: Same.
	* testsuite/27_io/fstream.cc: Same.
	* testsuite/27_io/stringstream.cc: Same.
	* testsuite/27_io/filebuf.cc: Same.
	* testsuite/27_io/stringbuf.cc: Same.

Co-Authored-By: Gabriel Dos Reis <gdr@nerim.net>

From-SVN: r55893
2002-07-31 02:47:36 +00:00
Paolo Carlini 05261e700c 2002-06-04 Paolo Carlini <pcarlini@unitus.it>
Gaby Dos Reis  <gdr@codesourcery.com>

	* include/bits/basic_string.tcc
	(basic_string::_S_construct(forward_iterator_tag):
	Fix typo in null pointer check.
	* testsuite/21_strings/ctor_copy_dtor.cc: Add test04.

Co-Authored-By: Gabriel Dos Reis <gdr@codesourcery.com>

From-SVN: r54255
2002-06-04 18:20:38 +00:00
Paolo Carlini adf2e3e668 basic_string.h (replace(__pos, __n1, __s, __n2): Fix and tighten __throw_length_error check.
2002-04-26  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/basic_string.h (replace(__pos, __n1, __s, __n2):
	Fix and tighten __throw_length_error check.
	* testsuite/21_strings/replace.cc (test05): New.
	* testsuite/21_strings/replace.cc (test02, test03, test04): Tweak.

From-SVN: r52797
2002-04-26 18:21:32 +00:00
Benjamin Kosnik 36ce7daa04 localefwd.h (locale:🆔:_M_id): Do this correctly, as type safety is important, especially on solaris.
2002-04-18  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/localefwd.h (locale:🆔:_M_id): Do this correctly,
	as type safety is important, especially on solaris.
	* include/bits/istream.tcc (istream::read): Clean.
	(istream::readsome): Same.
	* locale.cc: Wrap lines.

	* testsuite/21_strings/inserters_extractors.cc: Tweaks.
	* testsuite/27_io/instantiations.cc (test): Add bool variable...
	* testsuite/21_strings/capacity.cc: Clean.

From-SVN: r52501
2002-04-18 23:47:50 +00:00
Paolo Carlini 418bb88063 basic_string.h (replace(i1, i2, _CharT* k1, _CharT* k2), [...]): New specializations to optimize for the common cases of pointers and iterators.
2002-04-02  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan Myers  <ncm@cantrip.org>
            Philip Martin  <philip@codematters.co.uk>

	* include/bits/basic_string.h
	(replace(i1, i2, _CharT* k1, _CharT* k2),
	replace(i2, i2, const _CharT* k1, const _CharT* k2),
	replace(i1, i2, iterator k1, iterator k2,
	replace(i1, i2, const_iterator k1, const_iterator k2):
	New specializations to optimize for the common cases of
	pointers and iterators.
	(replace(pos, n1, s, n2)): Tweak.
	* include/bits/basic_string.tcc: Tweak comments.
	* testsuite/21_strings/replace.cc (test04): New tests.

Co-Authored-By: Nathan Myers <ncm@cantrip.org>
Co-Authored-By: Philip Martin <philip@codematters.co.uk>

From-SVN: r51746
2002-04-02 12:07:07 +00:00
Paolo Carlini 99b629fa30 2002-04-01 Paolo Carlini <pcarlini@unitus.it>
* config/locale/ieee_1003.1-2001/codecvt_specializations.h
	(codecvt::do_out, codecvt::do_unshift, codecvt::do_in):
	By definition, sizeof(char) == 1.
	* include/bits/locale_facets.tcc (money_get::do_get,
	money_put::do_put): Ditto.
	* testsuite/21_strings/inserters_extractors.cc
	(test04): Ditto.

From-SVN: r51685
2002-04-01 08:55:05 +00:00
Benjamin Kosnik fcaa810173 basic_string.tcc (string::_S_construct(_InIter, _InIter, const _Alloc&, forward_iterator_tag): Check for null.
2002-03-12  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_string.tcc (string::_S_construct(_InIter,
	_InIter, const _Alloc&, forward_iterator_tag): Check for null.
	(string::basic_string(const _CharT* __s, const _Alloc& __a)): Same.
	* testsuite/21_strings/ctor_copy_dtor.cc (test01): Re-enable, now
	that memory limits are in place.
	(test03): Add tests.

From-SVN: r50683
2002-03-12 22:10:34 +00:00
Phil Edwards 72c9b0629d capacity.cc: Only explicitly instantiate on platforms with no weak support.
2002-03-11  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/21_strings/capacity.cc:  Only explicitly instantiate on
	platforms with no weak support.
	* testsuite/27_io/ios_init.cc:  Likewise.

From-SVN: r50597
2002-03-11 21:08:06 +00:00
Benjamin Kosnik 0d223e3a4e std_iomanip.h: Inline, tweaks.
2002-02-19  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/std_iomanip.h: Inline, tweaks.
	* config/linker-map.gnu: Remove hacks.

	* testsuite/21_strings/capacity.cc: Add explicit instantiations.
	* testsuite/27_io/ios_init.cc: Same.
	* testsuite/22_locale/money_get_members_char.cc (test07): Fix.
	* testsuite/22_locale/money_get_members_wchar_t.cc (test07): Same.

From-SVN: r49884
2002-02-20 00:58:17 +00:00
Benjamin Kosnik aefb3380dd signbitl.c: Copyright years as list, not range.
2002-01-16  Benjamin Kosnik  <bkoz@redhat.com>

	* libmath/signbitl.c: Copyright years as list, not range.
	* libmath/Makefile.am: Same.
	* libmath/Makefie.in: Regenerate.
	* libmath/signbit.c: Same.
	* libmath/nan.c: Same.
	* libmath/copysignf.c: Same.
	* libmath/signbitf.c: Same.
	* testsuite/22_locale/money_get_members_char.cc: Same.
	* testsuite/22_locale/money_get_members_wchar_t.cc: Same.
	* testsuite/22_locale/money_put_members_char.cc: Same.
	* testsuite/22_locale/money_put_members_wchar_t.cc: Same.
	* testsuite/22_locale/time_get_members_char.cc: Same.
	* testsuite/22_locale/time_get_members_wchar_t.cc: Same.
	* testsuite/22_locale/time_put_members_char.cc: Same.
	* testsuite/22_locale/time_put_members_wchar_t.cc: Same.
	* testsuite/21_strings/nonmember.cc: Same.
	* testsuite/21_strings/compare.cc: Same.
	* testsuite/27_io/stringstream.cc: Same.
	* testsuite/27_io/stringbuf.cc: Same.
	* testsuite/27_io/filebuf.cc: Same.
	* testsuite/27_io/ios_manip_basefield.cc: Same.
	* testsuite/27_io/ios_manip_fmtflags.cc: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/bits/generic_shadow.h: Same.
	* include/bits/gslice_array.h: Same.
	* include/bits/gslice.h: Same.
	* include/bits/indirect_array.h: Same.
	* include/bits/slice_array.h: Same.
	* include/bits/sstream.tcc: Same.
	* include/bits/streambuf_iterator.h: Same.
	* include/bits/valarray_array.tcc: Same.
	* include/bits/valarray_meta.h: Same.
	* include/bits/valarray_array.h: Same.
	* config/os/mingw32/bits/ctype_noninline.h: Same.
	* config/os/mingw32/bits/ctype_base.h: Same.
	* config/os/hpux/bits/ctype_noninline.h: Same.
	* config/os/hpux/bits/ctype_base.h: Same.
	* config/os/gnu-linux/bits/ctype_noninline.h: Same.
	* config/os/gnu-linux/bits/ctype_base.h: Same.
	* config/os/generic/bits/ctype_noninline.h: Same.
	* config/os/generic/bits/ctype_base.h: Same.

	* libsupc++/tinfo.h: Tweaks.

From-SVN: r48922
2002-01-16 19:57:39 +00:00
Paolo Carlini c68cd521fa 2002-01-14 Paolo Carlini <pcarlini@unitus.it>
Nathan Myers  <ncm@cantrip.org>

	* include/bits/basic_string.h
	(replace(__pos, __n1, __s, __n2)): Optimize by avoiding
	temporaries (i.e., call _M_replace_safe) when possible.
	(replace(__pos, __n, __str)): Call replace(__pos, __n1, __s, __n2).
	(replace(__pos, __n1, __s)): Call replace(__pos, __n1, __s , __n2).
	(replace(__i1, __i2, __str)): Call replace(__i1, __i2, __s, __n).
	(replace(__i1, __i2, __s)): Call replace(__i1, __i2, __s, __n).
	(replace(__i1, __i2, __s, __n)): Call replace(__pos1, __n1, __s, __n2).
	* include/bits/basic_string.tcc
	(replace(__pos1, __n1, __str, __pos2, __n2)): Call
	replace(__pos, __n1, __s, __n2).
	* testsuite/21_strings/replace.cc (test03): New testcases.

	* include/bits/basic_string.h (insert(__pos, __s, __n)):
	Adjust comparison wrt overflow.

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

From-SVN: r48834
2002-01-14 19:04:15 +00:00
Paolo Carlini bf95248579 basic_string.h (insert(__pos, __s, __n)): Optimize by avoiding temporaries and working in-place when possible.
2001-12-28  Paolo Carlini  <pcarlini@unitus.it>
            Nathan Myers  <ncm@cantrip.org>

	* include/bits/basic_string.h (insert(__pos, __s, __n)):
	Optimize by avoiding temporaries and working in-place when possible.
	(insert(__pos1, __str)): Call insert(__pos1, __str, __pos2, __n).
	(insert(__pos1, __str, __pos2, __n)): Call insert(__pos, __s, __n).
	* testsuite/21_strings/insert.cc (test02): New testcases.

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

From-SVN: r48345
2001-12-28 14:00:18 +00:00
Paolo Carlini 4b428ee570 assign.cc (test01): Add tests.
2001-12-16  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/21_strings/assign.cc (test01): Add tests.

From-SVN: r48078
2001-12-16 20:21:20 +00:00
Paolo Carlini bd1f473825 2001-12-15 Paolo Carlini <pcarlini@unitus.it>
Nathan Myers  <ncm@cantrip.org>

        * include/bits/basic_string.h
	(assign(__str, __pos, __n), assign(__s, __n)):  Optimize
	by avoiding unnecessary temporaries.
	(assign(__s)): Call assign(__s, __n).
	* include/bits/basic_string.tcc (_M_replace_safe): Adjust comment.
	* include/bits/std_string.h: include stl_function.h.
        * testsuite/21_strings/assign.cc (test02, test03): New tests.

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

From-SVN: r48053
2001-12-16 01:02:17 +00:00
Paolo Carlini dcc61724f1 re PR libstdc++/4548 (When reserving a string to become smaller, program crashes)
2001-11-21  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/4548
	* include/bits/basic_string.tcc (basic_string::reserve):  Never shrink
	below the current size.
	* testsuite/21_strings/capacity.cc (test02):  Add test.

From-SVN: r47246
2001-11-21 22:04:53 +00:00
Paolo Carlini 9a304d1766 basic_string.h: Tweaks.
2001-10-30  Paolo Carlini  <pcarlini@unitus.it>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_string.h: Tweaks.
	* include/bits/basic_string.tcc (string::_M_replace(iterator,
	iterator, _ForwardIter, _ForwardIter, forward_iterator_tag): Fix.
	* src/string-inst.cc: Tweaks, add instantiation.
	* testsuite/21_strings/replace.cc (test02): Add test.
	* testsuite/21_strings/assign.cc (test01): New file.

0

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

From-SVN: r46674
2001-10-31 08:27:20 +00:00
Phil Edwards 4c1805d702 c_strings.cc (test01, test02): Increase `carray' size.
2001-09-25  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/21_strings/c_strings.cc (test01, test02):  Increase
	`carray' size.

From-SVN: r45817
2001-09-26 01:45:49 +00:00
Phil Edwards fe413112f8 acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): New macro, calls...
2001-08-06  Phil Edwards  <pme@sources.redhat.com>

	* acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE):  New macro, calls...
	(GLIBCPP_CHECK_SETRLIMIT):  ...this new macro, which also uses...
	(GLIBCPP_CHECK_SETRLIMIT_ancilliary):  ...this new macro.
	* configure.in (AM_CONFIG_HEADER):  Also generate testsuite_hooks.h.
	Call GLIBCPP_CONFIGURE_TESTSUITE.
	* aclocal.m4:  Regenerate.
	* config.h.in:  Regenerate.
	* configure:  Regenerate.

	* testsuite/lib/libstdc++-v3-dg.exp:  Download new header instead
	of old header.

	* testsuite_flags.in:  Add build dir's testsuite to INCLUDES.
	* testsuite/debug_assert.h:  Removed; contents merged into...
	* testsuite/testsuite_hooks.h.in:  ...here.  New file.
	* testsuite/17_intro/header_ciso646.cc:  No longer include
	debug_assert.h, include testsuite_hooks.h instead.
	* testsuite/17_intro/header_fstream.cc:  Likewise.
	* testsuite/17_intro/header_iomanip.cc:  Likewise.
	* testsuite/17_intro/header_ios.cc:  Likewise.
	* testsuite/17_intro/header_iosfwd.cc:  Likewise.
	* testsuite/17_intro/header_iostream.cc:  Likewise.
	* testsuite/17_intro/header_istream.cc:  Likewise.
	* testsuite/17_intro/header_ostream.cc:  Likewise.
	* testsuite/17_intro/header_sstream.cc:  Likewise.
	* testsuite/17_intro/header_streambuf.cc:  Likewise.
	* testsuite/18_support/numeric_limits.cc:  Likewise.
	* testsuite/19_diagnostics/stdexceptions.cc:  Likewise.
	* testsuite/20_util/allocator_members.cc:  Likewise.
	* testsuite/20_util/auto_ptr.cc:  Likewise.
	* testsuite/20_util/pairs.cc:  Likewise.
	* testsuite/21_strings/append.cc:  Likewise.
	* testsuite/21_strings/capacity.cc:  Likewise.
	* testsuite/21_strings/char_traits_requirements.cc:  Likewise.
	* testsuite/21_strings/compare.cc:  Likewise.
	* testsuite/21_strings/ctor_copy_dtor.cc:  Likewise.  Also set up
	call to (disabled) __set_testsuite_memlimit() wrapper.
	* testsuite/21_strings/element_access.cc:  Likewise.
	* testsuite/21_strings/find.cc:  Likewise.
	* testsuite/21_strings/insert.cc:  Likewise.  Also set up call to
	(disabled) __set_testsuite_memlimit() wrapper.
	* testsuite/21_strings/inserters_extractors.cc:  Likewise.
	* testsuite/21_strings/invariants.cc:  Likewise.
	* testsuite/21_strings/nonmember.cc:  Likewise.
	* testsuite/21_strings/operations.cc:  Likewise.
	* testsuite/21_strings/replace.cc:  Likewise.
	* testsuite/21_strings/rfind.cc:  Likewise.
	* testsuite/21_strings/substr.cc:  Likewise.
	* testsuite/22_locale/codecvt_char_char.cc:  Likewise.
	* testsuite/22_locale/codecvt_unicode_char.cc:  Likewise.
	* testsuite/22_locale/codecvt_unicode_wchar_t.cc:  Likewise.
	* testsuite/22_locale/codecvt_wchar_t_char.cc:  Likewise.
	* testsuite/22_locale/ctor_copy_dtor.cc:  Likewise.
	* testsuite/22_locale/ctype_char_members.cc:  Likewise.
	* testsuite/22_locale/ctype_wchar_t_members.cc:  Likewise.
	* testsuite/22_locale/facet.cc:  Likewise.
	* testsuite/22_locale/global_templates.cc:  Likewise.
	* testsuite/22_locale/members.cc:  Likewise.
	* testsuite/22_locale/numpunct_byname.cc:  Likewise.
	* testsuite/22_locale/numpunct_char_members.cc:  Likewise.
	* testsuite/22_locale/operators.cc:  Likewise.
	* testsuite/22_locale/static_members.cc:  Likewise.
	* testsuite/23_containers/bitset_ctor.cc:  Likewise.
	* testsuite/23_containers/bitset_members.cc:  Likewise.
	* testsuite/23_containers/bitset_shift.cc:  Likewise.
	* testsuite/23_containers/vector_capacity.cc:  Likewise.
	* testsuite/23_containers/vector_ctor.cc:  Likewise.
	* testsuite/23_containers/vector_element_access.cc:  Likewise.
	* testsuite/23_containers/vector_modifiers.cc:  Likewise.
	* testsuite/24_iterators/istreambuf_iterator.cc:  Likewise.
	* testsuite/24_iterators/iterator.cc:  Likewise.
	* testsuite/24_iterators/ostreambuf_iterator.cc:  Likewise.
	* testsuite/25_algorithms/binary_search.cc:  Likewise.
	* testsuite/25_algorithms/copy.cc:  Likewise.
	* testsuite/25_algorithms/heap.cc:  Likewise.
	* testsuite/25_algorithms/lower_bound.cc:  Likewise.
	* testsuite/25_algorithms/min_max.cc:  Likewise.
	* testsuite/25_algorithms/partition.cc:  Likewise.
	* testsuite/25_algorithms/rotate.cc:  Likewise.
	* testsuite/25_algorithms/sort.cc:  Likewise.
	* testsuite/26_numerics/c_math.cc:  Likewise.
	* testsuite/26_numerics/complex_inserters_extractors.cc:  Likewise.
	* testsuite/26_numerics/complex_value.cc:  Likewise.
	* testsuite/27_io/filebuf.cc:  Likewise.
	* testsuite/27_io/filebuf_members.cc:  Likewise.
	* testsuite/27_io/filebuf_virtuals.cc:  Likewise.
	* testsuite/27_io/fpos.cc:  Likewise.
	* testsuite/27_io/fstream_members.cc:  Likewise.
	* testsuite/27_io/ifstream_members.cc:  Likewise.
	* testsuite/27_io/ios_base_callbacks.cc:  Likewise.
	* testsuite/27_io/ios_base_members_static.cc:  Likewise.
	* testsuite/27_io/ios_base_storage.cc:  Likewise.
	* testsuite/27_io/ios_ctor.cc:  Likewise.
	* testsuite/27_io/ios_init.cc:  Likewise.
	* testsuite/27_io/ios_manip_basefield.cc:  Likewise.
	* testsuite/27_io/ios_manip_fmtflags.cc:  Likewise.
	* testsuite/27_io/ios_members.cc:  Likewise.
	* testsuite/27_io/istream_extractor_arith.cc:  Likewise.
	* testsuite/27_io/istream_extractor_char.cc:  Likewise.
	* testsuite/27_io/istream_extractor_other.cc:  Likewise.
	* testsuite/27_io/istream_manip.cc:  Likewise.
	* testsuite/27_io/istream_seeks.cc:  Likewise.
	* testsuite/27_io/istream_sentry.cc:  Likewise.
	* testsuite/27_io/istream_unformatted.cc:  Likewise.
	* testsuite/27_io/istringstream_members.cc:  Likewise.
	* testsuite/27_io/narrow_stream_objects.cc:  Likewise.
	* testsuite/27_io/ofstream_members.cc:  Likewise.
	* testsuite/27_io/ostream_inserter_arith.cc:  Likewise.
	* testsuite/27_io/ostream_inserter_char.cc:  Likewise.
	* testsuite/27_io/ostream_inserter_other.cc:  Likewise.
	* testsuite/27_io/ostream_manip.cc:  Likewise.
	* testsuite/27_io/ostream_seeks.cc:  Likewise.
	* testsuite/27_io/ostream_unformatted.cc:  Likewise.
	* testsuite/27_io/ostringstream_members.cc:  Likewise.
	* testsuite/27_io/streambuf.cc:  Likewise.
	* testsuite/27_io/stringbuf.cc:  Likewise.
	* testsuite/27_io/stringbuf_virtuals.cc:  Likewise.
	* testsuite/27_io/stringstream.cc:  Likewise.
	* testsuite/27_io/stringstream_members.cc:  Likewise.
	* testsuite/27_io/wide_stream_objects.cc:  Likewise.

From-SVN: r44679
2001-08-07 03:38:33 +00:00
Phil Edwards 48fe3de0c3 std_sstream.h (basic_stringbuf::basic_stringbuf(string): Initialize _M_string with pointer-and-size constructor, not just pointer.
2001-07-13  Phil Edwards  <pme@sources.redhat.com>

	* include/bits/std_sstream.h (basic_stringbuf::basic_stringbuf(string):
	Initialize _M_string with pointer-and-size constructor, not just
	pointer.  Fix some comments.
	* testsuite/21_strings/ctor_copy_dtor.cc (test03):  New test.
	* testsuite/27_io/stringbuf.cc (test02):  Remove unused variable.
	(test03):  Add embedded-NUL tests.

	* mkcheck.in:  When printing totals, match the order of the tests.
	* include/bits/stringfwd.h:  Use same declaration keywords.
	* include/bits/std_iosfwd.h:  Cosmetic spacing.

From-SVN: r43996
2001-07-13 20:50:03 +00:00
Benjamin Kosnik f4655693b5 stl_iterator.h (istream_iterator::operator->): Fix return values.
2001-06-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_iterator.h (istream_iterator::operator->): Fix
	return values.
	(istream_iterator::operator*): Same.

2001-06-26  Benjamin Kosnik  <bkoz@redhat.com>
            Alexandre Petit-Bianco  <apbianco@redhat.com>

        * testsuite/21_strings/element_access.cc (test01): Chill Out Cafe
        is on 41st, not 14th.

Co-Authored-By: Alexandre Petit-Bianco <apbianco@redhat.com>

From-SVN: r43574
2001-06-26 09:41:53 +00:00
Benjamin Kosnik a16ad77946 inserters_extractors.cc (test09): New test.
2001-05-24  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2830
	* testsuite/21_strings/inserters_extractors.cc (test09): New test.
	* include/bits/ostream.tcc: Format to match istream.tcc.
	(operator<<(basic_ostream __out, const basic_string __s)): Fix.

From-SVN: r42557
2001-05-25 04:24:12 +00:00
Mark Mitchell eeff8d2c06 std_cstring.h: #define away all global functions we will redeclare in namespace `std'.
* include/c_std/bin/std_cstring.h: #define away all global
	functions we will redeclare in namespace `std'.
	* libsupc++/eh_alloc.cc (__cxa_allocate_exception): Use
	std::memset, instead of memset.
	* testsuite/19_diagnostics/stdexceptions.cc: Use `std::strcmp',
	not plain `strcmp'.
	* testsuite/21_strings/c_strings.cc: Use `std::strcpy' instead of
	plain `strcpy'.

From-SVN: r42555
2001-05-25 01:33:21 +00:00
Benjamin Kosnik d4fae8b1f0 c_strings.cc (main): Fix.
2001-05-21  Benjamin Kosnik  <bkoz@kredhat.com>

	* testsuite/21_strings/c_strings.cc (main): Fix.

From-SVN: r42420
2001-05-22 04:58:14 +00:00
Zack Weinberg 7edc73b46a inserters_extractors.cc, [...]: Replace multi-line string constants with C89-style concatenated string constants.
2001-05-15  Zack Weinberg  <zackw@stanford.edu>

        * testsuite/21_strings/inserters_extractors.cc,
        testsuite/27_io/istream_unformatted.cc,
        testsuite/27_io/stringstream.cc:
        Replace multi-line string constants with C89-style
        concatenated string constants.

From-SVN: r42116
2001-05-15 20:46:50 +00:00
Benjamin Kosnik 04d930e6d4 *.cc: Remove spaces, make sure testcases return zero.
2001-05-11   Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/*/*.cc: Remove spaces, make sure testcases return zero.
	* testsuite/config/default.exp: Update bugs email address.

From-SVN: r41997
2001-05-12 16:53:08 +00:00
Benjamin Kosnik eea790f7b3 std_cstring.h (memchr): Correct definitions.
2001-05-08  Benjamin Kosnik  <bkoz@fillmore.constant.com>

	* include/c_std/bits/std_cstring.h (memchr): Correct definitions.
	(strchr): Same.
	(strpbrk): Same.
	(strrchr): Same.
	(strstr): Same.
	* include/c_std/bits/std_cwchar.h (wcschr): Same.
	(wcsbrk): Same.
	(wcsrchr): Same.
	(wcsstr): Same.
	(wmemchr): Same.
	* testsuite/21_strings/c_strings.cc: Add tests.

From-SVN: r41919
2001-05-08 23:53:55 +00:00
Stephen M. Webb 57df35602e std_cstring.h: Fix for const-correctness.
2001-04-02  Stephen M. Webb  <stephen@bregmasoft.com>

	* include/c_std/bits/std_cstring.h: Fix for const-correctness.
	* include/c_std/bits/std_cwchar.h: Same.
	* testsuite/21_strings/c_strings.cc: Add.

From-SVN: r41018
2001-04-02 22:01:52 +00:00
Benjamin Kosnik b8f971fc25 char_traits.cc: Move to ...
2001-02-16  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/21_strings/char_traits.cc: Move to ...
	* testsuite/21_strings/char_traits_requirements.cc: ..here.
	* testsuite/21_strings/char_traits-int_type.cc: Move to ...
	* testsuite/21_strings/char_traits_typedefs.cc: ..here.

From-SVN: r39784
2001-02-16 23:58:28 +00:00
Gabriel Dos Reis b80253d7c0 char_traits.h (char_traits<char>::int_type): Change to `int' to match 21.1.3.1/2.
2001-02-11  Gabriel Dos Reis  <gdr@codesourcery.com>

	* include/bits/char_traits.h char_traits<char>::int_type: Change
	to `int' to match 21.1.3.1/2.

	* testsuite/21_strings/char_traits-int_type.C: New test.

From-SVN: r39581
2001-02-11 04:43:44 +00:00
Loren J. Rittle 31e1e0a652 inserters_extractors.cc: Remove explicit reference to 'testsuite/'.
2001-01-25  Loren J. Rittle  <ljrittle@acm.org>

        * testsuite/21_strings/inserters_extractors.cc: Remove
        explicit reference to 'testsuite/'.

From-SVN: r39292
2001-01-26 23:31:57 +00:00
Benjamin Kosnik 13187a454d C++STYLE (classname): Add more existing and stylish patterns.
2001-01-16  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/17_intro/C++STYLE (classname): Add more existing
	and stylish patterns.

	libstdc++/944
	* include/bits/istream.tcc (istream::sentry::sentry()): Set
	failbit if the state of the stream is not good.
	* testsuite/27_io/istream_sentry.cc (test02): Add test.
	* testsuite/27_io/istream_manip.cc (test01): Modify.

	libstdc++/1019
	reported by Paolo Carlini <pcarlini@unitus.it>
	* include/bits/istream.tcc (operator>>(istream&, string&)): Fix.
	* testsuite/21_strings/inserters_extractors.cc (test08): Add test.

	libstdc++/1057
	* include/bits/std_streambuf.h (setp): Set _M_buf_size correctly.
	* include/bits/streambuf.tcc (xsputn): Remove outside if clause.
	(xsgetn): Same. Simplify.
	* testsuite/27_io/streambuf.cc (test04): Add testcases.

	reported by Larry Evans <jcampbell3@prodigy.net>
	* include/bits/streambuf.tcc (streambuf::xsputn): Just check for
	equality with eof on returned value from overflow.

From-SVN: r39059
2001-01-16 07:55:26 +00:00
Joseph Myers a9ab8db153 acinclude.m4, [...]: Change sourceware.cygnus.com and sources.redhat.com URLs for libstdc++ web...
* acinclude.m4, configure.in, mkcheck.in,
	testsuite/21_strings/ctor_copy_dtor.cc,
	testsuite/21_strings/inserters_extractors.cc,
	testsuite/23_containers/map_operators.cc,
	testsuite/23_containers/vector_element_access.cc,
	testsuite/25_algorithms/lower_bound.cc,
	testsuite/27_io/ifstream_members.cc,
	testsuite/27_io/istream_extractor_arith.cc,
	testsuite/27_io/istream_unformatted.cc,
	testsuite/27_io/ofstream_members.cc,
	testsuite/27_io/ostream_inserter_char.cc,
	testsuite/27_io/ostream_inserter_other.cc,
	testsuite/27_io/ostream_manip.cc, testsuite/27_io/streambuf.cc:
	Change sourceware.cygnus.com and sources.redhat.com URLs for
	libstdc++ web pages and list archives to point to gcc.gnu.org
	* aclocal.m4, configure: Regenerate.

From-SVN: r38428
2000-12-21 22:08:39 +00:00
Benjamin Kosnik 9aa1d5ac5e stl_pair.h (make_pair): Add LWG solution.
2000-10-24  Benjamin Kosnik  <bkoz@redhat.com>

        * include/bits/stl_pair.h (make_pair): Add LWG solution.

        * testsuite/21_strings/compare.cc (test01): Inject namespace std
	into the mix.

	* mkcheck.in (MAX_MEM_USAGE): Bump up to 3072. Strangely enough,
	this works.

From-SVN: r37049
2000-10-25 12:48:34 +00:00
Benjamin Kosnik dcc41852e1 compare.cc (test01): Add using declarations.
2000-10-23  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/21_strings/compare.cc (test01): Add using declarations.

	* include/c_std/bits/std_cerrno.h: And here.
	* include/c_std/bits/std_cassert.h: Tweaks.

	* mkcheck.in: Simplify.

	* acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): Simplify.
	(GLIBCPP_ENABLE_LONG_LONG): Same.
	* aclocal.m4: Regenerate.

	* src/Makefile.am (c_shadow_headers): Add features.h,
	bits/wrap_features.h.
	* src/Makefile.in: Regenerate.
	* include/c_std/features.h: New file.
	* include/c_std/bits/wrap_features.h (_CPP_WRAP_FEATURES_H): New
	file. Need to have c++config.h included before this file so
	_ISOC99_SOURCE around.

	* include/c_std/sys/cdefs.h: Hack.
	* include/c_std/stdlib.h: Same, use c++config.h.
	* include/c_std/bits/std_cstdlib.h: Use _GLIBCPP_HAVE_STRTOLD.

	* include/c_std/bits/std_cassert.h: Fix.
	* include/c_std/bits/std_cerrno.h: Make consistent.

	* include/c_std/bits/std_csetjmp.h (setjmp): Unscope global
	declaration from ::_C_legacy to _C_legacy.

	* include/c_std/bits/std_cstdio.h: same with printf.
	* include/c_std/stdio.h: And here.

	* include/c_std/bits/std_cstdlib.h: abort, exit comment.
	* include/c_std/stdlib.h: Same here.

From-SVN: r37035
2000-10-24 17:00:59 +00:00
Benjamin Kosnik 6b76f569a3 [multiple changes]
2000-10-21  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* docs/links.html: Add links to defects list, standards FAQ.

	* testsuite/21_strings/ctor_copy_dtor.cc (test01): Disable tests
	with string creation that allocate huge ammounts of memory.

	* include/c/bits/std_cstddef.h: Put size_t, ptrdiff_t in
	namepace std.

2000-10-21  Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>

    	* libsupc++/exception.cc: Use namespace std.
    	* libsupc++/new: DITTO.
    	* libsupc++/new_op.cc: DITTO.
    	* libsupc++/new_opnt.cc: DITTO.
    	* libsupc++/new_opv.cc: DITTO.
    	* libsupc++/new_opvnt.cc: DITTO.
    	* libsupc++/tinfo.cc: DITTO.
    	* libsupc++/tinfo.h: DITTO.
    	* libsupc++/vec.cc: DITTO.
    	* libsupc++/Makefile.am: Blank lines removal.

From-SVN: r36995
2000-10-21 16:50:29 +00:00
Brent Verner aa1b2f7d95 debug_assert.h: new file
2000-08-14  Brent Verner <brent@rcfile.org>

	* testsuite/debug_assert.h: new file
	* testsuite/*/*.cc: s/test\s*&=([^;]+);/VERIFY($1);/g
	changed conditional #include <c?assert.?h?> to
	unconditional #include <debug_assert.h>
	* mkcheck.in: added $SRC_DIR/testsuite to include search path
	for testsuite compile command.

From-SVN: r35682
2000-08-14 19:59:26 +00:00
Benjamin Kosnik 8901ac210e [multiple changes]
2000-08-09  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	Preliminary wchar_t implementation, with trivial encodings.
	* docs/configopts.html: Add bits about canonical configure option
	checking.

	* testsuite/27_io/iostream_objects.cc: Replace this file (which
	has newly-declared-illegal mixing of wide/narrow stdstreams) with...
	* testsuite/27_io/narrow_stream_objects.cc: New file.
	* testsuite/27_io/wide_stream_objects.cc: New file.

	* bits/fstream.tcc (underflow): Temporarily hack a solution
	together that writes from the external file to the internal
	buffers. This removes codecvt from the loop, and is incorrect.
	(_M_really_overflow): Same here.

	* testsuite/21_strings/inserters_extractors.cc (test05): Tweaks.

2000-08-08  Benjamin Kosnik  <bkoz@cygnus.com>
	    Ulrich Drepper  <drepper@cygnus.com>

	* config/c_io_libio.h: Tweak.
	* config/c_io_libio_codecvt.c: New file.
	* libio/Makefile.am: Add c_codecvt.c.
	* libio/Makefile.in: Regenerate.
	* libio/genops.c (_IO_unbuffer_write): Don't call _IO_SETBUF if the
	stream is not orientated.

	* acinclude.m4: Add config/c_io_libio_codecvt.c dummy file, until
	encoding gets fleshed out.

	* bits/basic_file.h: Add specialization declarations.
	* config/c_io_libio.cc: Add specializations for pbackfail, uflow.

	* config/c_io_libio.h: Add __c_wfile_type.
	* bits/basic_file.h: Add _M_wfile.

	* config/c_io_libio.cc (__basic_file<char>): Initialize the
	streams without setting the orientation of the underlying FILE to
	either wide or narrow.
	(__basic_file<wchar_t>)): Enable tricky wchar_t io bits.

From-SVN: r35584
2000-08-09 07:33:39 +00:00
Benjamin Kosnik 644638bc02 [multiple changes]
2000-06-13  Brent Verner <brent@rcfile.org>

	* bits/string.tcc (string::rfind): Fix.
	* testsuite/21_strings/rfind.cc: New file.

2000-06-26  Anthony Williams  <anthony@anthonyw.cjb.net>

	* testsuite/21_strings/ctor_copy_dtor.cc: Fixed logic error.

2000-06-26  Branko Cibej  <branko.cibej@hermes.si>

        * testsuite/27_io/filebuf_members.cc (test_01): Fixed typos.

        * mkcheck.in: Make the *.txt and *.tst files writable after
	  copying them to $TEST_DIR.

        * testsuite/27_io/ostream_inserter_arith.cc: Renamed
          __TEST_NUMPUT_VERBOSE to TEST_NUMPUT_VERBOSE.
        Define TEST_NUMPUT_VERBOSE only if DEBUG_ASSERT.

From-SVN: r34719
2000-06-26 20:22:01 +00:00
Brent Verner 913c27bf98 string.tcc (string::rfind): Fix.
2000-06-13  Brent Verner <brent@rcfile.org>

	* bits/string.tcc (string::rfind): Fix.
	* testsuite/21_strings/rfind.cc: New file.

From-SVN: r34718
2000-06-26 20:21:34 +00:00
Benjamin Kosnik 5f34904248 [multiple changes]
2000-06-22  Anthony Williams  <anthony@anthonyw.cjb.net>

	* testsuite/21_strings/find.cc: Patch.

2000-06-22  Benjamin Kosnik  <bkoz@soma.redhat.com>

	* acinclude.m4 (GLIBCPP_CHEC_LINKER_FEATURES): Use gcc + -x c++ as
	an easy way to get at g++ without having to link in libstdc++.

From-SVN: r34649
2000-06-22 17:27:57 +00:00
Benjamin Kosnik 60df8b81b3 [multiple changes]
2000-06-20  Anthony Williams  <anthony@anthonyw.cjb.net>

	* bits/string.tcc: Fix find.
	* testsuite/21_strings/find.cc: Patch.

2000-06-20  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* docs/install.html: Update where to get automake, where to get
	binutils.
	* acinclude.m4: Need -fno-builtins too, so gcc doesn't recognize
	builtins.

From-SVN: r34622
2000-06-20 23:14:37 +00:00
Benjamin Kosnik 7626c23703 find.cc: Empty strings can be found at all positions.
2000-06-19  Anthony Williams  <anthony@anthonyw.cjb.net>

	* testsuite/21_strings/find.cc: Empty strings can be found at all
	positions. Modified.

From-SVN: r34600
2000-06-19 20:05:48 +00:00
Anthony Williams 3ce7458060 replace.cc (test01): Qualify find with std::.
2000-06-02  Anthony Williams  <anthony@anthonyw.cjb.net>

	* testsuite/21_strings/replace.cc (test01): Qualify find with std::.

From-SVN: r34363
2000-06-02 18:31:44 +00:00
Benjamin Kosnik f035fae1ed Finish up FreeBSD4.0 support.
2000-05-10  Benjamin Kosnik  <bkoz@redhat.com>

	Finish up FreeBSD4.0 support.
	* config/bsd/ctype.cc: Scope out toupper, tolower calls.
	* config/generic/ctype.cc: And here.
	* testsuite/21_strings/char_traits.cc (test02): Guard with
	_GLIBCPP_USE_WCHAR_T.

From-SVN: r33831
2000-05-10 20:23:27 +00:00
Steven King 8445e42a24 2000-0508 Steven King <sxking@uswest.net>
* bits/char_traits.h: use wchar_t utility functions for
        char_traits<wchar_t> methods.
        * testsuite/21_string/char_traits.cc: New (test02): test
        char_traits<wchar_t>

2000-05-08  Benjamin Kosnik  <bkoz@cygnus.com>

	* acinclude.m4 (GLIBCPP_CXXFLAGS): Add bits for solaris2.8.

From-SVN: r33783
2000-05-09 01:15:14 +00:00
Benjamin Kosnik b2dad0e372 libstdc++-v3: New directory.
2000-04-21  Benjamin Kosnik  <bkoz@redhat.com>

	* libstdc++-v3: New directory.

From-SVN: r33317
2000-04-21 20:33:34 +00:00