Commit graph

2842 commits

Author SHA1 Message Date
Jonathan Wakely
86cdac1133 vector.tcc (erase(iterator, iterator), [...]): Qualify all calls to std::copy().
2004-12-29  Jonathan Wakely  <redi@gcc.gnu.org>

	* include/bits/vector.tcc (erase(iterator, iterator),
	operator=, _M_assign_aux(_ForwardIterator, _ForwardIterator,
	forward_iterator_tag)): Qualify all calls to std::copy().

From-SVN: r92724
2004-12-30 02:32:04 +00:00
GCC Administrator
b53948b951 Daily bump.
From-SVN: r92718
2004-12-30 00:16:33 +00:00
Paolo Carlini
5249b4b0ce type_traits: Add has_nothrow_constructor.
2004-12-29  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Add has_nothrow_constructor.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_constructor/has_nothrow_constructor.cc: New.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_constructor/typedefs.cc: Likewise.

From-SVN: r92699
2004-12-29 12:11:27 +00:00
GCC Administrator
85f3cc4295 Daily bump.
From-SVN: r92691
2004-12-29 00:16:14 +00:00
Jason Merrill
445cf5eb0d Add memory barriers to the double-checked locking used for static initialization.
libstdc++:
        Add memory barriers to the double-checked locking used for static
        initialization.
        * libsupc++/guard.cc (__test_and_acquire): Define default.
        (_GLIBCXX_GUARD_TEST_AND_ACQUIRE, __set_and_release)
        (_GLIBCXX_GUARD_SET_AND_RELEASE): Likewise.
        (recursion_push, recursion_pop): New abstraction functions.
        (__cxa_guard_acquire): Use _GLIBCXX_GUARD_TEST_AND_ACQUIRE.
        (__cxa_guard_release): Use _GLIBCXX_GUARD_SET_AND_RELEASE.
        * config/cpu/generic/cxxabi_tweaks.h (_GLIBCXX_GUARD_TEST): Rename
        from _GLIBCXX_GUARD_ACQUIRE and reverse sense.
        (_GLIBCXX_GUARD_SET): Rename from _GLIBCXX_GUARD_RELEASE.
        * config/cpu/arm/cxxabi_tweaks.h: Likewise.
        * config/cpu/alpha/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER)
        (_GLIBCXX_WRITE_MEM_BARRIER): Define.
        * config/cpu/powerpc/atomic_word.h: Likewise.
        * config/cpu/sparc/atomic_word.h: Likewise.
        * config/cpu/generic/atomic_word.h: Define them, commented out.
        * include/bits/atomicity.h: Define defaults.
        * config/cpu/ia64/atomic_word.h (__test_and_acquire)
        (__set_and_release): New inlines.
        (_GLIBCXX_GUARD_TEST_AND_ACQUIRE): Define.
        (_GLIBCXX_GUARD_SET_AND_RELEASE): Define.

        * libsupc++/guard.cc (acquire_1): Use __builtin_trap instead of
        abort();

gcc:
        * doc/tm.texi (TARGET_RELAXED_ORDERING): Document.
        * target.h (struct gcc_target): Add relaxed_ordering field.
        * target-def.h (TARGET_RELAXED_ORDERING): Define default.
        (TARGET_INITIALIZER): Add it.
        * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Define.
        * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Define.
        * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Define.
        * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define.
        * cp/decl.c (expand_static_init): Don't use shortcut if
        targetm.relaxed_ordering.

From-SVN: r92659
2004-12-27 23:36:54 -05:00
GCC Administrator
460fdb4efa Daily bump.
From-SVN: r92655
2004-12-28 00:16:20 +00:00
Paolo Carlini
5168743153 type_traits: Rework the _DEFINE_SPEC* macros.
2004-12-27  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Rework the _DEFINE_SPEC* macros.

From-SVN: r92647
2004-12-27 18:51:12 +00:00
GCC Administrator
e37ba56b57 Daily bump.
From-SVN: r92626
2004-12-27 00:16:18 +00:00
Paolo Carlini
fe9ddfce2c type_traits (__is_enum_helper): Slightly simplify, make __convert non template.
2004-12-26  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (__is_enum_helper): Slightly simplify,
	make __convert non template.

From-SVN: r92622
2004-12-26 19:05:47 +00:00
Paolo Carlini
1933b74f78 type_traits: Implement is_pod, has_trivial_constructor, and has_trivial_destructor.
2004-12-26  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_pod, has_trivial_constructor,
	and has_trivial_destructor.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_constructor/has_trivial_constructor.cc: New.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_constructor/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_destructor/has_trivial_destructor.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_destructor/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_pod/is_pod.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_pod/typedefs.cc: Likewise.

From-SVN: r92618
2004-12-26 11:08:47 +00:00
GCC Administrator
df96aa5261 Daily bump.
From-SVN: r92612
2004-12-26 00:16:13 +00:00
Paolo Carlini
310995eac7 type_traits (is_enum): Minor tweak.
2004-12-25  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (is_enum): Minor tweak.

From-SVN: r92605
2004-12-25 15:39:43 +00:00
Paolo Carlini
a9e7ba8139 type_traits: Implement is_enum (usual caveats about the nasty consequences of c++/19076...).
2004-12-25  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_enum (usual caveats about
	the nasty consequences of c++/19076...).
	* testsuite/testsuite_tr1.h: Add ConvType.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_scalar/is_scalar.cc: New.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_scalar/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_enum/is_enum.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_enum/typedefs.cc: Likewise.

From-SVN: r92604
2004-12-25 15:24:36 +00:00
GCC Administrator
fa54a7a743 Daily bump.
From-SVN: r92600
2004-12-25 00:16:31 +00:00
Paolo Carlini
e2f5c678eb type_traits: Add missing undef.
2004-12-24  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Add missing undef.

From-SVN: r92597
2004-12-24 23:38:27 +00:00
Paolo Carlini
186e6683b0 type_traits: Implement is_member_object_pointer, is_member_function_pointer.
2004-12-24  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_member_object_pointer,
	is_member_function_pointer. N.B. Due to c++/19076, the latter
	doesn't really work at the moment (a rather ugly work around
	will be provided in case the front-end bug doesn't get fixed
	soon); generalize and extend the _DEFINE_SPEC macros.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_member_pointer/is_member_pointer.cc: New.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_member_pointer/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_member_function_pointer/is_member_function_pointer.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_member_function_pointer/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_member_object_pointer/is_member_object_pointer.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_member_object_pointer/typedefs.cc: Likewise.

From-SVN: r92593
2004-12-24 20:33:56 +00:00
GCC Administrator
4a9dd33d4b Daily bump.
From-SVN: r92580
2004-12-24 00:16:14 +00:00
GCC Administrator
a1df694e93 Daily bump.
From-SVN: r92523
2004-12-23 00:16:26 +00:00
Paolo Carlini
821c5063f9 type_traits_fwd.h: New, forward declarations.
2004-12-22  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits_fwd.h: New, forward declarations.
	* include/tr1/type_traits: Clean-up.
	* include/Makefile.am: Add.
	* include/Makefile.in: Regenerate.

From-SVN: r92493
2004-12-22 18:40:52 +00:00
GCC Administrator
df35e33cd5 Daily bump.
From-SVN: r92479
2004-12-22 00:16:16 +00:00
GCC Administrator
f8c940c55c Daily bump.
From-SVN: r92443
2004-12-21 00:16:15 +00:00
GCC Administrator
49a1b20cb3 Daily bump.
From-SVN: r92399
2004-12-20 00:16:45 +00:00
Dhruv Matani
4c10d7f02f bitmap_allocator.h: Make doxygen style comments for internal functions and classes.
2004-12-19  Dhruv Matani  <dhruvbird@gmx.net>

	* include/ext/bitmap_allocator.h: Make doxygen style comments for
	internal functions and classes.

From-SVN: r92376
2004-12-19 11:17:40 +00:00
GCC Administrator
00a689881c Daily bump.
From-SVN: r92368
2004-12-19 00:16:18 +00:00
GCC Administrator
a1d601461e Daily bump.
From-SVN: r92343
2004-12-18 00:16:43 +00:00
GCC Administrator
67ba1be668 Daily bump.
From-SVN: r92290
2004-12-17 00:16:22 +00:00
Paolo Carlini
a02def09c3 type_traits: Implement add_const, add_volatile, and add_cv.
2004-12-16  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement add_const, add_volatile,
	and add_cv.
	* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
	add_const.cc: New.
	* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
	add_cv.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
	add_volatile.cc: Likewise.

From-SVN: r92265
2004-12-16 15:00:37 +00:00
Paolo Carlini
cacd0a2ccf type_traits: Implement is_function.
2004-12-16  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_function.
	(struct __sfinae_types, struct __is_function_helper): New.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_object/is_object.cc: New.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_object/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_function/is_function.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_function/typedefs.cc: Likewise.

From-SVN: r92258
2004-12-16 11:35:56 +00:00
GCC Administrator
6591c4a79d Daily bump.
From-SVN: r92237
2004-12-16 00:16:32 +00:00
GCC Administrator
a150cb057b Daily bump.
From-SVN: r92170
2004-12-15 00:16:21 +00:00
GCC Administrator
80effa7501 Daily bump.
From-SVN: r92112
2004-12-14 00:16:19 +00:00
Paolo Carlini
273dfd213e type_traits (extent): Minor tweak (i.e., public).
2004-12-13  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (extent): Minor tweak (i.e., public).

From-SVN: r92088
2004-12-13 15:01:02 +00:00
GCC Administrator
0ecbf41123 Daily bump.
From-SVN: r92070
2004-12-13 00:16:17 +00:00
Paolo Carlini
0736fd563f type_traits: Minor tweak.
2004-12-12  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Minor tweak.
	* testsuite/tr1/4_metaprogramming/type_properties/extent/
	typedefs.cc: Fix date.

From-SVN: r92062
2004-12-12 21:01:37 +00:00
Paolo Carlini
973cb10b2d type_traits: Implement extent.
2004-12-12  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement extent.
	* testsuite/tr1/4_metaprogramming/type_properties/extent/
	extent.cc: New.
	* testsuite/tr1/4_metaprogramming/type_properties/extent/
	typedefs.cc: Likewise.

From-SVN: r92054
2004-12-12 18:07:41 +00:00
Paolo Carlini
e192ab01d0 type_traits: Implement is_pointer, remove_pointer, and add_pointer; reformat.
2004-12-12  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_pointer, remove_pointer,
	and add_pointer; reformat.
	(_DEFINE_PRIMARY_SPEC_HELPER, _DEFINE_PRIMARY_SPEC): Generalize
	and rename to _DEFINE_SPEC_HELPER and _DEFINE_SPEC; update uses.
	* testsuite/tr1/4_metaprogramming/pointer_modifications/
	add_pointer.cc: New.
	* testsuite/tr1/4_metaprogramming/pointer_modifications/
	remove_pointer.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_pointer/is_pointer.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_pointer/typedefs.cc: Likewise.

	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_reference/is_reference.cc: Slightly tweak consistently.

From-SVN: r92047
2004-12-12 14:31:11 +00:00
GCC Administrator
00887145f4 Daily bump.
From-SVN: r92039
2004-12-12 00:16:15 +00:00
Paolo Carlini
db5ff2363d type_traits: Implement rank.
2004-12-11  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement rank.
	* testsuite/testsuite_tr1.h (test_property): Generalize to any
	value_type.
	(test_category, test_relationship): Slightly tweak consistently.
	* testsuite/tr1/4_metaprogramming/type_properties/rank/
	rank.cc: New.
	* testsuite/tr1/4_metaprogramming/type_properties/rank/
	typedefs.cc: Likewise.

	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_compound/is_compound.cc: New.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_compound/typedefs.cc: Likewise.

	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_arithmetic/is_arithmetic.cc: Tweak consistently with the
	testsuite_tr1.h changes.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_fundamental/is_fundamental.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_array/is_array.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_floating_point/is_floating_point.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_integral/is_integral.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_reference/is_reference.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_void/is_void.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/relationships_between_types/
	is_same/is_same.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/is_const/
	is_const.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/is_volatile/
	is_volatile.cc: Likewise.

From-SVN: r92033
2004-12-11 21:46:27 +00:00
GCC Administrator
aa6cc10ded Daily bump.
From-SVN: r92022
2004-12-11 00:16:20 +00:00
Paolo Carlini
d5f60056f0 type_traits: Implement remove_const, remove_volatile, and remove_cv.
2004-12-10  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement remove_const, remove_volatile,
	and remove_cv.
	* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
	remove_const.cc: New.
	* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
	remove_cv.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
	remove_volatile.cc: Likewise.

	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_array/is_array.cc: Slightly tweak consistently, remove typedefs,
	add a few tests.

From-SVN: r91990
2004-12-10 11:45:13 +00:00
GCC Administrator
3bcc0cde54 Daily bump.
From-SVN: r91982
2004-12-10 00:16:17 +00:00
Paolo Carlini
366e6bd173 type_traits: Implement remove_extent and remove_all_extents.
2004-12-09  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement remove_extent and
	remove_all_extents.
	* testsuite/tr1/4_metaprogramming/array_modifications/
	remove_all_extents.cc: New.
	* testsuite/tr1/4_metaprogramming/array_modifications/
	remove_extent.cc: Likewise.

From-SVN: r91958
2004-12-09 17:54:27 +00:00
GCC Administrator
1e6b30d091 Daily bump.
From-SVN: r91923
2004-12-09 00:16:17 +00:00
Paolo Carlini
d63a0e228c type_traits: Implement is_same, add_reference and remove_reference.
2004-12-08  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_same, add_reference and
	remove_reference.
	* testsuite/testsuite_tr1.h (test_relationship): New.
	* testsuite/tr1/4_metaprogramming/reference_modifications/
	add_reference.cc: New.
	* testsuite/tr1/4_metaprogramming/reference_modifications/
	remove_reference.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/relationships_between_types/
	is_same/is_same.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/relationships_between_types/
	is_same/typedefs.cc: Likewise.

	* testsuite/tr1/4_metaprogramming/type_properties/is_const/
	is_const.cc: Minor tweaks.
	* testsuite/tr1/4_metaprogramming/type_properties/is_volatile/
	is_volatile.cc: Likewise.

From-SVN: r91907
2004-12-08 16:33:51 +00:00
GCC Administrator
9492747a48 Daily bump.
From-SVN: r91840
2004-12-08 00:16:21 +00:00
Paolo Carlini
0f910b4f4f type_traits: Implement is_const and is_volatile.
2004-12-07  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_const and is_volatile.
	* testsuite/testsuite_tr1.h (test_property): New.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_const/is_const.c: New.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_const/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_volatile/is_volatile.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_volatile/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_arithmetic/is_arithmetic.cc: Slightly tweak to use ClassType
	from testsuite_tr1.h.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_fundamental/is_fundamental.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_array/is_array.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_floating_point/is_floating_point.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_integral/is_integral.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_reference/is_reference.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_void/is_void.cc: Likewise.

From-SVN: r91808
2004-12-07 16:40:46 +00:00
GCC Administrator
bddfe34a9e Daily bump.
From-SVN: r91797
2004-12-07 00:16:23 +00:00
Paolo Carlini
e21cb773e5 type_traits: Implement is_reference.
2004-12-06  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_reference.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_reference/is_reference.cc: New.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_reference/typedefs.cc: Likewise.

From-SVN: r91779
2004-12-06 15:47:05 +00:00
GCC Administrator
caace8f5df Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r91761.2
2004-12-06 00:16:20 +00:00
Richard Henderson
4ec3604f50 * include/ext/malloc_allocator.h: Include cstdlib.
From-SVN: r91737
2004-12-04 16:25:18 -08:00