aboutsummaryrefslogtreecommitdiff
path: root/gcc/targhooks.c
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2004-06-25 17:15:46 +0000
committerPaul Brook <pbrook@gcc.gnu.org>2004-06-25 17:15:46 +0000
commit4185ae53974032b6760938b7818099cb7dddd28f (patch)
treeb8c2d8bd3079657353a50fef059902fbbf159bfe /gcc/targhooks.c
parent0da2c8ac77a61f9149fcbf3da36f7656aff96a4c (diff)
downloadgcc-4185ae53974032b6760938b7818099cb7dddd28f.zip
gcc-4185ae53974032b6760938b7818099cb7dddd28f.tar.gz
gcc-4185ae53974032b6760938b7818099cb7dddd28f.tar.bz2
target-def.h (TARGET_CXX_GUARD_TYPE, [...]): Define.
gcc/ * target-def.h (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT, TARGET_CXX): Define. (TARGET_INITIALIZER): Use TARGET_CXX. * target.h (struct gcc_target): Add struct cxx. * targhooks.h (default_cxx_guard_type): Add prototype. * targhooks.c (default_cxx_guard_type): New function. * config/arm/arm.c (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT): Define. (arm_cxx_guard_type, arm_cxx_guard_mask_bit): New functions. * doc/tm.texi: Document TARGET_CXX_GUARD_TYPE and TARGET_CXX_GUARD_MASK_BIT. gcc/cp/ * decl2.c (get_guard): Call targetm.cxx.guard_type. (get_guard_bits, get_guard_cond): Call targetm.cxx.guard_mask_bit. libstdc++/ * libsupc++/cxxabi.h: Define __ARM_EABI__ (__guard): Use it. * libsupc++/guard.h (__cxa_guard_acquire, __cxa_guard_release): Ditto. From-SVN: r83660
Diffstat (limited to 'gcc/targhooks.c')
-rw-r--r--gcc/targhooks.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index 80ac8721..5d2a75f 100644
--- a/gcc/targhooks.c
+++ b/gcc/targhooks.c
@@ -135,3 +135,11 @@ hook_bool_CUMULATIVE_ARGS_true (CUMULATIVE_ARGS * a ATTRIBUTE_UNUSED)
{
return true;
}
+
+
+/* The generic C++ ABI specifies this is a 64-bit value. */
+tree
+default_cxx_guard_type (void)
+{
+ return long_long_integer_type_node;
+}