Commit Graph

3286 Commits

Author SHA1 Message Date
Paolo Carlini
6ca20f85cf stl_algobase.h: Do not include <cstring>.
2007-05-07  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algobase.h: Do not include <cstring>.
	(copy(const _Tp*, const _Tp*, _Tp*), __copy_b(const _Tp*, const _Tp*,
	_Tp*)): Use __builtin_memmove.
	(__fill_aux): Use __builtin_memset.
	(equal(const _Tp*, const _Tp*, const _Tp*),
	lexicographical_compare(const unsigned char*, const unsigned char*,
	const unsigned char*, const unsigned char*)): Use __builtin_memcmp.
	*  include/bits/valarray_array.h: Do not include <cstring>.
	(_Array_default_ctor<, true>::_S_do_it): Use __builtin_memset.
	(_Array_copy_ctor<, true>::_S_do_it, _Array_copier<, true>::_S_do_it):
	Use __builtin_memcpy.
	* include/ext/algorithm
	(__lexicographical_compare_3way(const unsigned char*,
	const unsigned char*, const unsigned char*, const unsigned char*)):
	Use __builtin_memcmp.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Adjust dg-error line number.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r124512
2007-05-07 20:37:15 +00:00
Paolo Carlini
360721e336 stl_algobase.h: Do not include <cstring>.
2007-05-07  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algobase.h: Do not include <cstring>.
	(copy(const _Tp*, const _Tp*, _Tp*), __copy_b(const _Tp*, const _Tp*,
	_Tp*)): Use __builtin_memmove.
	(__fill_aux): Use __builtin_memset.
	(equal(const _Tp*, const _Tp*, const _Tp*),
	lexicographical_compare(const unsigned char*, const unsigned char*,
	const unsigned char*, const unsigned char*)): Use __builtin_memcmp.
	*  include/bits/valarray_array.h: Do not include <cstring>.
	(_Array_default_ctor<, true>::_S_do_it): Use __builtin_memset.
	(_Array_copy_ctor<, true>::_S_do_it, _Array_copier<, true>::_S_do_it):
	Use __builtin_memcpy.
	* include/ext/algorithm
	(__lexicographical_compare_3way(const unsigned char*,
	const unsigned char*, const unsigned char*, const unsigned char*)):
	Use __builtin_memcmp.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Adjust dg-error line number.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r124511
2007-05-07 20:36:40 +00:00
Benjamin Kosnik
ce2e63495d type_traits: (make_signed, make_unsigned): Adjust for enum sizes.
2007-05-07  Benjamin Kosnik  <bkoz@redhat.com>
            Howard Hinnant  <hhinnant@apple.com>

	* include/std/type_traits: (make_signed, make_unsigned): Adjust
	for enum sizes.	
	* testsuite/20_util/make_unsigned/requirements/typedefs.cc: Move to...
	* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: ...here.
	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Add,
	compile with -funsigned-char -fshort-enums.
	* testsuite/20_util/make_signed/requirements/typedefs.cc: Move to...
	* testsuite/20_util/make_signed/requirements/typedefs-1.cc: ...here.
	* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Add,
	compile with -funsigned-char -fshort-enums.

	* testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
	Add a temporary xfail to this test for all platforms.


Co-Authored-By: Howard Hinnant <hhinnant@apple.com>

From-SVN: r124500
2007-05-07 15:29:57 +00:00
Paolo Carlini
74b332b8a0 complex: Add missing extern template declarations.
2007-05-06  Paolo Carlini  <pcarlini@suse.de>

	* include/std/complex: Add missing extern template declarations.
	* testsuite/26_numerics/complex/complex_inserters_extractors.cc:
	Move...
	* testsuite/26_numerics/complex/inserters_extractors/char/1.cc:
	... here.
	* testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc:
	New.

From-SVN: r124477
2007-05-06 18:51:10 +00:00
Paolo Carlini
558ef0f771 stl_raw_storage_iter.h (class raw_storage_iterator): Adjust template parameter name.
2007-05-04  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_raw_storage_iter.h (class raw_storage_iterator):
	Adjust template parameter name.

From-SVN: r124459
2007-05-05 01:15:46 +00:00
Paolo Carlini
acb8a4ef2d stl_memory.h: Rename to stl_auto_ptr.h.
2007-05-04  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_memory.h: Rename to stl_auto_ptr.h.
	(__get_temporary_buffer, get_temporary_buffer,
	return_temporary_buffer): Move...
	* include/bits/stl_tempbuf.h: ... here.
	* include/std/memory: Adjust includes.
	* testsuite/20_util/auto_ptr/assign_neg.cc: Adjust dg-error line
	numbers.
	* include/Makefile.am: Adjust.
	* include/Makefile.in: Regenerate.

	* testsuite/util/testsuite_iterators.h: Do not include the entire
	<iterator>.
	* include/bits/stl_iterator_base_types.h: Adjust includes.
	* testsuite/25_algorithms/unique_copy/2.cc: Include <functional>.

From-SVN: r124438
2007-05-04 18:07:10 +00:00
Paolo Carlini
c531371e87 stl_construct.h (_Destroy(_ForwardIterator, _ForwardIterator __last, _Allocator)): Change the last parameter to _Allocator&.
2007-05-04  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_construct.h (_Destroy(_ForwardIterator,
	_ForwardIterator __last, _Allocator)): Change the last parameter
	to _Allocator&.
	* include/bits/stl_uninitialized.h (__uninitialized_copy_a,
	__uninitialized_fill_a, __uninitialized_fill_n_a,
	__uninitialized_fill_copy, __uninitialized_copy_fill,
	__uninitialized_copy_copy): Likewise.
	* include/ext/rope: Adjust everywhere.
	* include/ext/ropeimpl.h: Likewise.

From-SVN: r124427
2007-05-04 15:06:46 +00:00
Benjamin Kosnik
7b50cdeffb type_traits (enable_if): New.
2007-05-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/type_traits (enable_if): New.
	(conditional): New.
	(__decay_selector, decay): New.
	(__cv_selector, __match_cv_qualifiers): New.
	(__make_unsigned, __make_unsigned_selector, make_unsigned): New.
	(__make_signed, __make_signed_selector, make_signed): New.
	(has_trivial_constructor): ... to has_trivial_default_constructor.
	(has_nothrow_constructor): ... to has_nothrow_default_constructor.
	(has_trivial_copy): ... to has_trivial_copy_constructor.
	(has_nothrow_copy): ... to has_nothrow_copy_constructor.

	* include/tr1/type_traits_fwd: Move to...
	* include/tr1/type_traitsfwd: ... this, consistency with
	ios/string/locale forward headers.
	* include/tr1/type_traits: Adjust include.	
	* include/Makefile.am (tr1_headers): Change type_traits_fwd.h to
	type_traitsfwd.h.
	* include/Makefile.in: Regenerate.

	* testsuite/23_containers/tuple: Move...
	* testsuite/20_util/tuple:... here.

	* testsuite/20_util/conditional: New.
	* testsuite/20_util/conditional/requirements: Same.
	* testsuite/20_util/conditional/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/conditional/requirements/typedefs.cc: Same.
	* testsuite/20_util/decay: Same.
	* testsuite/20_util/decay/requirements: Same.
	* testsuite/20_util/decay/requirements/explicit_instantiation.cc: Same.
	* testsuite/20_util/decay/requirements/typedefs.cc: Same.
	* testsuite/20_util/enable_if: Same.
	* testsuite/20_util/enable_if/requirements: Same.
	* testsuite/20_util/enable_if/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/enable_if/requirements/typedefs.cc: Same.
	* testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/has_nothrow_copy_constructor: Same.
	* testsuite/20_util/has_nothrow_copy_constructor/requirements: Same.
	* testsuite/20_util/has_nothrow_copy_constructor/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/has_nothrow_copy_constructor/requirements/
	typedefs.cc: Same.
	* testsuite/20_util/has_nothrow_copy_constructor/value.cc: Same.
	* testsuite/20_util/has_nothrow_default_constructor: Same.
	* testsuite/20_util/has_nothrow_default_constructor/requirements: Same.
	* testsuite/20_util/has_nothrow_default_constructor/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/has_nothrow_default_constructor/requirements/
	typedefs.cc: Same.
	* testsuite/20_util/has_nothrow_default_constructor/value.cc: Same.
	* testsuite/20_util/has_trivial_copy_constructor: Same.
	* testsuite/20_util/has_trivial_copy_constructor/requirements: Same.
	* testsuite/20_util/has_trivial_copy_constructor/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/has_trivial_copy_constructor/requirements/
	typedefs.cc: Same.
	* testsuite/20_util/has_trivial_copy_constructor/value.cc: Same.
	* testsuite/20_util/has_trivial_default_constructor: Same.
	* testsuite/20_util/has_trivial_default_constructor/requirements: Same.
	* testsuite/20_util/has_trivial_default_constructor/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/has_trivial_default_constructor/requirements/
	typedefs.cc: Same.
	* testsuite/20_util/has_trivial_default_constructor/value.cc: Same.
	* testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc: Same.
	* testsuite/20_util/make_signed: Same.
	* testsuite/20_util/make_signed/requirements: Same.
	* testsuite/20_util/make_signed/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/make_signed/requirements/typedefs.cc: Same.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/make_unsigned: Same.
	* testsuite/20_util/make_unsigned/requirements: Same.
	* testsuite/20_util/make_unsigned/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/make_unsigned/requirements/typedefs.cc: Same.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.

From-SVN: r124374
2007-05-03 11:49:12 +00:00
Paolo Carlini
d4083c80e2 re PR libstdc++/31777 (GLIBCXX_FORCE_NEW doesn't always work in pool_allocator)
2007-05-02  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/31777
	* include/ext/pool_allocator.h (__pool_alloc<>::allocate,
	__pool_alloc<>::deallocate): Fix _S_force_new check.

From-SVN: r124355
2007-05-02 18:37:00 +00:00
Paolo Carlini
d22a31664d PR libstdc++/30449 (equal)
2007-04-30  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/30449 (equal)
	* include/bits/stl_algobase.h (struct __niter_base): Add.
	(copy(_II, _II, _OI), copy_backward(_BI1, _BI1, _BI2),
	fill(_ForwardIterator, _ForwardIterator, const _Tp&),
	fill_n(_OI, _Size, const _Tp&), equal(_II1, _II1, _II2)):
	Use it.
	(struct __copy_normal, __copy_backward_normal,
	struct __fill_normal, struct __fill_n_normal): Remove.
	(struct __equal, struct __equal_aux): Add.
	* include/bits/stl_iterator.h: Add _Iterator_type typedef.

	* include/bits/stl_algobase.h (__fill_aux(wchar_t*,
	wchar_t*, wchar_t), __fill_n_aux(wchar_t*, _Size, wchar_t)):
	Remove.

	* testsuite/23_containers/requirements/sequences/dr438/vector/
	constructor_1_neg.cc: Adjust dg-error line number.
	* testsuite/23_containers/requirements/sequences/dr438/vector/
	constructor_2_neg.cc: Likewise.

From-SVN: r124295
2007-04-30 13:10:54 +00:00
Paolo Carlini
6a7508ec12 type_traits (is_pod): Use __is_pod.
2007-04-30  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (is_pod): Use __is_pod.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_destructor/has_trivial_destructor.cc: Adjust.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_constructor/has_nothrow_constructor.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_constructor/has_trivial_constructor.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_pod/is_pod.cc: Likewise.

From-SVN: r124294
2007-04-30 10:27:31 +00:00
Paolo Carlini
677e29e167 localefwd.h: Remove redundant inline qualifiers.
2007-04-29  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/localefwd.h: Remove redundant inline qualifiers.
	(__check_facet): Move...
	* include/bits/basic_ios.h: ... here.
	(widen(char), narrow(char_type, char)): Define inline.
	* include/bits/basic_ios.tcc (widen(char), narrow(char_type, char)):
	Remove.

From-SVN: r124282
2007-04-29 16:06:09 +00:00
Paolo Carlini
25959e29ee DR 438, [DR].
2007-04-27  Paolo Carlini  <pcarlini@suse.de>

	DR 438, [DR].
	* include/bits/basic_string.h (_S_construct_aux(_InIterator,
	_InIterator, const _Alloc&, __true_type)): Do not cast the
	second argument.
	* include/ext/rc_string_base.h (_S_construct_aux(_Integer,
	_Integer, const _Alloc&, std::__true_type)): Likewise.
	* include/ext/sso_string_base.h (_M_construct_aux(_InIterator,
	_InIterator, std::__true_type)): Likewise.
	* include/bits/stl_deque.h (_M_initialize_dispatch(_Integer,
	_Integer, __true_type)): Cast the first argument.
	(_M_assign_dispatch(_Integer, _Integer, __true_type)): Do
	not cast the arguments.
	(_M_insert_dispatch(iterator, _Integer, _Integer, __true_type)):
	Likewise.
	* include/bits/stl_list.h (_M_initialize_dispatch(_Integer,
	_Integer, __true_type)): Likewise.
	(_M_assign_dispatch(_Integer, _Integer, __true_type)): Do
	not cast both arguments.
	* include/bits/stl_bvector.h (_M_initialize_dispatch(_Integer,
	_Integer, __true_type)): Cast the first argument.
	(_M_assign_dispatch(_Integer, _Integer, __true_type)): Do not
	cast the arguments.
	* include/bits/stl_vector.h (_M_initialize_dispatch(_Integer,
	_Integer, __true_type)): Cast the first argument.
	(_M_assign_dispatch(_Integer, _Integer, __true_type)): Do not
	cast the arguments.
	(_M_insert_dispatch(iterator, _Integer, _Integer, __true_type)):
	Likewise.
	* testsuite/21_strings/basic_string/requirements/dr438/
	constructor.cc: New.
	* testsuite/ext/vstring/requirements/dr438/constructor.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/deque/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/deque/
	constructor.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/deque/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/deque/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/deque/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/list/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/list/
	constructor.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/list/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/list/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/list/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/vector/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/vector/
	constructor.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/vector/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/vector/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/vector/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/vector/
	bool/constructor.cc: Likewise.
	* docs/html/ext/howto.html: Add an entry for DR 438.

From-SVN: r124243
2007-04-27 22:59:36 +00:00
Paolo Carlini
dd42abcc7e locale_classes.h: Remove redundant inline specifiers.
2007-04-25  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_classes.h: Remove redundant inline specifiers.
	* include/bits/ios_base.h: Likewise.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error line
	numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.

From-SVN: r124148
2007-04-25 09:25:05 +00:00
Paolo Carlini
84b31797f3 locale_facets.h (class collate, [...]): Move...
2007-04-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (class collate, class collate_byname):
	Move...
	* include/bits/locale_classes.h: ... here.
	* include/bits/locale_facets.tcc (locale::combine, locale::operator(),
	has_facet, use_facet, collate::_M_compare, collate::_M_transform,
	collate::do_compare, collate::do_transform, collate::do_hash): Move...
	* include/bits/locale_classes.tcc: ... here, new.
	* include/Makefile.am: Add.
	* testsuite/util/testsuite_abi.h: Include <locale>.
	* include/std/locale: Tweak.
	* include/std/istream: Likewise.
	* include/std/ostream: Likewise.
	* include/bits/codecvt.h: Likewise.
	* include/Makefile.in: Regenerate.

	* include/bits/codecvt.h: Adjust extern template declarations.
	* include/bits/ostream_insert.h: Likewise.
	* include/bits/ostream.tcc: Likewise.

	* include/bits/locale_facets.h: Do not include <bits/codecvt.h>.
	* include/std/fstream: Do it here.
	* include/bits/locale_facets_nonio.h: Likewise.

From-SVN: r124114
2007-04-24 18:57:12 +00:00
Paolo Carlini
f749a55bb4 locale_facets.h (class time_base, [...]): Move...
2007-04-23  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (class time_base,
	struct __timepunct_cache, class __timepunct, class time_get,
	class time_get_byname, class time_put, class time_put_byname,
	class money_base, struct __moneypunct_cache, class moneypunct,
	class moneypunct_byname, class money_get, class money_put,
	struct messages_base, class messages, class messages_byname): Move...
	* include/bits/locale_facets_nonio.h: ... here.
	* include/bits/locale_facets.tcc
	(struct __use_cache<__moneypunct_cache<> >,
	__moneypunct_cache<>::_M_cache, money_get<>::_M_extract,
	money_get<>::__do_get, money_get<>::do_get, money_put<>::_M_insert,
	money_put<>::__do_put, money_put<>::do_put, time_get<>::do_date_order,
	time_get<>::_M_extract_via_format, time_get<>::_M_extract_num,
	time_get<>::_M_extract_name, time_get<>::do_get_time,
	time_get<>::do_get_date, time_get<>::do_get_weekday,
	time_get<>::do_get_monthname, time_get<>::do_get_year, time_put<>::put,
	time_put<>::do_put): Move...
	* include/bits/locale_facets_nonio.tcc: ... here.
	* include/Makefile.am: Add.
	* include/std/locale: Adjust includes.
	* include/std/fstream: Likewise.
	* include/std/istream: Likewise.
	* include/std/ostream: Likewise.
	* include/Makefile.in: Regenerate.

From-SVN: r124080
2007-04-23 20:26:30 +00:00
Paolo Carlini
4c9be80604 functional: Formatting fixes.
2007-04-22  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/functional: Formatting fixes.

From-SVN: r124041
2007-04-22 11:12:18 +00:00
Paolo Carlini
87a2085661 concurrence.h: Do not include <cstdlib>, use __builtin_abort.
2007-04-22  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/concurrence.h: Do not include <cstdlib>, use
	__builtin_abort.
	* include/debug/debug.h: Likewise.
	* include/tr1/memory: Likewise.
	* include/tr1/boost_shared_ptr.h: Likewise.
	* include/tr1/functional: Likewise.

From-SVN: r124040
2007-04-22 10:36:04 +00:00
Paolo Carlini
3b476281b6 locale_facets.tcc: Do not include <typeinfo>.
2007-04-22  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc: Do not include <typeinfo>.
	* testsuite/27_io/basic_ios/imbue/14072.cc: Do it here.
	* testsuite/27_io/basic_ios/cons/char/3.cc: Likewise.
	* testsuite/27_io/basic_istream/sentry/pod/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
	* testsuite/21_strings/basic_string/inserters_extractors/
	pod/10081-in.cc: Likewise.
	* testsuite/21_strings/basic_string/inserters_extractors/
	pod/10081-out.cc: Likewise.
	* testsuite/22_locale/locale/cons/2.cc: Likewise.
	* testsuite/22_locale/locale/cons/unicode.cc: Likewise.
	* testsuite/22_locale/numpunct/members/pod/2.cc: Likewise.
	* testsuite/22_locale/global_templates/1.cc: Likewise.

From-SVN: r124039
2007-04-22 10:09:11 +00:00
Paolo Carlini
dded9d2ca8 re PR libstdc++/31556 (find_if uses operator! instead of conversion to bool)
2007-04-13  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/31556
	* include/bits/stl_algobase.h (equal(_InputIterator1, _InputIterator1,
	_InputIterator2, _BinaryPredicate), mismatch(_InputIterator1,
	_InputIterator1, _InputIterator2, _BinaryPredicate)): Convert
	predicate return to bool.
	* include/bits/stl_algo.h (__find_if(_InputIterator, _InputIterator,
	_Predicate, input_iterator_tag), search(_ForwardIterator1,
	_ForwardIterator1, _ForwardIterator2, _ForwardIterator2,
	_BinaryPredicate), __search_n(_ForwardIterator, _ForwardIterator,
	_Integer, const _Tp&, _BinaryPredicate, std::forward_iterator_tag),
	__search_n(_RandomAccessIter, _RandomAccessIter, _Integer, const _Tp&,
	_BinaryPredicate, std::random_access_iterator_tag),
	search_n(_ForwardIterator, _ForwardIterator, _Integer, const _Tp&,
	_BinaryPredicate), remove_copy_if(_InputIterator, _InputIterator,
	_OutputIterator, _Predicate), __unique_copy(_ForwardIterator,
	_ForwardIterator, _OutputIterator, _BinaryPredicate,
	forward_iterator_tag, output_iterator_tag),
	__unique_copy(_InputIterator, _InputIterator, _OutputIterator,
	_BinaryPredicate, input_iterator_tag, output_iterator_tag),
	__unique_copy(_InputIterator, _InputIterator, _OutputIterator,
	_BinaryPredicate, input_iterator_tag, output_iterator_tag),
	__unique_copy(_InputIterator, _InputIterator, _ForwardIterator,
	_BinaryPredicate, input_iterator_tag, forward_iterator_tag),
	unique(_ForwardIterator, _ForwardIterator, _BinaryPredicate),
	__partition(_BidirectionalIterator, _BidirectionalIterator, _Predicate,
	bidirectional_iterator_tag), binary_search(_ForwardIterator,
	_ForwardIterator, const _Tp&, _Compare),
	next_permutation(_BidirectionalIterator, _BidirectionalIterator,
	_Compare), prev_permutation(_BidirectionalIterator,
	_BidirectionalIterator, _Compare)): Likewise.

From-SVN: r123800
2007-04-13 22:22:56 +00:00
Paolo Carlini
4ecacafc9b re PR libstdc++/31554 (stable_partition assumes iterator difference type is always ptrdiff_t)
2007-04-13  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/31554
	* include/bits/stl_algo.h (stable_partition): Convert __buf.size()
	to _DistanceType.

From-SVN: r123783
2007-04-13 11:17:21 +00:00
Paolo Carlini
6725add54e numeric_traits.h: Do not include <limits>.
2007-04-13  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/numeric_traits.h: Do not include <limits>.
	(__numeric_traits_integer::__is_signed, __digits): Add.
	(__numeric_traits_floating::__digits10, __max_exponent10): Add.
	* src/istream.cc (ignore<char>(streamsize, int_type), operator>>
	(basic_istream<char>&, char*), ignore<wchar_t>(streamsize,
	int_type)): Use the latter.
	* src/compatibility.cc (ignore<char>(streamsize),
	ignore<wchar_t>(streamsize)): Likewise.
	* include/ext/vstring_util.h (__vstring_utility<>::_S_compare):
	Likewise.
	* include/bits/stl_memory.h (__get_temporary_buffer): Likewise.
	* include/bits/stl_algobase.h (lexicographical_compare(const char*,
	const char*, const char*, const char*)): Likewise.
	* include/bits/locale_facets.tcc (num_get<>::_M_extract_int(_InIter,
	_InIter, ios_base&, ios_base::iostate&, _ValueT&),
	num_put<>::_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT),
	num_put<>::_M_insert_float(_OutIter, ios_base&, _CharT, char,
	_ValueT), collate<>::do_hash(const _CharT*, const _CharT*)): Likewise.
	* include/bits/basic_string.h (basic_string<>::_S_compare): Likewise.
	* include/bits/istream.tcc (operator>>(short&), operator>>(int&),
	ignore(streamsize), ignore(streamsize, int_type), operator>>
	(basic_istream<>&, _CharT*)): Likewise.
	* include/bits/stl_bvector.h (vector<bool>::max_size): Likewise.
	* include/tr1/functional_hash.h (struct hash<long double>): Likewise.
	* include/std/istream: Do not include <limits>.
	* include/tr1/cmath: Include <limits>.
	* testsuite/23_containers/vector/bool/capacity/29134.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
	Likewise.
	* testsuite/27_io/ios_base/storage/2.cc: Likewise.

	* include/tr1/hashtable: Do not include the whole <iterator>.

From-SVN: r123779
2007-04-13 10:54:37 +00:00
Paolo Carlini
574e75f5fb istream (class basic_istream<>): Remove unneded friend declarations.
2007-04-11  Paolo Carlini  <pcarlini@suse.de>

	* include/std/istream (class basic_istream<>): Remove unneded friend
	declarations.

From-SVN: r123718
2007-04-11 15:58:15 +00:00
Paolo Carlini
90737ab777 locale_facets.tcc (num_get<>::do_get(iter_type, ios_base&, ios_base::iostate&, void*&)): Fix for sizeof(void*) > sizeof(unsigned long).
2007-04-11  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
	ios_base&, ios_base::iostate&, void*&)): Fix for sizeof(void*)
	> sizeof(unsigned long).

	* testsuite/22_locale/num_get/get/char/1.cc: Fix void* test.
	* testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.

	* testsuite/22_locale/num_put/put/char/1.cc: Tweak comment.
	* testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.

From-SVN: r123716
2007-04-11 15:19:15 +00:00
Zack Weinberg
c74620b05b iosfwd: Do not include <bits/c++locale.h> and <bits/functexcept.h>.
2007-04-11  Zack Weinberg  <zack@mrtock.ucsd.edu>

	* include/std/iosfwd: Do not include <bits/c++locale.h> and
	<bits/functexcept.h>.

From-SVN: r123713
2007-04-11 10:12:47 +00:00
Benjamin Kosnik
113008b54b cc_hash_max_collision_check_resize_trigger_imp.hpp: Qualify namespace std members.
2007-04-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pb_ds/detail/resize_policy/
	cc_hash_max_collision_check_resize_trigger_imp.hpp: Qualify
	namespace std members.	
	* include/ext/pb_ds/detail/list_update_policy/
	counter_lu_metadata.hpp: Same.
	* include/ext/throw_allocator.h: Same.
	* include/ext/pod_char_traits.h: Same.
	* include/ext/malloc_allocator.h: Same.
	* libsupc++/del_op.cc: Same, simplify.

	* include/bits/c++config: Adjust macro name.
	
	* include/c_global/cstring: Alphabetize.
	* include/c_global/cwctype: Same.

From-SVN: r123710
2007-04-11 01:11:56 +00:00
Paolo Carlini
d81db5b091 cmath: Include <bits/stl_algobase.h> instead of the whole <algorithm>.
2007-04-10  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/cmath: Include <bits/stl_algobase.h> instead of
	the whole <algorithm>.

From-SVN: r123696
2007-04-10 15:54:46 +00:00
Paolo Carlini
05beb8e720 type_traits (__is_function_helper): New, uses variadic templates.
2007-04-10  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (__is_function_helper): New, uses
	variadic templates.
	(is_function): Forward to the latter.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_function/is_function.cc: Add test.

From-SVN: r123695
2007-04-10 15:12:54 +00:00
Paolo Carlini
11202768fe PR libstdc++/28277 (partial: vstring bits)
2007-04-10  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28277 (partial: vstring bits)
	* include/bits/ostream_insert.h: New.
	* include/Makefile.am: Add.
	* include/ext/vstring.h (operator<<(basic_ostream<>&,
	const __versa_string<>&): Forward to __ostream_insert.
	* include/bits/basic_string.h (operator<<(basic_ostream<>&,
	const string<>&)): Likewise.
	* include/std/ostream (operator<<(basic_ostream<>&, _CharT),
	operator<<(basic_ostream<char,>&, char), operator<<(basic_ostream<>&,
	const _CharT*), operator<<(basic_ostream<char,>&, const char*)):
	Likewise.
	* include/ext/vstring.tcc (operator<<(basic_ostream<>&,
	const __versa_string<>&)): Remove.
	(class basic_ostream): Remove friend declarations.
	(basic_ostream<>::_M_write(char_type, streamsize),
	_M_insert(const char_type*, streamsize)): Remove.
	* include/bits/ostream.tcc (_M_insert(const char_type*, streamsize)):
	Remove definition.
	(operator<<(basic_ostream<>&, const char*)): Use __ostream_insert.
	* config/abi/pre/gnu.ver: Adjust.
	* src/ostream-inst.cc: Add __ostream_insert instantiations.
	* include/bits/locale_facets.h (__pad<>::_S_pad): Remove __num
	parameter.
	* include/bits/locale_facets.tcc (__pad<>::_S_pad): Adjust.
	(num_put<>::_M_pad(_CharT, streamsize, ios_base&, _CharT*,
	const _CharT*, int&)): Likewise.
	* include/Makefile.in: Rebuild.
	* testsuite/ext/vstring/inserters_extractors/char/28277.cc: New.
	* testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: New.

	* include/ext/vstring_util.h: Do not include the whole <locale>.
	* include/ext/vstring.tcc (operator>>(basic_istream<>&,
	__versa_string<>&, getline(basic_istream<>&, __versa_string<>&,
	_CharT)): Tweak to refer to ios_base as a base of istream; do not
	refer to non-standard types of istream.
	* include/bits/istream.tcc (operator>>(basic_istream<>&, _CharT*),
	ws(basic_istream<>&)): Do not refer to non-standard types of istream.
	* include/std/bitset (operator>>(std::basic_istream<>&, bitset<>&)):
	Avoid using basic_streambuf<>*.

	* include/bits/istream.tcc (operator>>(basic_istream<>&,
	basic_string<>&), getline(basic_istream<>&, basic_string<>&, _CharT)):
	Move...
	* include/bits/basic_string.tcc: ... here; tweak to refer to ios_base
	as a base of istream; do not refer to non-standard types of istream.
	* include/std/string: Tweak includes.

	* include/ext/type_traits.h (__is_null_pointer): Add.
	* include/ext/rc_string_base.h: Use it.
	* include/ext/sso_string_base.h: Likewise.
	* include/bits/basic_string.tcc (__is_null_pointer): Remove, use
	the above.
	* include/ext/vstring_util.h (__vstring_utility<>::_S_is_null_pointer):
	Remove.

From-SVN: r123692
2007-04-10 10:38:50 +00:00
Paolo Carlini
22931aa4a9 type_traits_fwd.h (__is_union_or_class): Remove.
2007-04-09  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits_fwd.h (__is_union_or_class): Remove.
	* include/tr1/type_traits (struct __in_array,
	struct __is_union_or_class, struct __is_union_or_class_helper,
	struct __is_empty_helper, struct __is_polymorphic_helper):
	Remove.
	(struct is_enum): Use __is_enum.
	(struct is_union): Use __is_union.
	(struct is_class): Use __is_class.
	(struct is_function): Adjust.
	(struct is_empty): Use __is_empty.
	(struct is_polymorphic): Use __is_polymorphic.
	(struct is_abstract): Use __is_abstract.
	(struct has_virtual_destructor): Use __has_virtual_destructor.
	(struct __is_base_of_helper): Use __is_base_of.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_union_or_class/typedefs.cc: Remove.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_union_or_class/is_union_or_class.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_class/typedefs.cc: New.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_class/is_class.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_union/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_union/is_union.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_virtual_destructor/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_virtual_destructor/has_virtual_destructor.cc: Likewise.
	* testsuite/util/testsuite_tr1.h (class VirtualDestructorClass): Add.
	* testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/
	is_polymorphic.cc: Add test.

From-SVN: r123675
2007-04-09 17:07:37 +00:00
Alexey Beshenov
ad1a64baff re PR libstdc++/31511 (/usr/include/c++/bits/cmath.tcc: no match for ternary 'operator?:' in '((__n % 2u) != 0u) ? __x : 1')
2007-04-08  Alexey Beshenov  <bav.272304@gmail.com>

	PR libstdc++/31511
	* include/c_global/cmath.tcc (__cmath_power): Use _Tp(1).
	* include/c_std/cmath.tcc (__cmath_power): Likewise.

From-SVN: r123665
2007-04-08 22:37:56 +00:00
Paolo Carlini
b3726dabf3 type_traits.h (__numeric_traits): Move...
2007-04-06  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/type_traits.h (__numeric_traits): Move...
	* include/ext/numeric_traits.h: ... here.
	* include/Makefile.am: Add.
	* include/ext/pb_ds/detail/type_utils.hpp: Include 
	<ext/numeric_traits.h> too.
	* include/tr1/random: Likewise.
	* testsuite/ext/type_traits/numeric_traits.cc: Move...
	* testsuite/ext/numeric_traits/numeric_traits.cc: ... here.
	* include/Makefile.in: Regenerate.

From-SVN: r123618
2007-04-06 14:52:27 +00:00
Paolo Carlini
34989df3a9 valarray_array.h (__valarray_default_construct(_Tp*, _Tp*)): Use __is_scalar instead of __is_pod.
2007-04-04  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/valarray_array.h (__valarray_default_construct(_Tp*,
	_Tp*)): Use __is_scalar instead of __is_pod.

From-SVN: r123502
2007-04-04 19:06:46 +00:00
Paolo Carlini
ff2ea58742 stl_algobase.h (__copy_aux(_II, _II, _OI), [...]): Use __is_pod.
2007-04-03  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algobase.h (__copy_aux(_II, _II, _OI),
	__copy_backward_aux(_BI1, _BI1, _BI2)): Use __is_pod.
	* include/bits/stl_deque.h (deque<>::_M_destroy_data(iterator,
	iterator, const std::allocator<>&)): Use __has_trivial_constructor.
	(deque<>::_M_destroy_data_dispatch): Remove.
	* include/bits/stl_uninitialized.h (uninitialized_copy(_InputIterator,
	_InputIterator, _ForwardIterator), uninitialized_fill(_ForwardIterator,
	_ForwardIterator, const _Tp&), uninitialized_fill_n(_ForwardIterator,
	_Size, const _Tp&)): Use __is_pod.
	* include/bits/stl_tempbuf.h (_Temporary_buffer::
	_Temporary_buffer(_ForwardIterator, _ForwardIterator)): Use __is_pod.
	(_Temporary_buffer::_M_initialize_buffer): Remove.
	* include/bits/stl_construct.h (_Destroy(_ForwardIterator,
	_ForwardIterator)): Use __has_trivial_destructor.
	(__destroy_aux): Remove.

From-SVN: r123480
2007-04-03 18:44:01 +00:00
Paolo Carlini
eb9af792f2 stl_map.h (map<>::insert(iterator, const value_type&): Uglify parameter.
2007-04-03  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_map.h (map<>::insert(iterator, const value_type&):
	Uglify parameter.

From-SVN: r123453
2007-04-03 08:50:09 +00:00
Paolo Carlini
f7e5257713 re PR libstdc++/31440 (libstdc++-g++-v3 discarded qualifiers)
2007-04-03  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/31440
	* include/bits/stl_tree.h (_M_lower_bound(_Link_type, _Link_type,
	const _Key&), _M_upper_bound(_Link_type, _Link_type, const _Key&)):
	Add.
	(_M_equal_range(const _Key&) const): Remove.
	(lower_bound(const key_type&), lower_bound(const key_type&) const,
	upper_bound(const key_type&), upper_bound(const key_type&) const,
	equal_range(const key_type&), equal_range(const key_type&) const):
	Adjust.
	(find(const _Key&), find(const _Key&) const): Tweak.
	* testsuite/23_containers/map/operations/31440.cc: New.

From-SVN: r123452
2007-04-03 08:32:31 +00:00
Matthew Levine
be1088fa6a re PR libstdc++/31370 (resizing bugs in std::vector<bool>)
2007-04-02  Matthew Levine  <gcc@severeweblint.org>
	    Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/31370
	* include/bits/stl_bvector.h (vector<bool>::max_size): Fix.
	(vector<bool>::_M_check_len): Add.
	* include/bits/vector.tcc (_M_fill_insert(iterator, size_type, bool),
	_M_insert_range(iterator, _ForwardIterator, _ForwardIterator,
	std::forward_iterator_tag), _M_insert_aux(iterator, bool)): Use it.
	* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: New.
	* testsuite/23_containers/vector/bool/capacity/29134.cc: Adjust.

	* include/bits/stl_vector.h (vector<>::_M_check_len): Add.
	* include/bits/vector.tcc (_M_insert_aux(iterator, const _Tp&),
	_M_fill_insert(iterator, size_type, const value_type&),
	_M_range_insert(iterator, _ForwardIterator, _ForwardIterator,
	std::forward_iterator_tag)): Use it.

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

From-SVN: r123424
2007-04-02 10:15:50 +00:00
Paolo Carlini
3d919c620f PR libstdc++/31401 (vstring bits)
2007-04-02  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/31401 (vstring bits)
	* include/ext/vstring.tcc (find(const _CharT*, size_type,
	size_type)): Avoid unsigned overflow.

From-SVN: r123422
2007-04-02 10:08:50 +00:00
Paolo Carlini
5b3f6d1a46 locale_facets.tcc (num_put<>::do_put(iter_type, ios_base&, char_type, const void*)): Fix for sizeof(const void*) > sizeof(unsigned long).
2007-04-02  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
	ios_base&, char_type, const void*)): Fix for sizeof(const void*)
	> sizeof(unsigned long).

From-SVN: r123421
2007-04-02 09:49:31 +00:00
Andreas Tobler
df848e82e3 poly_laguerre.tcc: Missing s/__alpha/__alpha1, line 278.
2007-04-01  Andreas Tobler  <a.tobler@schweiz.org>

	* include/tr1/poly_laguerre.tcc: Missing s/__alpha/__alpha1, line 278.

From-SVN: r123410
2007-04-01 23:03:42 +02:00
Richard Henderson
f070285a7b poly_laguerre.tcc: s/__alpha/__alpha1/g.
* include/tr1/poly_laguerre.tcc: s/__alpha/__alpha1/g.
        * include/tr1/ell_integral.tcc: Likewise.

From-SVN: r123407
2007-04-01 11:28:16 -07:00
Paolo Carlini
232c492526 stl_bvector.h (_M_fill_insert(iterator, size_type, bool), [...]): Move out of line...
2007-03-31  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_bvector.h (_M_fill_insert(iterator, size_type,
	bool), _M_insert_range(iterator, _ForwardIterator, _ForwardIterator,
	std::forward_iterator_tag), _M_insert_aux(iterator, bool)): Move
	out of line...
	* include/bits/vector.tcc: ... here.

From-SVN: r123389
2007-03-31 19:48:41 +00:00
Paolo Carlini
cb68ec5005 re PR c++/26099 (support for type traits is not available)
gcc/
2007-03-30  Paolo Carlini  <pcarlini@suse.de>

	PR c++/26099
	* c-common.h (enum rid): Add RID_HAS_NOTHROW_ASSIGN,
	RID_HAS_NOTHROW_CONSTRUCTOR, RID_HAS_NOTHROW_COPY,
	RID_HAS_TRIVIAL_ASSIGN, RID_HAS_TRIVIAL_CONSTRUCTOR,
	RID_HAS_TRIVIAL_COPY, RID_HAS_TRIVIAL_DESTRUCTOR,
	RID_HAS_VIRTUAL_DESTRUCTOR, RID_IS_ABSTRACT, RID_IS_BASE_OF,
	RID_IS_CONVERTIBLE_TO, RID_IS_CLASS, RID_IS_EMPTY, RID_IS_ENUM,
	RID_IS_POD, RID_IS_POLYMORPHIC, RID_IS_UNION, as
	C++ extensions.
	* doc/extend.texi (Extensions to the C++ Language): Add Type Traits.

gcc/cp/
2007-03-30  Paolo Carlini  <pcarlini@suse.de>

	PR c++/26099
	* cp-tree.h (enum cp_trait_kind, struct tree_trait_expr,
	TRAIT_EXPR_TYPE1, TRAIT_EXPR_TYPE2, TRAIT_EXPR_KIND): Add.
	(enum cp_tree_node_structure_enum, union lang_tree_node): Update.
	(CLASS_TYPE_NON_UNION_P): Add.
	(struct lang_type_class): Add has_complex_dflt.
	(TYPE_HAS_COMPLEX_DFLT, TYPE_HAS_TRIVIAL_DFLT): Add.
	(locate_copy, locate_ctor, locate_dtor, finish_trait_expr): Declare.
	* cp-tree.def: Add TRAIT_EXPR.
	* cp-objcp-common.c (cp_tree_size): Add TRAIT_EXPR case.
	* lex.c (struct resword): Add __has_nothrow_assign,
	__has_nothrow_constructor, __has_nothrow_copy, __has_trivial_assign,
	__has_trivial_constructor, __has_trivial_copy,
	__has_trivial_destructor, __has_virtual_destructor, __is_abstract,
	__is_base_of, __is_class, __is_convertible_to, __is_empty, __is_enum,
	__is_pod, __is_polymorphic, __is_union.
	* parser.c (cp_parser_primary_expression): Deal with the new RIDs.
	(cp_parser_trait_expr): New.
	* semantics.c (finish_trait_expr, trait_expr_value
	classtype_has_nothrow_copy_or_assign_p): New.
	* method.c (locate_copy, locate_ctor, locate_dtor): Do not define
	as static.
	* decl.c (cp_tree_node_structure): Add TRAIT_EXPR.
	* class.c (check_bases, check_field_decl, check_bases_and_members):
	Deal with TYPE_HAS_COMPLEX_DFLT (t) too.
	* pt.c (uses_template_parms, tsubst_copy_and_build,
	value_dependent_expression_p, type_dependent_expression_p): Deal with
	TRAIT_EXPR.
	* tree.c (cp_walk_subtrees): Deal with TRAIT_EXPR.

gcc/testsuite/
2007-03-30  Paolo Carlini  <pcarlini@suse.de>

	PR c++/26099
	* g++.dg/ext/is_base_of.C: New.
	* g++.dg/ext/has_virtual_destructor.C: New.
	* g++.dg/ext/is_polymorphic.C: New.
	* g++.dg/ext/is_base_of_diagnostic.C: New.
	* g++.dg/ext/is_enum.C: New.
	* g++.dg/ext/has_nothrow_assign.C: New.
	* g++.dg/ext/has_nothrow_constructor.C: New.
	* g++.dg/ext/is_empty.C: New.
	* g++.dg/ext/has_trivial_copy.C: New.
	* g++.dg/ext/has_trivial_assign.C: New.
	* g++.dg/ext/is_abstract.C: New.
	* g++.dg/ext/is_pod.C: New.
	* g++.dg/ext/has_nothrow_copy.C: New.
	* g++.dg/ext/is_class.C: New.
	* g++.dg/ext/has_trivial_constructor.C: New.
	* g++.dg/ext/is_union.C: New.
	* g++.dg/ext/has_trivial_destructor.C: New.
	* g++.dg/tree-ssa/pr22444.C: Adjust, avoid __is_pod.
	* g++.dg/template/crash43.C: Likewise.

libstdc++-v3/
2007-03-30  Paolo Carlini  <pcarlini@suse.de>

	PR c++/26099
	* include/bits/cpp_type_traits.h (struct __is_pod, struct __is_empty):
	Remove.
	* include/bits/valarray_array.h: Adjust.
	* include/bits/allocator.h: Likewise.
	* include/bits/stl_tree.h: Likewise.

From-SVN: r123366
2007-03-30 19:45:57 +00:00
Paolo Carlini
1c917b030e re PR libstdc++/31401 (string find behaves strange when searching from npos)
2007-03-30  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/31401
	* include/bits/basic_string.tcc (find(const _CharT*, size_type,
	size_type)): Avoid unsigned overflow.
	* testsuite/21_strings/basic_string/find/char/4.cc: New.
	* testsuite/21_strings/basic_string/find/wchar_t/4.cc: Likewise.

From-SVN: r123361
2007-03-30 17:10:50 +00:00
Paolo Carlini
7558d8101e fstream.tcc (basic_filebuf<>::underflow): Don't call codecvt::in at all if _M_ext_next >= _M_ext_end.
2007-03-27  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/fstream.tcc (basic_filebuf<>::underflow):
	Don't call codecvt::in at all if _M_ext_next >= _M_ext_end.
	* testsuite/27_io/basic_filebuf/underflow/char/3.cc: New.

From-SVN: r123260
2007-03-27 15:51:41 +00:00
Benjamin Kosnik
5ad2f32df6 complex.h: Without __GXX_EXPERIMENTAL_CXX0X__ include_next complex.h.
2007-03-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_compatibility/complex.h: Without
	__GXX_EXPERIMENTAL_CXX0X__ include_next complex.h.	
	* include/c_compatibility/fenv.h: Same.
	* include/c_compatibility/inttypes.h: Same.
	* include/c_compatibility/stdbool.h: Same.
	* include/c_compatibility/stdint.h: Same.
	* include/c_compatibility/tgmath.h: Same.

	* include/tr1/cinttypes: Use include_next.
	* include/tr1/cstdint: Same.
	* include/tr1/cstdbool: Same.

	* acinclude.m4 (GLIBCXX_ENABLE_C99): Add check for tgmath.h
	* configure: Regenerate.
	* config.h.in: Same.

From-SVN: r123214
2007-03-26 10:41:41 +00:00
Paolo Carlini
cdbd119b94 functional: Formatting fixes.
2007-03-25  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/functional: Formatting fixes.

From-SVN: r123199
2007-03-25 16:29:15 +00:00
Benjamin Kosnik
803f183a94 functions_std.cc: Without C99 support, _GLIBCXX_USE_WCHAR_T not defined, so dg-require-c-std.
2007-03-22  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/21_strings/headers/cstdlib/functions_std.cc: Without
	C99 support, _GLIBCXX_USE_WCHAR_T not defined, so
	dg-require-c-std.
	* testsuite/tr1/6_containers/headers/functional/synopsis.cc: Same.
	* testsuite/27_io/headers/iostream/synopsis.cc: Same.
	* testsuite/27_io/headers/streambuf/types_std.cc: Same.
	* testsuite/27_io/headers/sstream/types_std.cc: Same.
	* testsuite/27_io/headers/ostream/types_std.cc: Same.
	* testsuite/27_io/headers/istream/types_std.cc: Same.
	* testsuite/27_io/headers/iostream/types_std.cc: Same.
	* testsuite/27_io/headers/fstream/types_std.cc: Same.
	* testsuite/21_strings/headers/string/types_std.cc: Same.
	* testsuite/21_strings/headers/cwctype/functions_std.cc: Same.
	* testsuite/21_strings/headers/cwctype/types_std.cc: Same.
	* testsuite/21_strings/headers/cwchar/functions_std.cc: Same.
	* testsuite/21_strings/headers/cwchar/types_std.cc: Same.
	
	* include/Makefile.am (c_compatibility_headers): Add fenv.h.
	* include/Makefile.in: Regenerate.
	* configure.host: Update comment.

From-SVN: r123130
2007-03-22 16:43:41 +00:00
Paolo Carlini
b5e5ca5fd3 tuple (get(_Tuple_impl<>&, get(const _Tuple_impl<>&): Rename as __get_helper.
2007-03-19  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/tuple (get(_Tuple_impl<>&, get(const _Tuple_impl<>&):
	Rename as __get_helper.
	(get(tuple<>&, get(const tuple<>&)): Forward to the latter.

From-SVN: r123063
2007-03-19 16:58:54 +00:00
Benjamin Kosnik
7c62b943ba [multiple changes]
2007-03-16  Benjamin Kosnik  <bkoz@redhat.com>
	
	* testsuite/lib/dg-options.exp (dg-require-c-std): New.
	* testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to
	see if _GLIBCXX_USE_C99_MATH is active. 
	* testsuite/tr1/5_numerical_facilities/special_functions/
	08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	17_hyperg/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	13_ellint_2/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	20_riemann_zeta/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	01_assoc_laguerre/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	02_assoc_legendre/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	22_sph_legendre/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	10_cyl_bessel_k/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	09_cyl_bessel_j/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	21_sph_bessel/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	07_conf_hyperg/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	16_hermite/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	12_ellint_1/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	05_comp_ellint_2/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	18_laguerre/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	14_ellint_3/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	04_comp_ellint_1/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	06_comp_ellint_3/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	19_legendre/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	03_beta/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	11_cyl_neumann/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	15_expint/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	23_sph_neumann/check_nan.cc: Same.

	* include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if
	unsigned int can be a NaN.

2007-03-16  Edward M. Smith-Rowland  <3dw4rd@verizon.net>

	* docs/html/ext/tr1.html : Marked tr1 math special functions done.
	* docs/html/faq/index.html : Ditto.
	* include/Makefile.in : Added new special function header files.
	* include/Makefile.am : Ditto.	
	* include/tr1/common.h : Added type promotion routines for three
	and four args.

	* include/tr1/special_function_util.h: New.
	* include/tr1/bessel_function.tcc: New.
	* include/tr1/beta_function.tcc: New.
	* include/tr1/ell_integral.tcc: New.
	* include/tr1/exp_integral.tcc: New.
	* include/tr1/gamma.tcc: New.
	* include/tr1/hypergeometric.tcc: New.
	* include/tr1/legendre_function.tcc: New.
	* include/tr1/modified_bessel_func.tcc: New.
	* include/tr1/poly_hermite.tcc: New.
	* include/tr1/poly_laguerre.tcc: New.
	* include/tr1/riemann_zeta.tcc: New.
	* include/tr1/cmath : Included tr1 math special functions.
	* include/tr1/math.h : Ditto.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	testcase.h: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	01_assoc_laguerre/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	01_assoc_laguerre/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	01_assoc_laguerre/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	01_assoc_laguerre/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	02_assoc_legendre/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	02_assoc_legendre/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	02_assoc_legendre/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	02_assoc_legendre/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/03_beta/
	compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/03_beta/
	check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/03_beta/
	check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/03_beta/
	compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	04_comp_ellint_1/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	04_comp_ellint_1/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	04_comp_ellint_1/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	04_comp_ellint_1/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	05_comp_ellint_2/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	05_comp_ellint_2/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	05_comp_ellint_2/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	05_comp_ellint_2/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	06_comp_ellint_3/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	06_comp_ellint_3/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	06_comp_ellint_3/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	06_comp_ellint_3/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	07_conf_hyperg/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	07_conf_hyperg/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	07_conf_hyperg/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	07_conf_hyperg/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	08_cyl_bessel_i/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	08_cyl_bessel_i/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	08_cyl_bessel_i/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	08_cyl_bessel_i/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	09_cyl_bessel_j/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	09_cyl_bessel_j/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	09_cyl_bessel_j/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	09_cyl_bessel_j/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	10_cyl_bessel_k/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	10_cyl_bessel_k/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	10_cyl_bessel_k/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	10_cyl_bessel_k/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	11_cyl_neumann/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	11_cyl_neumann/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	11_cyl_neumann/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	11_cyl_neumann/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/
	compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/
	check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/
	check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/
	compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/
	compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/
	check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/
	check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/
	compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/
	compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/
	check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/
	check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/
	compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/15_expint/
	check_value_neg.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/15_expint/
	compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/15_expint/
	check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/15_expint/
	compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/15_expint/
	check_value_pos.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
	compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
	check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
	compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/
	compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/
	check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/
	check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/
	compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/
	compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/
	check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/
	check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/
	compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/
	compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/
	check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/
	check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/
	compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	20_riemann_zeta/check_value_neg.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	20_riemann_zeta/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	20_riemann_zeta/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	20_riemann_zeta/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	20_riemann_zeta/check_value_pos.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	21_sph_bessel/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	21_sph_bessel/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	21_sph_bessel/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	21_sph_bessel/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	22_sph_legendre/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	22_sph_legendre/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	22_sph_legendre/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	22_sph_legendre/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	23_sph_neumann/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	23_sph_neumann/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	23_sph_neumann/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	23_sph_neumann/ compile_2.cc: New.

From-SVN: r122986
2007-03-16 10:35:16 +00:00
Paolo Carlini
d265b0b1c2 tuple: Only include <utility> for std::pair, and forward declare reference_wrapper...
2007-03-13  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/tuple: Only include <utility> for std::pair, and
	forward declare reference_wrapper; formatting fixes.
	* include/tr1/ref_fwd.h: Remove.
	* include/tr1/tuple_defs.h: Remove, unused.
	* include/Makefile.am: Update.
	* include/Makefile.in: Regenerate.
	* testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
	Include <tr1/functional> too.

	* include/tr1/tuple: Define tuple_size<tuple<_Elements...> >::value.

From-SVN: r122883
2007-03-13 20:02:59 +00:00
Stephen M. Webb
a21856f76b regex: Add "boilerplate" implementations.
2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>

	* include/tr1/regex: Add "boilerplate" implementations.
	* testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
	translate_nocase.cc: New.
	* testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
	ctor.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex_traits/char/
	translate_nocase.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex_traits/char/
	ctor.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex/cons/char/
	c_string_ecma.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex/cons/char/
	default.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex/cons/char/
	c_string_grep.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex/cons/char/
	c_string_extended.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex/cons/char/
	c_string_basic.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex/cons/char/
	c_string_awk.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex/cons/char/
	c_string_egrep.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
	range.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
	string_op.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
	string.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
	pstring.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
	cstring_op.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
	cstring.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
	range.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
	string_op.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
	string.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
	pstring.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
	cstring_op.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
	cstring.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
	range.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
	default.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
	string.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
	pstring.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
	cstring.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
	range.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
	default.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
	string.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
	pstring.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
	cstring.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/match_results/ctors/char/
	default.cc: Likewise.

From-SVN: r122867
2007-03-12 21:57:51 +00:00
Paolo Carlini
91b0b94a04 stl_algo.h (swap_ranges): Move...
2007-03-12  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algo.h (swap_ranges): Move...
	* include/bits/stl_algobase.h: ... here.
	* include/tr1/array: Trim includes, stl_algobase.h is enough.

From-SVN: r122840
2007-03-12 13:59:50 +00:00
Paolo Carlini
bd91a8c4ed PR libstdc++/28080 (final)
2007-03-11  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (final)
	* include/std/iosfwd: Do not include <bits/c++io.h>.
	* config/io/basic_file_stdio.h: Do it here.
	* include/ext/stdio_sync_filebuf.h: Likewise.
	* include/ext/rope: Include <bits/gthr.h> unconditionally.
	* include/std/fstream: Do not include <bits/gthr.h>.
	
	* include/std/ios: Do not include <cstdio>.
	* include/bits/ios_base.h: Do it here.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error
	line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.

From-SVN: r122818
2007-03-11 12:03:34 +00:00
Paolo Carlini
b2c50382fb PR libstdc++/28080 (partial)
2007-03-10  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/std/memory: Move C++03 implementation...
	* include/bits/stl_memory.h: ... here, new.
	* include/Makefile.am: Add.
	* include/bits/stl_tempbuf.h: Include the latter instead.
	* include/tr1/hashtable: Include allocator.h instead of
	the whole <memory>.
	* include/tr1/hashtable_policy.h: Include stl_function.h
	instead of <functional>.
	* include/Makefile.in: Regenerate.
	* testsuite/20_util/auto_ptr/assign_neg.cc: Adjust dg-error
	line numbers.

From-SVN: r122805
2007-03-10 20:29:45 +00:00
Douglas Gregor
9eeea7612d Makefile.in: Regenerate.
2007-03-09  Douglas Gregor  <doug.gregor@gmail.com>

	* include/Makefile.in: Regenerate.
	* include/tr1/mu_iterate.h: Remove.
	* include/tr1/tuple (_Tuple_impl): New.
	(tuple): Make variadic, re-implement as shell over _Tuple_impl.
	(0-element tuple): Basis case.
	(2-element tuple): Handle pair methods.
	(__get_helper): Remove.
	(tuple_element): Reimplement with variadic templates.
	(tuple_size): Ditto.
	(get): Ditto.
	(operator==): Use variadic templates in the signature.
	(operator<): Ditto.
	(operator!=): Ditto.
	(operator>): Ditto.
	(operator<=): Ditto.
	(operator>=): Ditto.
	(__stripped_tuple_type): Remove; we've inlined its behavior.
	(make_tuple): Reimplement with variadic templates.
	(tie): Ditto.
	* include/tr1/tuple_iterate.h: Remove.
	* include/tr1/bind_repeat.h: Remove.
	* include/tr1/ref_wrap_iterate.h: Remove.
	* include/tr1/bind_iterate.h: Remove.
	* include/tr1/functional (_Weak_result_type): Add variadic
	partial specializations.
	(result_of): Ditto.
	(__invoke): Reimplement using variadic templates.
	(reference_wrapper): Reimplement operator() with variadic
	templates.
	(_Maybe_unary_or_binary_function): New.
	(_Mem_fn): Implement for member function pointers using variadic
	templates.
	(placeholders): Define 30 placeholders.
	(_Index_tuple): New.
	(_Build_index_tuple): New.
	(_No_tuple_element): New.
	(_Safe_tuple_element_impl): New.
	(_Safe_tuple_element): New.
	(_Mu): Reimplement with variadic templates, use
	_Safe_tuple_element instead of tuple_element.
	(_Bind): Reimplement with variadic templates and tuples.
	(_Bind_result): Ditto.
	(bind): Reimplement with variadic templates.
	(_Function_handler): Ditto.
	(function): Ditto.
	* include/tr1/functional_iterate.h: Remove.
	* include/tr1/repeat.h: Remove.
	* include/Makefile.am: Don't install removed headers.

From-SVN: r122790
2007-03-10 02:04:13 +00:00
Paolo Carlini
4ba851b58b PR libstdc++/28080 (partial)
2007-03-06  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/bits/stl_algobase.h: Do not include <cstdlib>.
	* src/localename.cc: Do it here.
	* src/ctype.cc: Likewise.
	* include/ext/pb_ds/detail/map_debug_base.hpp: Likewise.
	* include/ext/pb_ds/exception.hpp: Likewise.
	* include/ext/pb_ds/list_update_policy.hpp: Likewise.
	* include/bits/stl_algo.h: Likewise.
	* include/tr1/random: Likewise.
	* testsuite/util/testsuite_hooks.cc: Likewise.
	* testsuite/util/testsuite_abi_check.cc: Likewise.
	* testsuite/util/testsuite_abi.cc: Likewise.
	* testsuite/util/performance/assoc/timing/
	tree_order_statistics_test.hpp: Likewise.
	* config/locale/darwin/ctype_members.cc: Likewise.
	* config/locale/gnu/c++locale_internal.h: Likewise.
	* config/locale/generic/ctype_members.cc: Likewise.
	* config/locale/generic/time_members.cc: Likewise.

	* include/ext/pb_ds/detail/resize_policy/
	hash_load_check_resize_trigger_imp.hpp: Qualify abort.
	* testsuite/util/performance/assoc/timing/
	multimap_find_test.hpp: Likewise.
	* include/std/valarray: Do include <cstdlib>.
	* include/tr1/hashtable: Likewise.

From-SVN: r122628
2007-03-06 17:43:27 +00:00
Benjamin Kosnik
af13a7a6ec acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Add c_global.
2007-03-04  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Add c_global.
	* configure.host (c_model): Set default to c_global.
	* configure: Regenerate.
	* include/Makefile.am (c_compatibility_headers_extra): Make
	conditional on GLIBCXX_C_HEADERS_COMPATIBILITY.
	(c_base_headers_extra): Make conditional on GLIBCXX_C_HEADERS_EXTRA.
	(c_compatibility_headers): Make conditional on c/c_std/c_global.
	* include/Makefile.in: Regenerate.
	* docs/html/configopts.html: Add c_global information to
	--enable-cheaders. Eventually, "c_std" should mean "C" includes
	that are in namespace std, with optional C++ "C" compatibility
	includes to inject into global scope. And "c_global" should mean
	"C" includes that are in the global namespace, with C++ includes
	injecting into namespace std and no C++ "C" compatibility
	includes.
 
2007-03-04  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Add _GLIBCXX_NAMEPACE_C.
	Add _GLIBCXX_NAMESPACE_ASSOCIATION_CXX200x.
	Add _GLIBCXX_TR1 as namespace macro.
	Add namespace associations for std::__cxx200x conditionally.

	* include/c_compatibility/assert.h: Correct doxygen markup,
	conditionalize the global injections on _GLIBCXX_NAMESPACE_C.
	* include/c_compatibility/ctype.h: Same.
	* include/c_compatibility/errno.h: Same.
	* include/c_compatibility/float.h: Same.
	* include/c_compatibility/iso646.h: Same.
	* include/c_compatibility/limits.h: Same.
	* include/c_compatibility/locale.h: Same.
	* include/c_compatibility/math.h: Same.
	* include/c_compatibility/setjmp.h: Same.
	* include/c_compatibility/signal.h: Same.
	* include/c_compatibility/stdarg.h: Same.
	* include/c_compatibility/stddef.h: Same.
	* include/c_compatibility/stdio.h: Same.
	* include/c_compatibility/stdlib.h: Same.
	* include/c_compatibility/string.h: Same.
	* include/c_compatibility/time.h: Same.
	* include/c_compatibility/wchar.h: Same.
	* include/c_compatibility/wctype.h: Same.

	* include/c_compatibility/complex.h: Add.
	* include/c_compatibility/fenv.h: Same.
	* include/c_compatibility/inttypes.h: Same.
	* include/c_compatibility/stdbool.h: Same.
	* include/c_compatibility/stdint.h: Same.
	* include/c_compatibility/tgmath.h: Same.

	* include/c_global/cassert: Add, use include_next, use C++0x features
	if -std=c++0x.
	* include/c_global/cctype: Same.
	* include/c_global/cerrno: Same.
	* include/c_global/cfloat: Same.
	* include/c_global/ciso646: Same.
	* include/c_global/climits: Same.
	* include/c_global/clocale: Same.
	* include/c_global/cmath: Same.
	* include/c_global/cmath.tcc: Same.
	* include/c_global/csetjmp: Same.
	* include/c_global/csignal: Same.
	* include/c_global/cstdarg: Same.
	* include/c_global/cstddef: Same.
	* include/c_global/cstdio: Same.
	* include/c_global/cstdlib: Same.
	* include/c_global/cstring: Same.
	* include/c_global/ctime: Same.
	* include/c_global/cwchar: Same.
	* include/c_global/cwctype: Same.

	* include/c_global/ccomplex: Add.
	* include/c_global/cfenv: Add.
	* include/c_global/cinttypes: Add. 
	* include/c_global/cstdbool: Add.
	* include/c_global/cstdint: Add.
	* include/c_global/ctgmath: Add.

	* include/std/algorithm: Use C++0x features if -std=c++0x.	
	* include/std/bitset: Same.
	* include/std/complex: Same.
	* include/std/deque: Same.
	* include/std/fstream: Same.
	* include/std/functional: Same.
	* include/std/iomanip: Same.
	* include/std/ios: Same.
	* include/std/iosfwd: Same.
	* include/std/iostream: Same.
	* include/std/istream: Same.
	* include/std/iterator: Same.
	* include/std/limits: Same.
	* include/std/list: Same.
	* include/std/locale: Same.
	* include/std/map: Same.
	* include/std/memory: Same.
	* include/std/numeric: Same.
	* include/std/ostream: Same.
	* include/std/queue: Same.
	* include/std/set: Same.
	* include/std/sstream: Same.
	* include/std/stack: Same.
	* include/std/stdexcept: Same.
	* include/std/streambuf: Same.
	* include/std/string: Same.
	* include/std/utility: Same.
	* include/std/valarray: Same.
	* include/std/vector: Same.

	* include/std/array: Add.
	* include/std/random: Add.
	* include/std/regex: Add.
	* include/std/tuple: Add.
	* include/std/type_traits: Add.
	* include/std/unordered_map: Add.
	* include/std/unordered_set: Add.
	* include/std/c++0x_warning.h: Add.
	
	* include/tr1/array: Switch namespaces based on _GLIBCXX_TR1.
	* include/tr1/boost_shared_ptr.h: Same.
	* include/tr1/cctype: Same.
	* include/tr1/cfenv: Same.
	* include/tr1/cinttypes: Same.
	* include/tr1/cmath: Same.
	* include/tr1/common.h: Same.
	* include/tr1/complex: Same.
	* include/tr1/cstdint: Same.
	* include/tr1/cstdio: Same.
	* include/tr1/cstdlib: Same.
	* include/tr1/cwchar: Same.
	* include/tr1/cwctype: Same.
	* include/tr1/functional: Same.
	* include/tr1/functional_hash.h: Same.
	* include/tr1/functional_iterate.h: Same.
	* include/tr1/hashtable: Same.
	* include/tr1/hashtable_policy.h: Same.
	* include/tr1/math.h: Same.
	* include/tr1/memory: Same.
	* include/tr1/random: Same.
	* include/tr1/random.tcc: Same.
	* include/tr1/ref_fwd.h: Same.
	* include/tr1/repeat.h: Same.
	* include/tr1/stdlib.h: Same.
	* include/tr1/tuple: Same.
	* include/tr1/tuple_iterate.h: Same.
	* include/tr1/type_traits: Same.
	* include/tr1/type_traits_fwd.h: Same.
	* include/tr1/unordered_map: Same.
	* include/tr1/unordered_set: Same.
	* include/tr1/utility: Same.

	* include/tr1/ccomplex: Add.
	* include/tr1/complex.h: Add.
	* include/tr1/regex: Add.

	* include/Makefile.am: Add C++0x headers, "C" compatibility headers.
	* include/Makefile.in: Regenerate.

	* testsuite/tr1/headers.cc: Add in regex/complex.

	* testsuite/17_intro/headers/c++200x/all.cc: New.
	* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Same.
	* testsuite/17_intro/using_namespace_std_tr1_neg.cc: Same.
	* testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc: Same.
	* testsuite/18_support/headers/cstdint/std_c++0x_neg.cc: Same.
	* testsuite/18_support/headers/cstdint/types_std_c++0x.cc: Same.
	* testsuite/20_util/enable_shared_from_this/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/headers/functional/types_std_c++0x.cc: Same.
	* testsuite/20_util/headers/functional/
	using_namespace_std_placeholders.cc: Same.
	* testsuite/20_util/headers/memory/types_std_c++0x.cc: Same.
	* testsuite/20_util/headers/type_traits/std_c++0x_neg.cc: Same.
	* testsuite/20_util/headers/type_traits/types_std_c++0x.cc: Same.
	* testsuite/20_util/shared_ptr/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/weak_ptr/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/array/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/hash/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/headers/array/std_c++0x_neg.cc: Same.
	* testsuite/23_containers/headers/tuple/std_c++0x_neg.cc: Same.
	* testsuite/23_containers/headers/tuple/types_std_c++0x.cc: Same.
	* testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc: Same.
	* testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc: Same.
	* testsuite/23_containers/tuple/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc: Same.
	* testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc: Same.
	* testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc: Same.
	* testsuite/26_numerics/headers/cmath/types_std_c++0x.cc: Same.
	* testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Same.
	* testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc: Same.
	* testsuite/26_numerics/headers/random/std_c++0x_neg.cc: Same.
	* testsuite/26_numerics/headers/random/types_std_c++0x.cc: Same.
	* testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc: Same.
	* testsuite/27_io/headers/cinttypes/types_std_c++0x.cc: Same.
	* testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Same.

	* testsuite/tr1/8_c_compatibility/cfenv/types.cc: Rename ...
	* testsuite/tr1/8_c_compatibility/cinttypes/types.cc: Same.
	* testsuite/tr1/8_c_compatibility/cmath/types.cc: Same.
	* testsuite/tr1/8_c_compatibility/cstdint/types.cc: Same.
	* testsuite/tr1/8_c_compatibility/cstdlib/types.cc: Same.
	* testsuite/tr1/8_c_compatibility/cfenv/types_std_tr1.cc: ...to this.
	* testsuite/tr1/8_c_compatibility/cinttypes/types_std_tr1.cc: Same.
	* testsuite/tr1/8_c_compatibility/cmath/types_std_tr1.cc: Same.
	* testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc: Same.
	* testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Same.

From-SVN: r122533
2007-03-04 22:59:49 +00:00
Paolo Carlini
f12409e6ec re PR libstdc++/31031 (ostream ambiguous operator&&)
2007-03-03  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/31031
	* include/bits/istream.tcc: Inhibit implicit instantiation of
	the _M_insert helpers.
	* include/bits/ostream.tcc: Likewise for _M_extract.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/
	31031.cc: New.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
	31031.cc: Likewise.

From-SVN: r122513
2007-03-03 19:36:20 +00:00
Benjamin Kosnik
4e09692de3 functions.h: Use cstddef.
2007-03-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/debug/functions.h: Use cstddef.
	
	* testsuite/tr1/3_function_objects/headers/functional/
	using_namespace_std_tr1_placeholders.cc: Fix include.

From-SVN: r122506
2007-03-03 16:06:59 +00:00
Paolo Carlini
39b8cd70c2 PR libstdc++/28080 (partial)
2007-03-03  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/bits/stl_algobase.h: Do not include <iosfwd>,
	<bits/functexcept.h> is enough; adjust __copy_aux declarations;
	remove declaration of copy overload for istreambuf_iterator /
	ostreambuf_iterator.
	* src/debug.cc: Include <cstdio>.
	* include/ext/rope: Include <iosfwd>.
	* include/bits/char_traits.h: Include <cstdio> and <cwchar>.
	* include/bits/stl_algo.h: Remove declaration of find overload
	for istreambuf_iterator.
	* include/std/queue: Clean up includes.
	* include/std/stack: Likewise.
	* include/std/memory: Likewise.
	* include/std/algorithm: Likewise.
	* include/std/vector: Likewise.
	* include/std/deque: Likewise.
	* include/std/list: Likewise.
	* include/bits/stl_tree.h: Likewise.
	* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Adjust
	dg-error markers.
	* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Likewise.
	* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
	* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
	* testsuite/23_containers/set/operators/1_neg.cc: Likewise.
	* testsuite/23_containers/map/operators/1_neg.cc: Likewise.
	* testsuite/20_util/auto_ptr/assign_neg.cc: Likewise.

	* include/ext/type_traits.h: Fix type of __max_digits10; clean up
	includes.

	* testsuite/util/testsuite_hooks.h: Do not include <cstddef>.
	* testsuite/util/testsuite_hooks.cc: Do it here.

From-SVN: r122502
2007-03-03 10:29:14 +00:00
Paolo Carlini
1769232d26 re PR libstdc++/28080 (header dependencies)
2007-03-02  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/thread/pthread1.cc: Include <pthread.h>.
	* testsuite/thread/pthread2.cc: Likewise.
	* testsuite/thread/pthread3.cc: Likewise.
	* testsuite/thread/pthread4.cc: Likewise.
	* testsuite/thread/pthread5.cc: Likewise.
	* testsuite/thread/pthread6.cc: Likewise.
	* testsuite/thread/pthread7-rope.cc: Likewise.

2007-03-02  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/tr1/random (class random_device): Rework to use simple
	<cstdio> input, do not include <fstream>.
	* include/tr1/random.tcc (all inserters and extractors): Refer
	to ios_base as base class of basic_istream or basic_ostream.

From-SVN: r122478
2007-03-02 16:21:30 +00:00
Paolo Carlini
96e7e5ad47 re PR libstdc++/31005 (build failure on powerpc-darwin while building codecvt.cc)
2007-03-01  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/31005
	* include/bits/localefwd.h: Include <cctype>.

From-SVN: r122424
2007-03-01 09:03:30 +00:00
Paolo Carlini
f4e39278b3 PR libstdc++/28080 (partial)
2007-02-27  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/std/bitset: Do not include <ios>, <iosfwd> is enough.
	(operator>>(std::basic_istream<>&, bitset<>&)): Tweak, refer to
	ios_base as a base of basic_istream.
	* include/std/iomanip: Do not include <ios>, <iosfwd> + 
	<bits/ios_base.h> is enough.
	* include/std/iosfwd: Do not include <cctype> here...
	* include/bits/locale_facets.h: ... do it here, when needed.
	* include/bits/ostream.tcc: Clean up, do not include <locale> here...
	* include/std/ostream: ... here instead.
	* include/bits/istream.tcc: Likewise for <locale> and <ostream>...
	* include/std/istream: ... here.
	* include/bits/sstream.tcc: Do not include <sstream>.

From-SVN: r122380
2007-02-27 17:48:09 +00:00
Paolo Carlini
681a691966 PR libstdc++/28080 (partial)
2007-02-26  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/std/bitset: Do not include <istream> and <ostream>,
	<ios> is enough.
	* include/std/iomanip: Do not include the whole <istream>,
	<ios> is enough; do not include <functional>; reformat.
	* include/std/functional: Do not include <cstddef>.
	* include/std/list: Do not include <bits/stl_uninitialized.h>.
	* include/std/numeric: Do not include the whole <iterator> and
	<bits/stl_function.h>.
	* include/std/valarray: Do not include <numeric>.
	* include/bits/stl_numeric.h: Include <bits/concept_check.h>.
	* src/iostream-inst.cc: Include <istream>.
	* include/ext/functional: Include <cstddef>.
	* testsuite/util/testsuite_hooks.h: Do not include <locale>,
	<ctime> is enough; qualify tm.
	* testsuite/util/testsuite_hooks.cc: Qualify tm.

2007-02-26  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (class ctype_byname<char>,
	class ctype_byname<wchar_t>): Declare.
	* src/ctype.cc (ctype_byname<wchar_t>::ctype_byname(const char*,
	size_t), ctype_byname<wchar_t>::~ctype_byname): Define.
	* config/locale/generic/ctype_members.cc (ctype_byname<char>::
	ctype_byname(const char*, size_t), ctype_byname<char>::~ctype_byname):
	Likewise.
	* config/locale/gnu/ctype_members.cc (ctype_byname<char>::
	ctype_byname(const char*, size_t), ctype_byname<char>::~ctype_byname):
	Likewise.
	* config/locale/darwin/ctype_members.cc (ctype_byname<char>::
	ctype_byname(const char*, size_t), ctype_byname<char>::~ctype_byname):
	Likewise.
	* testsuite/22_locale/headers/locale/synopsis.cc: Remove xfail.

From-SVN: r122329
2007-02-26 09:36:39 +00:00
Paolo Carlini
c0c424e4ab re PR libstdc++/25896 ([DR 526] hash_map::erase, unordered_map::erase fail if key is inside the table)
2007-02-23  Paolo Carlini  <pcarlini@suse.de>
	
	PR libstdc++/25896
	* include/tr1/hashtable (_Hashtable<>::erase(const key_type&)):
	Take care of &_M_extract((*__slot)->_M_v) == &__k.

	* testsuite/tr1/6_containers/unordered_map/erase/1.cc: New.
	* testsuite/tr1/6_containers/unordered_multimap/erase/1.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/erase/1.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_set/erase/1.cc: Likewise.

From-SVN: r122276
2007-02-23 23:34:18 +00:00
Paolo Carlini
5992e39919 unordered_map (class __unordered_map, [...]): New.
2007-02-22  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/unordered_map (class __unordered_map,
	class __unordered_multimap): New.
	(class unordered_map, class unordered_multimap): Forward to
	the latter.
	* include/tr1/unordered_set: Likewise for unordered_set and
	unordered_multiset.
	* testsuite/tr1/6_containers/headers/unordered_set/synopsis.cc:
	Remove xfail.
	* testsuite/tr1/6_containers/headers/unordered_map/synopsis.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/requirements/
	explicit_instantiation.cc: Adjust.
	* testsuite/tr1/6_containers/unordered_set/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_map/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_map/24064.cc: Likewise.
	* testsuite/util/native_type/assoc/native_hash_set.hpp: Likewise.
	* testsuite/util/native_type/assoc/native_hash_map.hpp: Likewise.

From-SVN: r122223
2007-02-22 09:52:37 +00:00
Paolo Carlini
41e56bf7d6 PR libstdc++/28080 (partial)
2007-02-20  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/tr1/functional: Split out hash bits to...
	* include/tr1/functional_hash.h: ...here.
	* include/Makefile.am: Add.
	* include/tr1/unordered_set: Include the latter instead.
	* include/tr1/unordered_map: Likewise.
	* include/tr1/random: Do not include the whole <algorithm>,
	stl_algobase.h is enough.
	* include/tr1/memory: Likewise.
	* include/Makefile.in: Regenerate.

	* include/tr1/utility (get(std::pair<>&), get(const std::pair<>&)):
	Mark inline.

From-SVN: r122175
2007-02-20 21:22:35 +00:00
Paolo Carlini
f56fe8ff92 PR libstdc++/28080 (partial)
2007-02-18  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/bits/stl_algobase.h: Do not include <climits>, use
	std::numeric_limits.
	* include/bits/stl_bvector.h: Use __CHAR_BIT__.
	* config/locale/gnu/codecvt_members.cc: Include <climits>.
	* config/locale/generic/codecvt_members.cc: Likewise.
	* include/std/string: Do not include <algorithm>; do not include
	<memory>, include <bits/allocator.h> instead.
	* include/ext/vstring_fwd.h: Likewise.
	* include/ext/vstring_util.h: Do not include <algorithm>.
	* include/tr1/hashtable_policy.h: Include <algorithm>.
	* testsuite/21_strings/basic_string/replace/char/1.cc: Likewise.
	* testsuite/21_strings/basic_string/replace/wchar_t/1.cc: Likewise.
	* testsuite/23_containers/bitset/cons/1.cc: Likewise.
	* testsuite/util/testsuite_character.h: Likewise.

	* config/locale/gnu/codecvt_members.cc: Also include <cstdlib>,
	for MB_CUR_MAX.
	* config/locale/generic/codecvt_members.cc: Likewise.

From-SVN: r122089
2007-02-18 11:32:44 +00:00
Dirk Mueller
9e0b7527be locale_facets.tcc (num_get<>::do_get): Avoid warning about ambiguous else.
2007-02-13  Dirk Mueller  <dmueller@suse.de>

       * include/bits/locale_facets.tcc (num_get<>::do_get): Avoid
       warning about ambiguous else.

From-SVN: r121881
2007-02-13 10:13:04 +00:00
Paolo Carlini
bad333ffe3 re PR libstdc++/21172 (potential integer overflow error in STL heap functions)
2007-02-12  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/21172
	* include/bits/stl_heap.h (__adjust_heap(_RandomAccessIterator,
	_Distance, _Distance, _Tp), __adjust_heap(_RandomAccessIterator,
	_Distance, _Distance, _Tp, _Compare)): Avoid potential integer
	overflow.

	* include/bits/stl_heap.h (__is_heap(_RandomAccessIterator,
	_RandomAccessIterator), __is_heap(_RandomAccessIterator,
	_RandomAccessIterator, _StrictWeakOrdering): Mark inline.
	(make_heap(_RandomAccessIterator, _RandomAccessIterator,
	_Compare)): Do not mark inline.

	* include/bits/stl_heap.h (push_heap(_RandomAccessIterator,
	_RandomAccessIterator), sort_heap(_RandomAccessIterator,
	_RandomAccessIterator)): Uncomment __glibcxx_requires_heap.

From-SVN: r121875
2007-02-13 00:25:30 +00:00
Howard Hinnant
687e00ee8a re PR libstdc++/17012 ([DR 526] std::list's function, remove, looks like it is reading memory that has been freed.)
2007-02-08  Howard Hinnant  <hhinnant@apple.com>

	PR libstdc++/17012
	* include/bits/list.tcc (list<>::remove): Take care of
	&*__first == &__value.
	* docs/html/ext/howto.html: Add an entry for DR 526.

From-SVN: r121735
2007-02-09 01:00:25 +00:00
Benjamin Kosnik
bdbccd1c53 extc++.h: Guard include files that assume iconv support is present from precompilation...
2007-02-06  Benjamin Kosnik  <bkoz@redhat.com>
            Marco Trudel  <mtrudel@gmx.ch>

	* include/precompiled/extc++.h: Guard include files that assume
	iconv support is present from precompilation via
	_GLIBCXX_HAVE_ICONV.


Co-Authored-By: Marco Trudel <mtrudel@gmx.ch>

From-SVN: r121655
2007-02-06 17:59:09 +00:00
Paolo Carlini
1444936f04 stl_deque.h (operator<): Qualify call.
2007-02-05  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_deque.h (operator<): Qualify call.

From-SVN: r121597
2007-02-05 12:58:12 +00:00
Benjamin Kosnik
311635d103 c++config: Consistent macro guards for config includes.
2007-02-02  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Consistent macro guards for config includes.
	* config/locale/gnu/c_locale.h: Same.
	* config/locale/generic/c_locale.h: Same.
	* config/allocator/mt_allocator_base.h: Same.
	* config/allocator/malloc_allocator_base.h: Same.
	* config/allocator/new_allocator_base.h: Same.
	* config/allocator/pool_allocator_base.h: Same.
	* config/allocator/bitmap_allocator_base.h: Same.
	* config/os/vxworks/os_defines.h: Same.
	* config/cpu/sh/atomicity.h: Same.
	* config/io/c_io_stdio.h: Same.
	* config/io/basic_file_stdio.h: Same.

From-SVN: r121502
2007-02-02 14:49:52 +00:00
Benjamin Kosnik
e894edefdb re PR libstdc++/30571 (Use of C++0x keywords in libstdc++-v3 headers)
2007-01-30  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/30571
	* include/ext/pb_ds/detail/type_utils.hpp: Use C++0x
	static_assert if available, if not, centralize PB_DS_STATIC_ASSERT
	definition here.
	* include/ext/pb_ds/detail/resize_policy/
	cc_hash_max_collision_check_resize_trigger_imp.hpp: Remove
	PB_DS_STATIC_ASSERT definition.
	* include/ext/pb_ds/detail/resize_policy/
	hash_load_check_resize_trigger_imp.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/
	hash_standard_resize_policy_imp.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Same.
	* include/ext/pb_ds/trie_policy.hpp: Same.
	* testsuite/util/performance/assoc/timing/
	tree_order_statistics_test.hpp: Same.
	* testsuite/ext/pb_ds/example/hash_resize_neg.cc: Adjust line numbers.
	* testsuite/17_intro/headers_c++_c++0x_compat.cc: New.
	
	* include/precompiled/extc++.h: Update to current list of ext files.

From-SVN: r121349
2007-01-30 18:04:59 +00:00
Paolo Carlini
263e3c330e stl_uninitialized.h (uninitialized_copy(const char*, const char*, char*), [...]): Remove, just forward to std::copy.
2007-01-29  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_uninitialized.h (uninitialized_copy(const char*,
	const char*, char*), uninitialized_copy(const wchar_t*, const wchar_t*,
	wchar_t*)): Remove, just forward to std::copy.

From-SVN: r121300
2007-01-29 18:34:46 +00:00
Benjamin Kosnik
4ffe6e87dc enc_filebuf.h: Resurrect, update.
2007-01-29  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/enc_filebuf.h: Resurrect, update.
	* include/ext/codecvt_specializations.h: Remove
        _GLIBCXX_USE_ICONV, _GLIBCXX_USE_ENCODING_STATE.
	* include/bits/localefwd.h: Remove declaration for __enc_traits.
	* docs/html/22_locale/codecvt.html: Change __enc_traits to
	encoding_state.
	* scripts/testsuite_flags.in: Remove ICONV.

	* configure.ac: Remove GLIBCXX_CHECK_ICONV_SUPPORT.
	* acinclude.m4 (GLIBCXX_CHECK_ICONV_SUPPORT): Remove.
	* crossconfig.m4: Remove use of GLIBCXX_CHECK_ICONV_SUPPORT.
	* config.h.in: Remove HAVE_ICONV_CLOSE, HAVE_ICONV_OPEN,
	HAVE_NL_LANGINFO, _GLIBCXX_USE_ICONV.
	* include/Makefile.am: Uglify ICONV_CONST.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.
	* Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* libmath/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

	* testsuite/ext/enc_filebuf/wchar_t/13189.cc: Use
	dg-require-iconv, fix up for encoding_state changes.
	* testsuite/ext/enc_filebuf/char/13189.cc: Same.
	* testsuite/ext/enc_filebuf/char/13598.cc: Same.
	* testsuite/22_locale/codecvt/unicode: Move...
	* testsuite/22_locale/codecvt/unicode/char.cc: Move...
	* testsuite/22_locale/codecvt/unicode/1.cc: Move...
	* testsuite/22_locale/codecvt/unicode/wchar_t.cc: Move...
	* testsuite/ext/codecvt: New.
	* testsuite/ext/codecvt/char-1.cc: ...here. Also, use dg-require-iconv.
	* testsuite/ext/codecvt/char-2.cc: ...here. Same.
	* testsuite/ext/codecvt/1.cc: ...here. Same.
	* testsuite/ext/codecvt/wchar_t.cc: ...here. Same.
	* testsuite/22_locale/locale/cons/unicode: Delete directory.
	* testsuite/22_locale/locale/cons/unicode/1.cc: Move...
	* testsuite/22_locale/locale/cons/unicode.cc: ...here.

From-SVN: r121297
2007-01-29 18:22:37 +00:00
Paolo Carlini
226a2e08e5 locale_facets.tcc (num_get<>::do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&), [...]): -Wconversion and -Woverflow fixes.
2007-01-28  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
	iter_type, ios_base&, ios_base::iostate&, bool&),
	num_put<>::_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT)):
	-Wconversion and -Woverflow fixes.
	* include/bits/istream.tcc (operator>>(int&), operator>>(short&)):
	Likewise.
	* include/std/valarray (valarray<>::shift, cshift): Likewise.

From-SVN: r121264
2007-01-28 18:40:42 +00:00
Nathan Myers
6bfcbf0d48 streambuf_iterator.h (istreambuf_iterator<>::equal): Simplify.
2007-01-25  Nathan Myers  <ncm@cantrip.org>

	* include/bits/streambuf_iterator.h (istreambuf_iterator<>::equal):
	Simplify.

From-SVN: r121170
2007-01-25 13:08:51 +00:00
Steve LoBasso
45dc23a66b deque.tcc (deque<>::erase(iterator, iterator)): Fix condition.
2007-01-24   Steve LoBasso <slobasso@yahoo.com>
	     Paolo Carlini  <pcarlini@suse.de>

	* include/bits/deque.tcc (deque<>::erase(iterator, iterator)):
	Fix condition.
	* testsuite/23_containers/deque/modifiers/erase/3.cc: New.

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

From-SVN: r121147
2007-01-24 23:52:37 +00:00
Paolo Carlini
aa5ccd9980 stl_algobase.h (__fill_aux(unsigned char*, unsigned char*, const unsigned char&), [...]): Take the character by value.
2007-01-22  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algobase.h (__fill_aux(unsigned char*,
	unsigned char*, const unsigned char&), __fill_aux(signed char*,
	signed char*, const signed char&), __fill_aux(char*, char*,
	const char&), __fill_aux(wchar_t*, wchar_t*, const wchar_t&)):
	Take the character by value.
	(__fill_n_aux): Likewise.

From-SVN: r121056
2007-01-22 15:19:40 +00:00
Paolo Carlini
e9e90c1f98 PR libstdc++/30449 (fill, fill_n)
2007-01-21  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/30449 (fill, fill_n)
	* include/bits/stl_algobase.h (__fill_aux(wchar_t*, wchar_t*,
	const wchar_t&), __fill_n_aux(wchar_t*, _Size, const wchar_t&)): New.
	(fill(signed char*, signed char*, const signed char&),
	fill(unsigned char*, unsigned char*, const unsigned char&),
	fill(char*, char*, char&), fill_n(signed char*, _Size,
	const signed char&), fill_n(unsigned char*, _Size,
	const unsigned char&), fill_n(char*, _Size, char&)): Rename to
	__*_aux.
	(__fill_normal, __fill_n_normal): New, call the latter.
	(fill, fill_n): Adjust, call the latter.	
	* testsuite/25_algorithms/fill/4.cc: New.
	* testsuite/25_algorithms/fill/5.cc: New.

From-SVN: r121027
2007-01-21 09:57:42 +00:00
Paolo Carlini
9521dd6bd1 basic_string.h (basic_string<>::_S_compare): Add.
2007-01-18  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (basic_string<>::_S_compare): Add.
	(compare(const basic_string&)): Use it.
	* include/bits/basic_string.tcc (compare(size_type, size_type,
	const basic_string&), compare(size_type, size_type,
	const basic_string&, size_type, size_type), compare(const _CharT*),
	compare(size_type, size_type, const _CharT*), compare(size_type,
	size_type, const _CharT*, size_type)): Likewise.
	* include/ext/vstring_util.h (__vstring_utility<>::_S_compare): Add.
	* include/ext/vstring.h (compare(const __versa_string&)): Use it.
	* include/ext/vstring.tcc (compare(size_type, size_type,
	const __versa_string&), compare(size_type, size_type,
	const __versa_string&, size_type, size_type), compare(const _CharT*),
	compare(size_type, size_type, const _CharT*), compare(size_type,
	size_type, const _CharT*, size_type)): Likewise.

From-SVN: r120896
2007-01-18 12:03:35 +00:00
Ian Lance Taylor
6ae39fd99e type_traits.h: Fix __glibcxx_max macro.
2007-01-15  Ian Lance Taylor  <iant@google.com>
	    Paolo Carlini  <pcarlini@suse.de>

	* include/ext/type_traits.h: Fix __glibcxx_max macro.
	* include/std/limits: Likewise.

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

From-SVN: r120808
2007-01-16 00:01:24 +00:00
Paolo Carlini
226d4e9482 valarray (valarray<>::cshift): Fix typo.
2007-01-15  Paolo Carlini  <pcarlini@suse.de>

	* include/std/valarray (valarray<>::cshift): Fix typo.

From-SVN: r120798
2007-01-15 16:45:01 +00:00
Paolo Carlini
30beae0c6e stl_algobase.h (fill_n(char*, _Size, const signed char&)): Fix signature.
2007-01-14  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algobase.h (fill_n(char*, _Size,
	const signed char&)): Fix signature.
	* testsuite/25_algorithms/fill/3.cc: New.

From-SVN: r120778
2007-01-14 18:29:58 +00:00
Paolo Carlini
102693c7de PR libstdc++/30416 (continued)
2007-01-12  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/30416 (continued)
	* include/std/valarray (valarray<>::shift, valarray<>::cshift):
	Allways return the same variable, thus facilitating NRVO.

From-SVN: r120722
2007-01-12 13:34:47 +00:00
Paolo Carlini
8e76821485 re PR libstdc++/30416 (SIGSEGV in valarray::cshift(n) on empty array)
2007-01-12  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/30416
	* include/std/valarray (valarray<>::shift, valarray<>::cshift):
	Do not segfault when |n| > size.
	* testsuite/26_numerics/valarray/30416.cc: New.

From-SVN: r120720
2007-01-12 11:09:26 +00:00
Matthias Klose
472017b355 random (gamma_distribution): Fix typo in formula.
2007-01-06  Matthias Klose  <doko@debian.org>

        * include/tr1/random (gamma_distribution): Fix typo in formula.
        * docs/doxygen/user.cfg.in: Use package amsmath.

From-SVN: r120522
2007-01-06 09:56:37 +00:00
Paolo Carlini
975a4fc1a3 array (array<>::_M_at): Remove.
2006-12-28  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/array (array<>::_M_at): Remove.
	(array<>::_M_check): Add.
	(array<>::at): Use the latter.

From-SVN: r120242
2006-12-28 10:54:56 +00:00
Paolo Carlini
14c52eca78 DR 541, [WP].
2006-12-22  Paolo Carlini  <pcarlini@suse.de>

        DR 541, [WP].
 	* include/std/memory (auto_ptr<void>): Add specialization.
	* testsuite/tr1/2_general_utilities/memory/shared_ptr/
	assign/dr541.cc: New.
	* testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust
	dg-error markers.
        * docs/html/ext/howto.html: Add an entry for DR 541.

From-SVN: r120148
2006-12-22 12:49:48 +00:00
Ian Lance Taylor
2a67bec24f re PR c++/19564 (-Wparentheses does not work with the C++ front-end)
PR c++/19564
	PR c++/19756
gcc/:
	* c-typeck.c (parser_build_binary_op): Move parentheses warnings
	to warn_about_parentheses in c-common.c.
	* c-common.c (warn_about_parentheses): New function.
	* c-common.h (warn_about_parentheses): Declare.
	* doc/invoke.texi (Warning Options): Update -Wparentheses
	description.
gcc/cp/:
	* parser.c (cp_parser_expression_stack_entry): Add field
	lhs_type.
	(cp_parser_binary_expression): Track tree code of left hand side
	of expression.  Use it when calling build_x_binary_op.
	(cp_parser_selection_statement): Add if_p parameter.  Change all
	callers.  Warn about ambiguous else.
	(cp_parser_statement): Add if_p parameter.  Change all callers.
	(cp_parser_implicitly_scoped_statement): Likewise.
	* typeck.c (build_x_binary_op): Add parameters arg1_code and
	arg2_code.  Change all callers.  Call warn_about_parentheses.
	* cp-tree.h (build_x_binary_op): Update declaration.
gcc/testsuite/:
	* g++.dg/warn/Wparentheses-5.C: New test.
	* g++.dg/warn/Wparentheses-6.C: New test.
	* g++.dg/warn/Wparentheses-7.C: New test.
	* g++.dg/warn/Wparentheses-8.C: New test.
	* g++.dg/warn/Wparentheses-9.C: New test.
	* g++.dg/warn/Wparentheses-10.C: New test.
	* g++.dg/warn/Wparentheses-11.C: New test.
	* g++.dg/warn/Wparentheses-12.C: New test.
	* g++.dg/warn/Wparentheses-13.C: New test.
	* g++.dg/warn/Wparentheses-14.C: New test.
	* g++.dg/warn/Wparentheses-15.C: New test.
	* g++.dg/warn/Wparentheses-16.C: New test.
	* g++.dg/warn/Wparentheses-17.C: New test.
	* g++.dg/warn/Wparentheses-18.C: New test.
	* g++.dg/warn/Wparentheses-19.C: New test.
	* g++.dg/warn/Wparentheses-20.C: New test.
	* g++.dg/warn/Wparentheses-21.C: New test.
libstdc++-v3/:
	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
	Add parentheses around && within || to avoid warning.
	(num_get<>::_M_extract_int): Likewise.
	(money_get<>::_M_extract): Likewise.
	(num_get<>::do_get(iter_type, iter_type, ios_base&,
	ios_base::iostate&, void*&)): Add parentheses around & within | to
	avoid warning.
	(num_put<>::do_put(iter_type, ios_base&, char_type, const void*)):
	Likewise.
	* include/bits/streambuf_iterator.h (istreambuf_iterator::equal):
	Add parentheses around && within || to avoid warning.
	* libsupc++/tinfo.cc (__do_dyncast): Likewise.
	* src/locale.cc (locale::_S_normalize_category): Likewise.
	* include/bits/stl_tree.h (_Rb_tree<>::_M_insert_unique): Add
	braces to avoid ambiguous else warning.
	* src/strstream.cc (strstreambuf::_M_free): Likewise.
	* src/tree.cc (_Rb_tree_rebalance_for_erase): Likewise.

From-SVN: r119855
2006-12-14 05:49:06 +00:00
Richard Guenther
c3f824ce13 traits.hpp: Qualify types.
2006-12-11  Richard Guenther  <rguenther@suse.de>
	    Paolo Carlini  <pcarlini@suse.de>

	* include/ext/pb_ds/detail/pat_trie_/traits.hpp: Qualify types.
	* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Likewise.
	* include/ext/rope: Likewise.
	* include/bits/stl_tree.h (struct _Rb_tree): Change the _Link_type
	typedefs to use _Rb_tree_node<_Val> directly.
	(_M_get_node, _M_put_node): Use _Link_type.

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

From-SVN: r119732
2006-12-11 10:48:56 +00:00
Benjamin Kosnik
1815473082 Makefile.am (std_headers_rename): Remove.
2006-12-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (std_headers_rename): Remove.
	(c_base_headers_rename): Remove.
	(std_headers): Adjust to true names.
	(c_base_headers): Adjust to true names.
	(stamp-c_base, stamp_std, stamp_c_base_extra): Adjust.
	* configure: Regenerate.
	* include/Makefile.in: Regenerate.

        * include/std/std_algorithm.h: To...
        * include/std/std_bitset.h: To...
        * include/std/std_complex.h: To...
        * include/std/std_deque.h: To...
        * include/std/std_fstream.h: To...
        * include/std/std_functional.h: To...
        * include/std/std_iomanip.h: To...
        * include/std/std_iosfwd.h: To...
        * include/std/std_ios.h: To...
        * include/std/std_iostream.h: To...
        * include/std/std_istream.h: To...
        * include/std/std_iterator.h: To...
        * include/std/std_limits.h: To...
        * include/std/std_list.h: To...
        * include/std/std_locale.h: To...
        * include/std/std_map.h: To...
        * include/std/std_memory.h: To...
        * include/std/std_numeric.h: To...
        * include/std/std_ostream.h: To...
        * include/std/std_queue.h: To...
        * include/std/std_set.h: To...
        * include/std/std_sstream.h: To...
        * include/std/std_stack.h: To...
        * include/std/std_stdexcept.h: To...
        * include/std/std_streambuf.h: To...
        * include/std/std_string.h: To...
        * include/std/std_utility.h: To...
        * include/std/std_valarray.h: To...
        * include/std/std_vector.h: To...
        * include/std/algorithm: ...this.
        * include/std/bitset: ...this.
        * include/std/complex: ...this.
        * include/std/deque: ...this.
        * include/std/fstream: ...this.
        * include/std/functional: ...this.
        * include/std/iomanip: ...this.
        * include/std/iosfwd: ...this.
        * include/std/ios: ...this.
        * include/std/iostream: ...this.
        * include/std/istream: ...this.
        * include/std/iterator: ...this.
        * include/std/limits: ...this.
        * include/std/list: ...this.
        * include/std/locale: ...this.
        * include/std/map: ...this.
        * include/std/memory: ...this.
        * include/std/numeric: ...this.
        * include/std/ostream: ...this.
        * include/std/queue: ...this.
        * include/std/set: ...this.
        * include/std/sstream: ...this.
        * include/std/stack: ...this.
        * include/std/stdexcept: ...this.
        * include/std/streambuf: ...this.
        * include/std/string: ...this.
        * include/std/utility: ...this.
        * include/std/valarray: ...this.
        * include/std/vector: ...this.

        * include/c_std/std_cassert.h: To...
        * include/c_std/std_cctype.h: To...
        * include/c_std/std_cerrno.h: To...
        * include/c_std/std_cfloat.h: To...
        * include/c_std/std_ciso646.h: To...
        * include/c_std/std_climits.h: To...
        * include/c_std/std_clocale.h: To...
        * include/c_std/std_cmath.h: To...
        * include/c_std/std_csetjmp.h: To...
        * include/c_std/std_csignal.h: To...
        * include/c_std/std_cstdarg.h: To...
        * include/c_std/std_cstddef.h: To...
        * include/c_std/std_cstdio.h: To...
        * include/c_std/std_cstdlib.h: To...
        * include/c_std/std_cstring.h: To...
        * include/c_std/std_ctime.h: To...
        * include/c_std/std_cwchar.h: To...
        * include/c_std/std_cwctype.h: To...
        * include/c_std/cassert: ...this.
        * include/c_std/cctype: ...this.
        * include/c_std/cerrno: ...this.
        * include/c_std/cfloat: ...this.
        * include/c_std/ciso646: ...this.
        * include/c_std/climits: ...this.
        * include/c_std/clocale: ...this.
        * include/c_std/cmath: ...this.
        * include/c_std/csetjmp: ...this.
        * include/c_std/csignal: ...this.
        * include/c_std/cstdarg: ...this.
        * include/c_std/cstddef: ...this.
        * include/c_std/cstdio: ...this.
        * include/c_std/cstdlib: ...this.
        * include/c_std/cstring: ...this.
        * include/c_std/ctime: ...this.
        * include/c_std/cwchar: ...this.
        * include/c_std/cwctype: ...this.

        * include/c/std_cassert.h: To...
        * include/c/std_cctype.h: To...
        * include/c/std_cerrno.h: To...
        * include/c/std_cfloat.h: To...
        * include/c/std_ciso646.h: To...
        * include/c/std_climits.h: To...
        * include/c/std_clocale.h: To...
        * include/c/std_cmath.h: To...
        * include/c/std_csetjmp.h: To...
        * include/c/std_csignal.h: To...
        * include/c/std_cstdarg.h: To...
        * include/c/std_cstddef.h: To...
        * include/c/std_cstdio.h: To...
        * include/c/std_cstdlib.h: To...
        * include/c/std_cstring.h: To...
        * include/c/std_ctime.h: To...
        * include/c/std_cwchar.h: To...
        * include/c/std_cwctype.h: To...
        * include/c/cassert: ...this.
        * include/c/cctype: ...this.
        * include/c/cerrno: ...this.
        * include/c/cfloat: ...this.
        * include/c/ciso646: ...this.
        * include/c/climits: ...this.
        * include/c/clocale: ...this.
        * include/c/cmath: ...this.
        * include/c/csetjmp: ...this.
        * include/c/csignal: ...this.
        * include/c/cstdarg: ...this.
        * include/c/cstddef: ...this.
        * include/c/cstdio: ...this.
        * include/c/cstdlib: ...this.
        * include/c/cstring: ...this.
        * include/c/ctime: ...this.
        * include/c/cwchar: ...this.
        * include/c/cwctype: ...this.

From-SVN: r119611
2006-12-07 09:35:57 +00:00
Benjamin Kosnik
143c27b065 localefwd.h: Consistent @file placement...
2006-12-05  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/localefwd.h: Consistent @file placement, use
        include/ as part of the path for files that have shadows instead of no
        name.
	* include/bits/valarray_after.h: Same.
	* include/bits/gslice_array.h: Same.
	* include/bits/gslice.h: Same.
	* include/bits/locale_classes.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/indirect_array.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/postypes.h: Same.
	* include/bits/codecvt.h: Same.
	* include/bits/mask_array.h: Same.
	* include/bits/slice_array.h: Same.
	* include/bits/boost_concept_check.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/stringfwd.h: Same.
	* include/bits/c++config: Same.
	* include/bits/valarray_array.h: Same.
	* include/bits/valarray_before.h: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/c/std_cerrno.h: Same.
	* include/precompiled/extc++.h: Same.
	* include/precompiled/stdtr1c++.h: Same.
	* include/precompiled/stdc++.h: Same.
	* include/tr1/cinttypes: Same.
	* include/tr1/fenv.h: Same.
	* include/tr1/mu_iterate.h: Same.
	* include/tr1/cstdio: Same.
	* include/tr1/limits.h: Same.
	* include/tr1/ctgmath: Same.
	* include/tr1/cstdarg: Same.
	* include/tr1/tuple: Same.
	* include/tr1/float.h: Same.
	* include/tr1/stdint.h: Same.
	* include/tr1/tuple_iterate.h: Same.
	* include/tr1/type_traits_fwd.h: Same.
	* include/tr1/hashtable_policy.h: Same.
	* include/tr1/cfenv: Same.
	* include/tr1/wctype.h: Same.
	* include/tr1/ref_fwd.h: Same.
	* include/tr1/bind_repeat.h: Same.
	* include/tr1/utility: Same.
	* include/tr1/climits: Same.
	* include/tr1/type_traits: Same.
	* include/tr1/stdlib.h: Same.
	* include/tr1/cwchar: Same.
	* include/tr1/stdio.h: Same.
	* include/tr1/ref_wrap_iterate.h: Same.
	* include/tr1/cstdint: Same.
	* include/tr1/memory: Same.
	* include/tr1/cstdbool: Same.
	* include/tr1/cwctype: Same.
	* include/tr1/bind_iterate.h: Same.
	* include/tr1/math.h: Same.
	* include/tr1/random: Same.
	* include/tr1/tuple_defs.h: Same.
	* include/tr1/cstdlib: Same.
	* include/tr1/unordered_map: Same.
	* include/tr1/boost_shared_ptr.h: Same.
	* include/tr1/cctype: Same.
	* include/tr1/random.tcc: Same.
	* include/tr1/wchar.h: Same.
	* include/tr1/hashtable: Same.
	* include/tr1/cmath: Same.
	* include/tr1/stdbool.h: Same.
	* include/tr1/ctime: Same.
	* include/tr1/functional: Same.
	* include/tr1/unordered_set: Same.
	* include/tr1/inttypes.h: Same.
	* include/tr1/functional_iterate.h: Same.
	* include/tr1/repeat.h: Same.
	* include/tr1/complex: Same.
	* include/tr1/cfloat: Same.
	* include/tr1/ctype.h: Same.
	* include/tr1/stdarg.h: Same.
	* include/tr1/tgmath.h: Same.
	* include/tr1/array: Same.
	* include/tr1/common.h: Same.
	* include/std/std_valarray.h: Same.
	* include/std/std_iostream.h: Same.
	* include/std/std_queue.h: Same.
	* include/std/std_algorithm.h: Same.
	* include/std/std_streambuf.h: Same.
	* include/std/std_iterator.h: Same.
	* include/std/std_ios.h: Same.
	* include/std/std_bitset.h: Same.
	* include/std/std_iosfwd.h: Same.
	* include/std/std_set.h: Same.
	* include/std/std_iomanip.h: Same.
	* include/std/std_fstream.h: Same.
	* include/std/std_functional.h: Same.
	* include/std/std_numeric.h: Same.
	* include/std/std_vector.h: Same.
	* include/std/std_deque.h: Same.
	* include/std/std_stdexcept.h: Same.
	* include/std/std_utility.h: Same.
	* include/std/std_stack.h: Same.
	* include/std/std_string.h: Same.
	* include/std/std_complex.h: Same.
	* include/std/std_memory.h: Same.
	* include/std/std_ostream.h: Same.
	* include/std/std_list.h: Same.
	* include/std/std_map.h: Same.
	* include/std/std_sstream.h: Same.
	* include/c_std/std_csignal.h: Same.
	* include/c_std/std_cstdlib.h: Same.
	* include/c_std/std_cstdio.h: Same.
	* include/c_std/std_cstdarg.h: Same.
	* include/c_std/std_cctype.h: Same.
	* include/c_std/std_cerrno.h: Same.
	* include/c_std/std_cmath.h: Same.
	* include/c_std/std_ctime.h: Same.
	* include/c_std/std_clocale.h: Same.
	* include/c_std/std_climits.h: Same.
	* include/c_std/std_cassert.h: Same.
	* include/c_std/cmath.tcc
	* include/c_std/std_csetjmp.h: Same.
	* include/c_std/std_cwchar.h: Same.
	* include/c_std/std_cfloat.h: Same.
	* include/c_std/std_cstring.h: Same.
	* include/c_std/std_cstddef.h: Same.
	* include/c_std/std_cwctype.h: Same.

	* config/locale/gnu/c_locale.h: Namespace scope in all files.
	* config/locale/gnu/messages_members.h: Same.
	* config/locale/gnu/c++locale_internal.h: Same.
	* config/locale/gnu/time_members.h: Same.
	* config/locale/ieee_1003.1-2001/c_locale.h: Same.
	* config/locale/ieee_1003.1-2001/messages_members.h: Same.
	* config/locale/generic/c_locale.h: Same.
	* config/locale/generic/messages_members.h: Same.
	* config/locale/generic/time_members.h: Same.
	* config/allocator/mt_allocator_base.h: Same.
	* config/allocator/malloc_allocator_base.h: Same.
	* config/allocator/new_allocator_base.h: Same.
	* config/allocator/pool_allocator_base.h: Same.
	* config/allocator/bitmap_allocator_base.h: Same.
	* config/os/windiss/ctype_noninline.h: Same.
	* config/os/windiss/os_defines.h: Same.
	* config/os/windiss/ctype_inline.h: Same.
	* config/os/newlib/ctype_noninline.h: Same.
	* config/os/newlib/os_defines.h: Same.
	* config/os/newlib/ctype_inline.h: Same.
	* config/os/aix/ctype_noninline.h: Same.
	* config/os/aix/os_defines.h: Same.
	* config/os/aix/ctype_inline.h: Same.
	* config/os/vxworks/ctype_noninline.h: Same.
	* config/os/vxworks/os_defines.h: Same.
	* config/os/vxworks/ctype_inline.h: Same.
	* config/os/hpux/ctype_noninline.h: Same.
	* config/os/hpux/os_defines.h: Same.
	* config/os/hpux/ctype_inline.h: Same.
	* config/os/mingw32/ctype_noninline.h: Same.
	* config/os/mingw32/os_defines.h: Same.
	* config/os/mingw32/ctype_inline.h: Same.
	* config/os/gnu-linux/ctype_noninline.h: Same.
	* config/os/gnu-linux/os_defines.h: Same.
	* config/os/gnu-linux/ctype_inline.h: Same.
	* config/os/tpf/ctype_noninline.h: Same.
	* config/os/tpf/os_defines.h: Same.
	* config/os/tpf/ctype_inline.h: Same.
	* config/os/uclibc/ctype_noninline.h: Same.
	* config/os/uclibc/os_defines.h: Same.
	* config/os/uclibc/ctype_inline.h: Same.
	* config/os/djgpp/ctype_noninline.h: Same.
	* config/os/djgpp/os_defines.h: Same.
	* config/os/djgpp/ctype_inline.h: Same.
	* config/os/qnx/qnx6.1/ctype_noninline.h: Same.
	* config/os/qnx/qnx6.1/ctype_inline.h: Same.
	* config/os/bsd/netbsd/ctype_noninline.h: Same.
	* config/os/bsd/netbsd/ctype_inline.h: Same.
	* config/os/bsd/darwin/ctype_noninline.h: Same.
	* config/os/bsd/darwin/ctype_inline.h: Same.
	* config/os/bsd/freebsd/ctype_noninline.h: Same.
	* config/os/bsd/freebsd/ctype_inline.h: Same.
	* config/os/irix/irix5.2/ctype_noninline.h: Same.
	* config/os/irix/irix5.2/ctype_inline.h: Same.
	* config/os/irix/irix6.5/ctype_noninline.h: Same.
	* config/os/irix/irix6.5/ctype_inline.h: Same.
	* config/os/solaris/solaris2.5/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.5/ctype_inline.h: Same.
	* config/os/solaris/solaris2.6/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.6/ctype_inline.h: Same.
	* config/os/solaris/solaris2.7/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.7/ctype_inline.h: Same.
	* config/os/generic/ctype_noninline.h: Same.
	* config/os/generic/os_defines.h: Same.
	* config/os/generic/ctype_inline.h: Same.
	* config/cpu/arm/cxxabi_tweaks.h: Same.
	* config/cpu/powerpc/cpu_defines.h: Same.
	* config/cpu/generic/cxxabi_tweaks.h: Same.
	* config/cpu/generic/cpu_defines.h: Same.
	* config/cpu/generic/atomic_word.h: Same.
	* config/io/c_io_stdio.h: Same.
	* config/abi/compatibility.h: Same.

	* docs/doxygen/user.cfg.in: Adjust file list.

From-SVN: r119561
2006-12-05 23:24:07 +00:00
Paolo Carlini
4091894c31 DR 543, [Ready].
2006-12-05  Paolo Carlini  <pcarlini@suse.de>

	DR 543, [Ready].
	* include/bits/slice_array.h (slice::slice()): Implement the
	resolution.
	* include/bits/gslice.h (gslice::_Indexer::_Indexer()): Add.
	(gslice::gslice()): Use it.
	* testsuite/26_numerics/valarray/dr543.cc: New.
	* docs/html/ext/howto.html: Add an entry for DR 543.

From-SVN: r119552
2006-12-05 19:25:48 +00:00
Benjamin Kosnik
928341b208 tuple: Consistent include guards.
2006-12-05  Benjamin Kosnik  <bkoz@redhat.com>

	* include/tr1/tuple: Consistent include guards.
	* include/tr1/type_traits: Same.
	* include/tr1/array: Same.

From-SVN: r119539
2006-12-05 10:57:09 +00:00
Paolo Carlini
fe264e58e1 PR libstdc++/29989 (again)
2006-12-04  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/29989 (again)
	* include/bits/c++config: #undef min and max.
	* testsuite/18_support/numeric_limits/29989.cc: New.

From-SVN: r119510
2006-12-04 21:11:52 +00:00
Paolo Carlini
6bd70157d7 re PR libstdc++/29989 (missed #undef min/max in <limits>)
2006-12-03  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/29989
	* include/bits/stl_algobase.h: Remove min and max #undefs.

From-SVN: r119467
2006-12-03 17:15:46 +00:00