diff options
author | Paul Brook <paul@codesourcery.com> | 2004-06-25 17:15:46 +0000 |
---|---|---|
committer | Paul Brook <pbrook@gcc.gnu.org> | 2004-06-25 17:15:46 +0000 |
commit | 4185ae53974032b6760938b7818099cb7dddd28f (patch) | |
tree | b8c2d8bd3079657353a50fef059902fbbf159bfe /gcc/target-def.h | |
parent | 0da2c8ac77a61f9149fcbf3da36f7656aff96a4c (diff) | |
download | gcc-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/target-def.h')
-rw-r--r-- | gcc/target-def.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/target-def.h b/gcc/target-def.h index c537c9f..72fda5b 100644 --- a/gcc/target-def.h +++ b/gcc/target-def.h @@ -390,6 +390,22 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define TARGET_HANDLE_PRAGMA_EXTERN_PREFIX 0 #endif + +/* C++ specific. */ +#ifndef TARGET_CXX_GUARD_TYPE +#define TARGET_CXX_GUARD_TYPE default_cxx_guard_type +#endif + +#ifndef TARGET_CXX_GUARD_MASK_BIT +#define TARGET_CXX_GUARD_MASK_BIT hook_bool_void_false +#endif + +#define TARGET_CXX \ + { \ + TARGET_CXX_GUARD_TYPE, \ + TARGET_CXX_GUARD_MASK_BIT \ + } + /* The whole shebang. */ #define TARGET_INITIALIZER \ { \ @@ -435,6 +451,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. TARGET_BUILTIN_SETJMP_FRAME_VALUE, \ TARGET_MD_ASM_CLOBBERS, \ TARGET_CALLS, \ + TARGET_CXX, \ TARGET_HAVE_NAMED_SECTIONS, \ TARGET_HAVE_CTORS_DTORS, \ TARGET_HAVE_TLS, \ |