Commit graph

2383 commits

Author SHA1 Message Date
Paolo Carlini
c1806f89e0 [multiple changes]
2005-07-01  Paolo Carlini  <pcarlini@suse.de>

        Port from libstdcxx_so_7-branch:
	2004-10-28  Chris Jefferson  <chris@bubblescope.net>

	PR libstdc++/17441
	* include/bit/stl_algo.h (find(,,,input_iterator_tag),
	find(,,,random_access_interator_tag),
	find_if(,,,input_iterator_tag),
	find_if(,,,random_access_iterator_tag)): Uglify function name.
	(find, find_if): Use new uglified specialisation names.
	* testsuite/25_algorithms/find/17441.cc: New.

From-SVN: r101501
2005-07-01 08:25:11 +00:00
Jonathan Wakely
a65da37d5b basic_string.h, [...]: Fix Doxygen comments that use wrong parameter and function names.
* include/bits/basic_string.h, include/bits/locale_facets.h: Fix
	Doxygen comments that use wrong parameter and function names.

From-SVN: r101419
2005-06-29 13:18:08 +01:00
Paolo Carlini
d04e9b7fef re PR libstdc++/22131 (std::num_get fails for input with invalid groups)
2005-06-29  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/22131
	* include/bits/locale_facets.tcc (num_get<>::_M_extract_int,
	num_get<>::_M_extract_float, money_get<>::_M_extract):
	Adjust to assign the result also when digit grouping is
	wrong (but the grammar is correct), as per 22.2.2.1.2, p11-12
	(NB: consistently for money_get too).
	* config/locale/generic/c_locale.cc (__convert_from_v): Do
	not check ios_base::failbit at the outset.
	* config/locale/gnu/c_locale.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/22131.cc: New.
	* testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/12.cc: Adjust.
	* testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
	Likewise.

From-SVN: r101416
2005-06-29 11:48:53 +00:00
Paolo Carlini
ec5537cc33 re PR libstdc++/22102 ([DR233] Implement resolution of DR 233)
2005-06-27  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/22102
	* include/bits/stl_tree.h (insert_unique(iterator, const _Val&),
	insert_equal((iterator, const _Val&)): Reimplement to check both
	before and after, as per the algorithm "ignore hint if wrong" of
	ISO paper N1780.

From-SVN: r101355
2005-06-27 16:35:49 +00:00
Jakub Jelinek
462ec41561 re PR libstdc++/22109 (/home/dave/opt/gnu/bin/ld: BFD 2.16.91 20050612 internal error)
PR libstdc++/22109
	* src/compatibility.cc (_GLIBCXX_SYMVER_COMPATIBILITY): Remove.
	(istreambuf_iterator, basic_fstream, basic_ifstream, basic_ofstream,
	_M_copy, _M_move, _M_assign, _M_disjunct, _M_check_length,
	_M_set_length_and_sharable, ignore, eq): Define to XX suffixed
	variants.
	(ignore (streamsize)): Remove _W prefixed aliases.
	(_GLIBCXX_3_4_SYMVER_SPECIAL, _GLIBCXX_3_4_5_SYMVER_SPECIAL,
	_GLIBCXX_APPLY_SYMVER_SPECIAL): Remove.
	(_GLIBCXX_3_4_SYMVER, _GLIBCXX_3_4_5_SYMVER): Add XXname argument.
	Use #XXname instead of #name as the alias argument.
	* config/abi/compatibility.h: Replace uses of
	_GLIBCXX_APPLY_SYMVER_SPECIAL with _GLIBCXX_APPLY_SYMVER.  Always
	pass 2 arguments to the _GLIBCXX_APPLY_SYMVER macro.
	* include/bits/char_traits.h (char_traits::eq): Revert 2005-06-15
	change.
	* acinclude.m4: Decrease glibcxx_min_gnu_ld_version back to 21400.
	* configure: Rebuilt.

From-SVN: r101273
2005-06-23 18:49:00 +02:00
Paolo Carlini
d5f261c135 [multiple changes]
2005-06-17  Paolo Carlini  <pcarlini@suse.de>

        Port from libstdcxx_so_7-branch:
	2005-01-12  Christopher Jefferson <chris@bubblescope.net>

	* include/bits/stl_function.h (mem_fun_t, const_mem_fun_t,
	mem_fun_ref_t, const_mem_fun_ref_t, mem_fun1_t, const_mem_fun1_t,
	mem_fun1_ref_t, const_mem_fun1_ref_t): Remove overloads for void
	return type, just an old HP/SGI workaround.
	* testsuite/20_util/functional/binders.cc: Move to...
	* testsuite/20_util/functional/binders/3113.cc: ...here.
	* testsuite/20_util/functional/binders/1.cc: New.

From-SVN: r101139
2005-06-17 21:51:34 +00:00
Benjamin Kosnik
bb2b2a2472 [multiple changes]
2005-06-17  Jakub Jelinek  <jakub@redhat.com>
            Benjamin Kosnik  <bkoz@redhat.com>

	* config/abi/alpha-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/hppa-linux-gnu/baseline_symbols.txt: Same.
	* config/abi/mips-linux-gnu/baseline_symbols.txt: Same.
	* config/abi/sparc-linux-gnu/baseline_symbols.txt: Same.

	* config/abi/alpha-freebsd5/baseline_symbols.txt: Remove.
	* config/abi/i386-freebsd4/baseline_symbols.txt: Same.
	* config/abi/i386-freebsd5/baseline_symbols.txt: Same.
	* config/abi/sparc-freebsd5/baseline_symbols.txt: Same.

	* config/abi/arm-linux-gnu/baseline_symbols.txt: Remove.
	* config/abi/m68k-linux-gnu/baseline_symbols.txt: Same.

2005-06-17  Jakub Jelinek  <jakub@redhat.com>

	* config/abi/ia64-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/s390x-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/s390-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/x86_64-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
	* config/abi/powerpc-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/i486-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/i386-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/powerpc64-linux-gnu/baseline_symbols.txt: New file.
	* config/abi/powerpc64-linux-gnu/32/baseline_symbols.txt: New file.

2005-06-16  Jakub Jelinek  <jakub@redhat.com>

	* src/compatibility.cc: Include bits/c++config.h first.
	(_GLIBCXX_SYMVER_COMPATIBILITY): Define if _GLIBCXX_SYMVER
	and PIC are both defined.
	* include/bits/char_traits.h (char_traits::eq): Rename
	only if _GLIBCXX_SYMVER_COMPATIBILITY is defined.

2005-06-16  Jakub Jelinek  <jakub@redhat.com>

        * acinclude.m4 ((GLIBCXX_ENABLE_SYMVERS): Rename _GLIBCXX_SIZE_T_IS_INT
        to _GLIBCXX_SIZE_T_IS_UINT.  Define _GLIBCXX_PTRDIFF_T_IS_INT.
        * configure: Regenerate.
        * config.h.in: Regenerate.
        * src/compatibility.cc (istream:ignore(streamsize)): Use
        _GLIBCXX_PTRDIFF_T_IS_INT instead of _GLIBCXX_SIZE_T_IS_INT.
        * config/abi/compatibility.h: Rename _GLIBCXX_SIZE_T_IS_INT
        to _GLIBCXX_SIZE_T_IS_UINT.  Use _GLIBCXX_PTRDIFF_T_IS_INT
        instead for symbols with streamsize arguments.

2005-06-16  Jakub Jelinek  <jakub@redhat.com>

	* config/linker-map.gnu: Also export
	_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE[il][il].

2005-06-15  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.ac (libtool_VERSION): To 6:6:0.
	* configure: Regenerate.
	* config/linker-map.gnu: Edit.
	* src/istream.cc: Move istream::ignore(streamsize) specializations...
	* src/compatibility.cc: ...here. New.
	* include/bits/char_traits.h (char_traits::eq): Rename when
	appropriate.
	* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Define _GLIBCXX_SIZE_T_IS_INT.
	Bump glibcxx_min_gnu_ld_version to 21590.
	* configure: Regenerate.
	* acconfig.h: Remove _GLIBCXX_ASM_SYMVER.
	* config.h.in: Regenerate.
	* src/Makefile.am (sources): Add compatibility.cc.
	* src/Makefile.in: Regenerate.
	* include/Makefile.am (host_headers_noinst): Add compatibility.h.
	* include/Makefile.in: Regenerate.
	* testsuite/testsuite_abi.h (symbol): Add data members.
	* testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.5,
	GLIBCXX_3.4.6.  Remove deprecated versions. Do a better job
	version checking.

From-SVN: r101125
2005-06-17 07:33:56 +00:00
Benjamin Kosnik
fdeeef7f2a re PR libstdc++/21955 (std::stringbuf vs. in_avail)
2005-06-08  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/21955
	* include/std/std_sstream.h (basic_stringbuf::showmanyc): Add.
	Remove unnecessary this->_M_mode decoration.
	* include/bits/fstream.tcc: Adjust line spacing.
	* testsuite/27_io/basic_streambuf/in_avail/char/1.cc: New, test
	base class behavior.
	* testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Same.
	* testsuite/27_io/basic_stringbuf/in_avail/char/21955.cc: New.
	* testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Match
	filebuf behavior.
	* testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Same.
	* testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Same.
	* testsuite/27_io/basic_stringbuf/str/char/1.cc: Same.
	* testsuite/27_io/basic_streambuf/in_avail/char/9701-3.cc: Move...
	* testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: ...here.

From-SVN: r100770
2005-06-08 17:29:44 +00:00
Paolo Carlini
2fecaef4af [multiple changes]
2005-06-06  Paolo Carlini  <pcarlini@suse.de>

        Port from libstdcxx_so_7-branch:
	2004-09-24  Paolo Carlini  <pcarlini@suse.de>
		    Jonathan Wakely  <redi@gcc.gnu.org>

	* include/bits/stl_list.h (list::list(size_type, value_type,
	const allocator_type&): Implement according to the letter of the
	standard, i.e., don't use two overloads, not equivalent in case
	of non default constructible T.
	(list::resize(size_type, const value_type&)): Fix the signature:
	according to the standard the second argument is by value; also,
	don't use two overloads.
	* include/bits/list.tcc (list::resize(size_type, const value_type&)):
	Adjust consistently the signature.
	* include/bits/stl_deque.h (deque::deque(size_type, value_type,
	const allocator_type&)): Likewise.
	(deque::resize(size_type, const value_type&)): Likewise.
	* include/bits/stl_vector.h (vector::vector(size_type, value_type,
	const allocator_type&)): Likewise.
	(vector::resize(size_type, const value_type&)): Likewise.
	* testsuite/testsuite_hooks.h: Add NonDefaultConstructible test type.
	* testsuite/23_containers/deque/explicit_instantiation/2.cc: New.
	* testsuite/23_containers/list/explicit_instantiation/2.cc: New.
	* testsuite/23_containers/map/explicit_instantiation/2.cc: New.
	* testsuite/23_containers/multimap/explicit_instantiation/2.cc: New.
	* testsuite/23_containers/multiset/explicit_instantiation/2.cc: New.
	* testsuite/23_containers/set/explicit_instantiation/2.cc: New.
	* testsuite/23_containers/vector/explicit_instantiation/2.cc: New.

	* include/bits/deque.tcc: Minor formatting fix.

From-SVN: r100668
2005-06-06 16:59:55 +00:00
Peter Doerfler
50068e44db stl_function.h: ...
2005-06-06  Peter Doerfler  <doerfler@techinfo.rwth-aachen.de>

	* include/bits/stl_function.h: ... and another one.

From-SVN: r100657
2005-06-06 10:00:34 +00:00
Peter Doerfler
5380bc7e61 stl_function.h: Fix typo in comment.
2005-06-06  Peter Doerfler  <doerfler@techinfo.rwth-aachen.de>

	* include/bits/stl_function.h: Fix typo in comment.

From-SVN: r100654
2005-06-06 09:21:07 +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
Paolo Carlini
6be8b52474 revert: re PR libstdc++/19495 (basic_string::_M_rep() can produce an unnaturally aligned pointer to _Rep)
2005-05-28  Paolo Carlini  <pcarlini@suse.de>

	Revert:
	2005-05-18  Paolo Carlini  <pcarlini@suse.de>
		    Nathan Myers  <ncm@cantrip.org>

	PR libstdc++/19495
	* include/bits/basic_string.h (_Raw_bytes_alloc): Rebind to
	size_type instead of char and rename to _Raw_alloc.
	* include/bits/basic_string.tcc (_Rep::_M_destroy, _Rep::_S_create):
	Use the above.
	* src/bitmap_allocator.cc: Add instantiation for size_type.
	* src/mt_allocator.cc: Likewise.
	* src/pool_allocator.cc: Likewise.
	* include/ext/array_allocator.h: Tweak slightly, avoid assuming
	the existence of an _Array::begin() and size() members.
	* testsuite/ext/array_allocator/2.cc: Tweak to use an allocator
	of size_type, instead of char, thus avoiding problems with
	rebinds, not treated correctly by array_allocator.

From-SVN: r100304
2005-05-28 21:57:03 +00:00
Benjamin Kosnik
94afef7bac c++config: Remove extern template use when in debug mode, disable for non-weak systems.
2005-05-27  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Remove extern template use when in debug
	mode, disable for non-weak systems.

From-SVN: r100261
2005-05-27 16:09:15 +00:00
Paolo Carlini
be62afb4d5 basic_string.h (_Rep::_M_set_length_and_sharable): Use, consistently, traits_type::assign.
2005-05-25  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (_Rep::_M_set_length_and_sharable):
	Use, consistently, traits_type::assign.

From-SVN: r100142
2005-05-25 11:33:43 +00:00
Paolo Carlini
0e994557d3 [multiple changes]
2005-05-24  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/25_algorithms/equal.cc: Move to...
	* testsuite/25_algorithms/equal: ... here.
	* testsuite/25_algorithms/lower_bound.cc: Move to...
	* testsuite/25_algorithms/lower_bound: ... here.

2005-05-24  Paolo Carlini  <pcarlini@suse.de>

        Port from libstdcxx_so_7-branch:
	2005-20-05  Chris Jefferson  <chris@bubblescope.net>

	* testsuite/25_algorithms/heap.cc: Move to...
	* testsuite/25_algorithms/heap/heap.cc: ...here.
	* testsuite/25_algorithms/partition.cc: Move to...
	* testsuite/25_algorithms/partition/partition.cc: ...here.

	2005-03-29  Christopher Jefferson  <chris@bubblescope.net>

	* testsuite/25_algorithms/includes/1.cc: Add tests.
	* testsuite/25_algorithms/search/1.cc: Likewise.
	* testsuite/25_algorithms/unique_copy/1.cc: Likewise.
	* testsuite/25_algorithms/swap_ranges/1.cc: New.
	* testsuite/25_algorithms/swap_ranges/check_type.cc: New.
	* testsuite/25_algorithms/rotate.cc: Move to...
	* testsuite/25_algorithms/rotate/rotate.cc: ... here.
	* testsuite/25_algorithms/rotate/1.cc: New.
	* testsuite/25_algorithms/rotate/check_type.cc: New.
	* testsuite/25_algorithms/search_n/iterator.cc: Fix typo.

	2005-03-14  Christopher Jefferson  <chris@bubblescope.net>

	* include/bits/stl_algo.h (replace_copy, replace_copy_if):
	Don't assume that __new_value and *__first are convertible to
	each other.

	* testsuite/25_algorithms/find/1.cc: New.
	* testsuite/25_algorithms/find/check_type.cc: New.
	* testsuite/25_algorithms/find_if/1.cc: New.
	* testsuite/25_algorithms/find_if/check_type.cc: New.
	* testsuite/25_algorithms/replace/1.cc: New.
	* testsuite/25_algorithms/replace/check_type.cc: New.
	* testsuite/25_algorithms/replace_if/1.cc: New.
	* testsuite/25_algorithms/replace_if/check_type.cc: New.
	* testsuite/25_algorithms/replace_copy/1.cc: New.
	* testsuite/25_algorithms/replace_copy/check_type.cc: New.
	* testsuite/25_algorithms/replace_copy_if/1.cc: New.
	* testsuite/25_algorithms/replace_copy_if/check_type.cc: New.
	* testsuite/25_algorithms/remove/1.cc: New.
	* testsuite/25_algorithms/remove/check_type.cc: New.
	* testsuite/25_algorithms/remove_if/1.cc: New.
	* testsuite/25_algorithms/remove_if/check_type.cc: New.
	* testsuite/25_algorithms/count/1.cc: New.
	* testsuite/25_algorithms/count/check_type.cc: New.
	* testsuite/25_algorithms/count_if/1.cc: New.
	* testsuite/25_algorithms/count_if/check_type.cc: New.

	2005-02-27  Christopher Jefferson  <chris@bubblescope.net>
        	    Paolo Carlini  <pcarlini@suse.de>

	* testsuite/ext/is_heap/check_type.cc: New.

	2005-02-27  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/ext/is_heap/1.cc: New.

	2005-02-01  Christopher Jefferson  <chris@bubblescope.net>

	* testsuite/ext/median.cc: New.
	* testsuite/25_algorithms/adjacent_find/1.cc: New.
	* testsuite/25_algorithms/adjacent_find/check_type.cc: New.
	* testsuite/25_algorithms/search/1.cc: New.
	* testsuite/25_algorithms/search/check_type.cc: New.
	* testsuite/25_algorithms/unique_copy/1.cc: New.
	* testsuite/25_algorithms/unique_copy/check_type.cc: New.
	* testsuite/25_algorithms/partial_sort/1.cc: New.
	* testsuite/25_algorithms/partial_sort/check_type.cc: New.
	* testsuite/25_algorithms/partial_sort_copy/1.cc: New.
	* testsuite/25_algorithms/partial_sort_copy/check_type.cc: New.
	* testsuite/25_algorithms/lower_bound/1.cc: New.
	* testsuite/25_algorithms/lower_bound/check_type.cc: New.
	* testsuite/25_algorithms/upper_bound/1.cc: New.
	* testsuite/25_algorithms/upper_bound/check_type.cc: New.
	* testsuite/25_algorithms/merge/1.cc: New.
	* testsuite/25_algorithms/merge/check_type.cc: New.
	* testsuite/25_algorithms/inplace_merge/1.cc: New.
	* testsuite/25_algorithms/inplace_merge/check_type.cc: New.
	* testsuite/25_algorithms/stable_sort/1.cc: New.
	* testsuite/25_algorithms/stable_sort/check_type.cc: New.
	* testsuite/25_algorithms/nth_element/1.cc: New.
	* testsuite/25_algorithms/nth_element/check_type.cc: New.
	* testsuite/25_algorithms/equal_range/1.cc: New.
	* testsuite/25_algorithms/equal_range/check_type.cc: New.
	* testsuite/25_algorithms/binary_search/1.cc: New.
	* testsuite/25_algorithms/binary_search/check_type.cc: New.
	* testsuite/25_algorithms/includes/1.cc: New.
	* testsuite/25_algorithms/includes/check_type.cc: New.
	* testsuite/25_algorithms/set_union/1.cc: New.
	* testsuite/25_algorithms/set_union/check_type.cc: New.
	* testsuite/25_algorithms/set_intersection/1.cc: New.
	* testsuite/25_algorithms/set_intersection/check_type.cc: New.
	* testsuite/25_algorithms/set_difference/1.cc: New.
	* testsuite/25_algorithms/set_difference/check_type.cc: New.
	* testsuite/25_algorithms/set_symmetric_difference/1.cc: New.
	* testsuite/25_algorithms/set_symmetric_difference/check_type.cc: New.
	* testsuite/25_algorithms/min_element/1.cc: New.
	* testsuite/25_algorithms/min_element/check_type.cc: New.
	* testsuite/25_algorithms/max_element/1.cc: New.
	* testsuite/25_algorithms/max_element/check_type.cc: New.
	* testsuite/25_algorithms/prev_permutation/1.cc: New.
	* testsuite/25_algorithms/prev_permutation/check_type.cc: New.
	* testsuite/25_algorithms/next_permutation/1.cc: New.
	* testsuite/25_algorithms/next_permutation/check_type.cc: New.
	* testsuite/25_algorithms/find_first_of/1.cc: New.
	* testsuite/25_algorithms/find_first_of/check_type.cc: New.
	* testsuite/25_algorithms/find_end/1.cc: New.
	* testsuite/25_algorithms/find_end/check_type.cc: New.
	* testsuite/25_algorithms/equal/check_type.cc: Insert iterator type.
	* testsuite/25_algorithms/lexicographical_compare/check_type.cc:
	Likewise.

	2005-01-10  Christopher Jefferson <chris@bubblescope.net>

	* testsuite/25_algorithms/lexicographical_compare/check_type.cc: New.
	* testsuite/25_algorithms/lexicographical_compare/1.cc: Likewise.
	* testsuite/25_algorithms/mismatch/check_type.cc: Likewise.
	* testsuite/25_algorithms/mismatch/1.cc: Likewise.
	* testsuite/25_algorithms/equal/check_type.cc: New.
	* testsuite/25_algorithms/equal/1.cc: New.

From-SVN: r100127
2005-05-24 22:53:43 +00:00
Benjamin Kosnik
9b22c09e3c allocator.h: Change ___glibcxx_base_allocator to __glibcxx_base_allocator.
2005-05-24  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/allocator.h: Change ___glibcxx_base_allocator to
	__glibcxx_base_allocator.
	* config/allocator/bitmap_allocator_base.h: Same.
	* config/allocator/malloc_allocator_base.h: Same.
	* config/allocator/mt_allocator_base.h: Same.
	* config/allocator/new_allocator_base.h: Same.
	* config/allocator/pool_allocator_base.h: Same.

From-SVN: r100111
2005-05-24 20:28:55 +00:00
Paolo Carlini
561e7a36e3 [multiple changes]
2005-05-24  Jonathan Wakely  <redi@gcc.gnu.org>

	* include/debug/string (class basic_string): Add missing
	default template arguments; provide typedefs for char
	and wchar_t.
	(operator[]): Allow s[s.size()] in debug mode, but not
	pedantic mode.

2005-05-24  Paolo Carlini  <pcarlini@suse.de>

	Port from libstdcxx_so_7-branch:
	2005-04-25  Christopher Jefferson  <chris@bubblescope.net>

	* include/bits/stl_algo.h (count): Correct concept checks.
	(search_n) : Likewise.
	* testsuite/25_algorithms/search_n/check_type.cc: New.

	* testsuite/testsuite_iterators.h
	(random_access_iterator_wrapper::operator+): Move out of
	class to external function, and add symmetric version.

	2005-03-14  Christopher Jefferson  <chris@bubblescope.net>

	* testsuite/testsuite_iterators.h (WritableObject::WritableObject):
	Add const.

	2005-02-01  Christopher Jefferson  <chris@bubblescope.net>

	* testsuite/testsuite_iterators.h (random_access_iterator_wrapper::
	operator--): Fix typo.
	(OutputContainer::OutputContainer): Correct zeroing array.
	(WritableObject::operator==): Fix typo.
        (WritableObject::operator=): make operator= templated
	to allow differing types to be assigned.
	(WritableObject::operator++): Fix checking if iterator is
	written to multiple times.
	(random_access_iterator_wrapper::operator+): Add const.
	(random_access_iterator_wrapper::operator-): Likewise.
	(random_access_iterator_wrapper::operator[]): Add dereference.

From-SVN: r100101
2005-05-24 10:58:22 +00:00
Paolo Carlini
a809005264 stl_algo.h (__rotate<_RandomAccessIterator>): Don't qualify __tmp as const, _ValueType is not necessarily Assignable.
2005-05-20  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algo.h (__rotate<_RandomAccessIterator>):
	Don't qualify __tmp as const, _ValueType is not necessarily
	Assignable.
	* include/bits/stl_algobase.h (swap, __iter_swap<false>):
	Likewise, as an harmless extension.

From-SVN: r100011
2005-05-20 08:58:23 +00:00
Jonathan Wakely
bfbc811b25 basic_string.h (operator[]): Allow s[s.size()] in debug mode, but not pedantic mode.
* include/bits/basic_string.h (operator[]): Allow s[s.size()] in
	debug mode, but not pedantic mode.

From-SVN: r99967
2005-05-19 09:59:46 +01:00
Paolo Carlini
66143232bc re PR libstdc++/19495 (basic_string::_M_rep() can produce an unnaturally aligned pointer to _Rep)
2005-05-18  Paolo Carlini  <pcarlini@suse.de>
	    Nathan Myers  <ncm@cantrip.org>

	PR libstdc++/19495
	* include/bits/basic_string.h (_Raw_bytes_alloc): Rebind to
	size_type instead of char and rename to _Raw_alloc.
	* include/bits/basic_string.tcc (_Rep::_M_destroy, _Rep::_S_create):
	Use the above.
	* src/bitmap_allocator.cc: Add instantiation for size_type.
	* src/mt_allocator.cc: Likewise.
	* src/pool_allocator.cc: Likewise.
	* include/ext/array_allocator.h: Tweak slightly, avoid assuming
	the existence of an _Array::begin() and size() members.
	* testsuite/ext/array_allocator/2.cc: Tweak to use an allocator
	of size_type, instead of char, thus avoiding problems with
	rebinds, not treated correctly by array_allocator.

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

From-SVN: r99933
2005-05-18 22:11:24 +00:00
Paolo Carlini
6323b34eeb re PR libstdc++/18604 (Use of unqualified names conflict with names in global namespace)
2005-05-09  Paolo Carlini  <pcarlini@suse.de>
	    Giovanni Bajo  <giovannibajo@gcc.gnu.org>

	PR libstdc++/18604
	* include/bits/deque.tcc: Fully qualify names from namespace std.
	* include/bits/stl_bvector.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/vector.tcc: Likewise.
	* include/std/std_bitset.h: Likewise.
	* testsuite/23_containers/bitset/18604.cc: New.
	* testsuite/23_containers/deque/18604.cc: Likewise.
	* testsuite/23_containers/list/18604.cc: Likewise.
	* testsuite/23_containers/map/18604.cc: Likewise.
	* testsuite/23_containers/set/18604.cc: Likewise.
	* testsuite/23_containers/vector/18604.cc: Likewise.

Co-Authored-By: Giovanni Bajo <giovannibajo@gcc.gnu.org>

From-SVN: r99499
2005-05-10 01:58:19 +00:00
Paolo Carlini
544f9440ab re PR libstdc++/21286 (filebuf::xsgetn vs pipes)
2005-04-29  Paolo Carlini  <pcarlini@suse.de>
	    Nathan Myers  <ncm@cantrip.org>

	PR libstdc++/21286
	* include/bits/fstream.tcc (basic_filebuf<>::xsgetn):
	Loop on short reads; remove the work-around for
	libstdc++/20806, not needed anymore.

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

From-SVN: r99033
2005-04-30 06:54:08 +00:00
Paolo Carlini
a70c902e06 re PR libstdc++/21238 (conflicting "typedef __numpunct_cache<_CharT> __cache_type;" in std::numpunct<CharT> makes specialization impossible)
2005-04-29  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/21238
	* include/bits/locale_facets.tcc (num_get::_M_extract_float,
	num_get::_M_extract_int, num_get::do_get(bool&),
	num_put::_M_insert_int, num_put::_M_insert_float,
	num_put::do_put(bool), money_get::_M_extract,
	money_put::_M_insert): Adjust the __cache_type typedef not to
	forward to a numpunct/moneypunct typedef.
	* testsuite/testsuite_character.h: Add pod_uint and its numpunct
	and moneypunct specializations.
	* testsuite/testsuite_character.cc: Add numpunct<pod_uint>::id
	and moneypunct<pod_uint>::id.
	* testsuite/22_locale/num_get/3.cc: New.
	* testsuite/22_locale/num_put/3.cc: Likewise.
	* testsuite/22_locale/money_get/3.cc: Likewise.
	* testsuite/22_locale/money_put/3.cc: Likewise.

	* include/bits/locale_facets.tcc (money_put::_M_insert,
	time_get::_M_extract_name): Prefer operator== to operator!=
	on char_types.

From-SVN: r99012
2005-04-29 18:50:00 +00:00
Paolo Carlini
a9dd5a466a PR libstdc++/21244 (cont)
2005-04-28  Paolo Carlini  <pcarlini@suse.de>
	    Gabriel Dos Reis  <gdr@integrable-solutions.net>

	PR libstdc++/21244 (cont)
	* include/bits/cpp_type_traits.h (struct __traitor): Convert
	to bool the values.
	* include/bits/stl_algo.h: Convert _S_threshold to int.
	* include/bits/stl_bvector.h: Revert previous change, convert
	_S_word_bit to int.
	* include/debug/formatter.h: Convert __max_parameters to
	size_t.
	* include/ext/mt_allocator.h: Likewise for _S_chunk_size.
	* include/ext/pool_allocator.h: Likewise for _S_max_bytes and
	_S_align.
	* include/ext/rope: Likewise for _S_alloc_granularity; convert
	_S_max_rope_depth to int.
	* include/ext/ropeimpl.h: Convert _S_path_cache_len to int;
	_S_max_rope_depth to int; _S_copy_max to size_t.

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

From-SVN: r98915
2005-04-28 07:50:48 +00:00
Dominik Strasser
2c2702f240 re PR libstdc++/21244 (Vector<bool> anonymous enum problem)
2005-04-27  Dominik Strasser  <dominik.strasser@infineon.com>
	    Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/21244
	* include/bits/stl_bvector.h: Change the anonymous enum
	at namespace scope to _S_word_bit_enum.
	* testsuite/23_containers/vector/bool/21244.cc: New.

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

From-SVN: r98844
2005-04-27 15:59:06 +00:00
Paolo Carlini
44ecf60364 re PR libstdc++/21209 (signed integer overflow in num_get<>::_M_extract_int)
2005-04-26  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/21209
	* include/bits/locale_facets.tcc (_M_extract_int): Avoid signed
	integer overflow, always use a suited unsigned type in the main
	parsing loop.
	(struct __to_unsigned_type): New.
	* testsuite/22_locale/num_get/get/char/16.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.

From-SVN: r98768
2005-04-26 09:31:07 +00:00
Paolo Carlini
a26b6b94b9 re PR libstdc++/21035 (Documentation for std::basic_string::compare() incorrect)
2005-04-25  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/21035
	* include/bits/basic_string.h (compare): Adjust the documentation
	to match the implementation and the standard.

From-SVN: r98708
2005-04-25 10:59:21 +00:00
Jonathan Wakely
5ce7999da0 * include/bits/stl_algo.h (rotate_copy): Add missing std qualification.
From-SVN: r98326
2005-04-18 17:04:04 +01:00
Paolo Carlini
101c5bc507 re PR libstdc++/20914 (Another grouping trouble)
2005-04-17  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/20914
	* include/bits/locale_facets.tcc (__int_to_char(_CharT*, _ValueT,
	const _CharT*, ios_base::fmtflags, bool)): Don't deal with numeric
	base or sign here, instead...
	(_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT)): ... here,
	after adding the grouping. This fixes the bug and also allows to
	clean-up the code dealing with integer types.
	(_M_group_int(const char*, size_t, _CharT, ios_base&, _CharT*,
	_CharT*, int&)): Simplify, remove bits dealing with numeric base.
	(__int_to_char(_CharT*, unsigned long, const _CharT*,
	ios_base::fmtflags), __int_to_char(_CharT*, unsigned long long,
	const _CharT*, ios_base::fmtflags)): Remove hackish fix for
	libstdc++/15565.
	(__int_to_char(_CharT*, long, const _CharT*, ios_base::fmtflags),
	__int_to_char(_CharT*, long long, const _CharT*, ios_base::fmtflags)):
	Simplify, don't pass the sign.
	(_M_insert_float(_OutIter, ios_base&, _CharT, char, _ValueT)):
	Deal with a sign at the beginning of __cs; robustify the grouping
	check.
	* testsuite/22_locale/num_put/put/char/20914.cc: New.
	* testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.

From-SVN: r98271
2005-04-17 14:30:37 +00:00
Paolo Carlini
eaf727f9d8 re PR libstdc++/20909 (incorrect floating point format)
2005-04-08  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/20909
	* include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
	Don't even try to group numbers like 2e20, i.e., no decimal
	point, scientific notation.
	* testsuite/22_locale/num_put/put/char/20909.cc: New.
	* testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.

From-SVN: r97873
2005-04-09 00:08:58 +00:00
Danny Smith
1ae4835877 re PR libstdc++/20806 (basic_filebuf::xsgetn() fails with text mode and DOS line endings and large buffers)
2005-04-08  Danny Smith  <dannysmith@users.sourceforge.net>
	    Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/20806
	* config/os/mingw32/os_defines.h: Define
	_GLIBCXX_HAVE_DOS_BASED_FILESYSTEM.
	* config/os/newlib/os_defines.h: Likewise, for __CYGWIN__.
	* include/bits/fstream.tcc (basic_filebuf<>::showmanyc()):
	Use it.
	(basic_filebuf<>::xsgetn(_CharT*, streamsize)): Likewise.

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

From-SVN: r97842
2005-04-08 17:31:33 +00:00
Chris Jefferson
aed63147cb re PR libstdc++/20577 (iter_swap doesn't work anymore with vector<bool>)
2005-03-21  Chris Jefferson  <chris@bubblescope.net>

	PR libstdc++/20577
	* include/bits/stl_algobase.h (iter_swap): Only delegate iter_swap
	to swap when the iterator's reference_type is a reference to its
	value_type.
	* testsuite/25_algorithms/iter_swap/20577.cc: New.

From-SVN: r96837
2005-03-21 22:16:15 +00:00
Zack Weinberg
a1286ef574 gcc-version.m4: Delete.
config:
	* gcc-version.m4: Delete.
fastjar:
	* Makefile.am (fastjar_TEXINFOS): Add gcc-vers.texi.
	(BASEVER, DEVPHASE): New variables.
	(POD2MAN): Adjust setting of --release option.
	(fastjar.1, grepjar.1, gcc-vers.texi): New rules.
	* Makefile.in: Regenerate.
	* configure.ac: Do not invoke TL_AC_GCC_VERSION.
	* aclocal.m4, configure: Regenerate.
gcc:
	* BASE-VER, DATESTAMP, DEV-PHASE: New files.
	* Makefile.in (gcc_version, gcc_version_trigger, ): Delete.
	(BASEVER, DEVPHASE, DATESTAMP, BASEVER_c, DEVPHASE_c, DATESTAMP_c)
	(BASEVER_s, DEVPHASE_s, DATESTAMP_s): New variables.
	(version): Define using $(BASEVER_c).
	(Makefile, config.status, build/gcov-iov.o): No longer depends on
	version.c.
	(version.o): Depend on version files; add custom generation command.
	(prefix.o): Define BASEVER on command line.
	(s-iov): Depend on version files; adjust command.
	(TEXI_CPP_FILES, TEX_IGCC_FILES, TEXI_GCCINT_FILES, TEXI_CPPINT_FILES):
	Add gcc-vers.texi.
	(gcc-vers.texi): New rule.
	(doc/%.info, doc/%.dvi): Add -I . to command line.
	(doc/gccinstall.dvi): Likewise.
	(PACKAGE): Delete.  All uses replaced with "gcc".
	* aclocal.m4: Do not include gcc-version.m4.
	* configure.ac: Do not invoke TL_AC_GCC_VERSION.
	Do not AC_SUBST nor AC_DEFINE PACKAGE or VERSION.
	Set is_release based on contents of DEV-PHASE.
	Set gcc_version based on contents of BASE-VER.
	Define WIN32_REGISTRY_KEY only if the user overrode the default.
	* config.in, configure: Regenerate.
	* gccbug.in: Determine version of GCC in use at runtime.
	* gcov-iov.c: Get version number and development phase from
	command line, not by including version.c.
	* intl.c: Replace all uses of PACKAGE with "gcc".
	* libada-mk.in: Delete unused "gcc_version" variable.
	* prefix.c: Default WIN32_REGISTRY_KEY to BASEVER.
	* version.c: (VERSUFFIX): New hook for redistributors; adjust
	commentary to match.
	(version_string): Put together from pieces.
	* config/alpha/x-vms: Do not use $(gcc_version).
	* config/i386/t-nwld: Likewise.
	* doc/include/gcc-common.texi: Include gcc-vers.texi for
	version-GCC and DEVELOPMENT.
gcc/ada:
	* Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
	(doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
	to dependencies.
gcc/fortran:
	* Make-lang.in (GFORTRAN_TEXI): Add gcc-vers.texi.
gcc/java:
	* Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
gcc/treelang:
	* Make-lang.in (TEXI_TREELANG_FILES): Add gcc-vers.texi.
libstdc++-v3:
	* include/Makefile.am (c++config.h): Depend on DATESTAMP from gcc
	subdirectory.  Generate #define of __GLIBCXX__ from contents of
	that file.
	* include/Makefile.in: Regenerate.
	* include/bits/c++config: Do not define __GLIBCXX__.
maintainer-scripts:
	* README: Update.
	* gcc_release: Update gcc/DEV-PHASE if that file exists, instead
	of gcc/version.c.
	* update_version: Handle updating gcc/DATESTAMP.
	* update_web_docs: Generate gcc-vers.texi first.

From-SVN: r96549
2005-03-16 06:04:10 +00:00
GCC Administrator
c96a2f400d Daily bump.
From-SVN: r96543
2005-03-16 00:16:26 +00:00
GCC Administrator
cd8b38b9eb Daily bump.
From-SVN: r96457
2005-03-15 00:16:23 +00:00
GCC Administrator
1d2093c32b Daily bump.
From-SVN: r96401
2005-03-14 00:16:58 +00:00
GCC Administrator
23845f0220 Daily bump.
From-SVN: r96360
2005-03-13 00:16:54 +00:00
GCC Administrator
29c9a15eb6 Daily bump.
From-SVN: r96318
2005-03-12 00:16:43 +00:00
GCC Administrator
457516a576 Daily bump.
From-SVN: r96276
2005-03-11 00:16:51 +00:00
GCC Administrator
1569224588 Daily bump.
From-SVN: r96228
2005-03-10 00:19:29 +00:00
GCC Administrator
0cbb117e8c Daily bump.
From-SVN: r96146
2005-03-09 00:16:20 +00:00
GCC Administrator
2125de9340 Daily bump.
From-SVN: r96058
2005-03-08 00:16:24 +00:00
GCC Administrator
0f2371cb2d Daily bump.
From-SVN: r95998
2005-03-07 00:16:26 +00:00
GCC Administrator
5c2ff394f3 Daily bump.
From-SVN: r95959
2005-03-06 00:16:33 +00:00
GCC Administrator
ce11b6e146 Daily bump.
From-SVN: r95909
2005-03-05 00:16:40 +00:00
GCC Administrator
ec5a720845 Daily bump.
From-SVN: r95858
2005-03-04 00:16:26 +00:00
GCC Administrator
79a8dc5b6a Daily bump.
From-SVN: r95817
2005-03-03 00:17:15 +00:00
GCC Administrator
58a30fef7b Daily bump.
From-SVN: r95770
2005-03-02 00:17:35 +00:00
GCC Administrator
ba751280b2 Daily bump.
From-SVN: r95710
2005-03-01 00:21:08 +00:00