diff options
author | pbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-06-29 14:50:35 +0000 |
---|---|---|
committer | pbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-06-29 14:50:35 +0000 |
commit | 600f4be72c2b85173c384b38c1c0be907583a931 (patch) | |
tree | f6a9a6cf28955476ec2789692fe97c33db01c297 /gcc/target-def.h | |
parent | c295e612e9fe12d597278539b6e7b7080df93787 (diff) | |
download | gcc-600f4be72c2b85173c384b38c1c0be907583a931.tar.gz |
gcc/
* target-def.h (TARGET_CXX_GET_COOKIE_SIZE,
TARGET_CXX_COOKIE_HAS_SIZE): Define.
(TARGET_CXX): Use them.
* target.h (struct gcc_target): Add cxx.get_cookie_size and
cxx.cookie_has_size.
* targhooks.c (default_cxx_get_cookie_size): New fucntion.
* targhooks.h (default_cxx_get_cookie_size): Add prototype.
* config/arm/arm.c (TARGET_CXX_GET_COOKIE_SIZE,
TARGET_CXX_COOKIE_HAS_SIZE): Define.
(arm_get_cookie_size, arm_cookie_has_size): New functions.
* Make-lang.in (cp/init.o): Add dependency on $(TARGET_H).
* doc/tm.texi: Document TARGET_CXX_GET_COOKIE_SIZE and
TARGET_CXX_COOKIE_HAS_SIZE.
gcc/cp/
* init.c: Include target.h.
(get_cookie_size): Remove and replace with target hook.
Update callers.
(build_new_1): Store the element size in the cookie.
libstdc++-v3/
* libsupc++/vec.cc (__cxa_vec_new2, __cxa_vec_new3): Store the
element size in the cookie.
testsuite/
* g++.old-deja/g++.abi/arraynew.C: Handle ARM EABI cookies.
* g++.old-deja/g++.abi/cxa_vec.C: Allocate larger cookies for AEABI.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83854 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/target-def.h')
-rw-r--r-- | gcc/target-def.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/target-def.h b/gcc/target-def.h index 72fda5b2ab5..0761a06f716 100644 --- a/gcc/target-def.h +++ b/gcc/target-def.h @@ -400,10 +400,20 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define TARGET_CXX_GUARD_MASK_BIT hook_bool_void_false #endif +#ifndef TARGET_CXX_GET_COOKIE_SIZE +#define TARGET_CXX_GET_COOKIE_SIZE default_cxx_get_cookie_size +#endif + +#ifndef TARGET_CXX_COOKIE_HAS_SIZE +#define TARGET_CXX_COOKIE_HAS_SIZE hook_bool_void_false +#endif + #define TARGET_CXX \ { \ TARGET_CXX_GUARD_TYPE, \ - TARGET_CXX_GUARD_MASK_BIT \ + TARGET_CXX_GUARD_MASK_BIT, \ + TARGET_CXX_GET_COOKIE_SIZE, \ + TARGET_CXX_COOKIE_HAS_SIZE \ } /* The whole shebang. */ |