Commit Graph

3250 Commits

Author SHA1 Message Date
Paolo Carlini da5a2efd39 stl_algo.h: Shuffle the functions to better match the order in the standard.
2007-05-20  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algo.h: Shuffle the functions to better match the
	order in the standard.

From-SVN: r124874
2007-05-20 17:48:36 +00:00
Paolo Carlini 1d1c53d561 stl_algobase.h (mismatch): Move...
2007-05-17  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algobase.h (mismatch): Move...
	* include/bits/stl_algo.h: ... here.

From-SVN: r124792
2007-05-17 11:52:06 +00:00
Benjamin Kosnik 95440e3ee0 cmath: Guard special math with __GXX_EXPERIMENTAL_CXX0X__.
2007-05-17  Benjamin Kosnik  <bkoz@redhat.com>

	* include/tr1/cmath: Guard special math with
	__GXX_EXPERIMENTAL_CXX0X__.
	* testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
	Remove xfail.

From-SVN: r124791
2007-05-17 11:37:27 +00:00
Paolo Carlini a576fe880e locale_facets.tcc (__pad<>::_S_pad): Minor tweaks, avoid unnecessary casts, do widenings just in time.
2007-05-17  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (__pad<>::_S_pad): Minor tweaks, avoid
	unnecessary casts, do widenings just in time.

From-SVN: r124790
2007-05-17 09:01:27 +00:00
Paolo Carlini 56f78eecdc allocator.h: Do not include cpp_type_traits.h.
2007-05-14  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/allocator.h: Do not include cpp_type_traits.h.

From-SVN: r124716
2007-05-14 14:47:39 +00:00
Paolo Carlini ee60de3614 postypes.h (class fpos<>): Remove redundant forward declaration.
2007-05-14  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/postypes.h (class fpos<>): Remove redundant forward
	declaration.

From-SVN: r124709
2007-05-14 10:52:05 +00:00
Paolo Carlini de5e4138e5 stl_tempbuf.h (return_temporary_buffer(_Tp*)): Inline.
2007-05-13  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_tempbuf.h (return_temporary_buffer(_Tp*)): Inline.

From-SVN: r124654
2007-05-13 16:23:20 +00:00
Paolo Carlini c1cd4e0958 type_traitsfwd.h: Fix include guard typo.
2007-05-13  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traitsfwd.h: Fix include guard typo.

From-SVN: r124652
2007-05-13 10:08:13 +00:00
Paolo Carlini 538075fe42 pod_char_traits.h (char_traits<>::move): Use __builtin_memmove.
2007-05-11  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/pod_char_traits.h (char_traits<>::move):
	Use __builtin_memmove.
	* include/bits/locale_classes.h (locale::_Impl::_M_check_same_name,
	collate_byname(const char*, size_t)): Use __builtin_strcmp.
	* include/bits/locale_facets.h: Use __builtin_mem* and
	__builtin_str* everywhere.
	* include/bits/codecvt.h (codecvt_byname(const char*, size_t)):
	Use __builtin_strcmp.
	* include/bits/char_traits.h: Use __builtin_mem* everywhere.
	* include/bits/fstream.tcc (basic_filebuf<>::underflow, imbue):
	Use __builtin_memcpy and __builtin_memmove.
	* include/bits/locale_facets_nonio.h (moneypunct_byname(const char*,
	size_t __refs)): Use __builtin_strcmp.
	* include/std/bitset (bitset<>::_M_do_reset): Use __builtin_memset.
	* config/locale/gnu/c_locale.h: Use __builtin_strlen, __builtin_strcmp,
	and __builtin_memcpy.
	* config/locale/gnu/messages_members.h: Likewise.
	* config/locale/gnu/time_members.h: Likewise.
	* config/locale/generic/c_locale.h: Likewise.
	* config/locale/generic/messages_members.h: Likewise.
	* config/locale/generic/time_members.h: Likewise.
	* config/os/gnu-linux/ctype_noninline.h: Likewise, avoid strdup.
	* config/os/tpf/ctype_noninline.h: Likewise.
	* config/locale/generic/codecvt_members.cc: Include <cstring>. 
	* config/locale/generic/ctype_members.cc: Likewise.
	* config/locale/generic/collate_members.cc: Likewise.
	* config/locale/gnu/c++locale_internal.h: Likewise.
	* config/locale/darwin/ctype_members.cc: Likewise.
	* src/ctype.cc: Likewise.
	* testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
	* testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
	* testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
	* testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
	* testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
	* config/locale/gnu/messages_members.cc: Avoid strdup.
	* config/locale/gnu/monetary_members.cc: Likewise.
	* config/locale/gnu/time_members.cc: Likewise.	
	* config/locale/gnu/time_members.cc: Likewise.
	* config/locale/generic/c_locale.cc: Likewise.

From-SVN: r124623
2007-05-11 18:58:08 +00:00
Benjamin Kosnik 8339896e55 stdexcept: Remove extra spacing.
2007-05-11  Benjamin Kosnik  <bkoz@redhat.com>

       * include/std/stdexcept: Remove extra spacing.

        * testsuite/19_diagnostics/stdexceptions.cc: Break into...
        * testsuite/19_diagnostics/bad_exception: ...this. Populate.
        * testsuite/19_diagnostics/logic_error: ... this.
        * testsuite/19_diagnostics/logic_error/what-1.cc: ...this.
        * testsuite/19_diagnostics/logic_error/what-2.cc: ...this.
        * testsuite/19_diagnostics/runtime_error: ...this.
        * testsuite/19_diagnostics/runtime_error/what-1.cc: ...this.
        * testsuite/19_diagnostics/runtime_error/what-2.cc: ...this.
        * testsuite/19_diagnostics/runtime_error/what-3.cc: ...this.
        * testsuite/19_diagnostics/23591_thread-1.c: Move...
        * testsuite/19_diagnostics/bad_exception/23591_thread-1.c: ...here.

From-SVN: r124621
2007-05-11 16:05:57 +00:00
Benjamin Kosnik fb8ffd109a type_traits (make_signed): Remove specializations for floating point types.
2007-05-08  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/type_traits (make_signed): Remove specializations
	for floating point types.
	(make_unsigned): Same.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Fix.
	* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Same.
	* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Same.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Same.
	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Same.

From-SVN: r124543
2007-05-08 12:10:48 +00:00
Jason Merrill fba10f59ff cxxabi-internal.h: Remove, to be replaced by...
* libsupc++/cxxabi-internal.h: Remove, to be replaced by...
        * libsupc++/cxxabi-forced.h: ...this new file.
        * include/ext/vstring.tcc: Include cxxabi-forced.h instead.
        * include/bits/istream.tcc: Likewise.
        * include/bits/ostream.tcc: Likewise.
        * include/bits/basic_string.tcc: Likewise.
        * include/bits/ostream_insert.h: Likewise.
        * include/bits/fstream.tcc: Likewise.
        * include/std/bitset: Likewise.
        * libsupc++/cxxabi.h: Restore previous contents.
        * Makefile.am (headers): Add cxxabi-forced.h.
        * Makefile.in: Regenerate.

From-SVN: r124539
2007-05-08 02:50:32 -04:00
Jason Merrill 04055200ed * include/bits/ostream.tcc (operator<<(char*)): Add __s.
From-SVN: r124522
2007-05-07 18:44:54 -04:00
Jason Merrill d05f74f16e re PR other/28145 (C++ (throw() and catch(...) {/* fall through */ } ) and pthread cancellation are incompatible (at least with NPTL))
PR c++/28145
        * libsupc++/cxxabi.h (__forced_unwind, __foreign_exception):
        New classes.
        * libsupc++/eh_exception.cc: Define their destructors.
        * config/abi/pre/gnu.ver: Export their type_infos.
        * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
        * libsupc++/eh_personality.cc: A handler for abi::__forced_unwind
        matches a forced unwind, and a handler for abi::__foreign_exception
        matches a foreign exception.

        * include/bits/istream.tcc: Rethrow forced unwind.
        * include/bits/ostream.tcc: Likewise.
        * include/bits/ostream_insert.h: Likewise.
        * include/bits/basic_string.tcc (operator>>, getline): Likewise.
        * include/bits/fstream.tcc (basic_filebuf::close): Likewise.
        * include/ext/vstring.cc (operator>>, getline): Likewise.
        * src/istream.cc: Likewise.
        * src/compatibility.cc (basic_istream::ignore): Likewise.
        * include/std/bitset (operator>>): Likewise.
        * include/std/fstream (basic_filebuf::close): Remove throw() spec.
        * libsupc++/cxxabi-internal.h: Split out from...
        * libsupc++/cxxabi.h: ...here.

From-SVN: r124517
2007-05-07 17:27:54 -04:00
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