target-def.h (TARGET_CXX_GET_COOKIE_SIZE, [...]): Define.
authorPaul Brook <paul@codesourcery.com>
Tue, 29 Jun 2004 14:50:35 +0000 (14:50 +0000)
committerPaul Brook <pbrook@gcc.gnu.org>
Tue, 29 Jun 2004 14:50:35 +0000 (14:50 +0000)
commit46e995e0e40e16ca159d6f5b116829700bbc269f
treef6a9a6cf28955476ec2789692fe97c33db01c297
parent50a2de961ffa6022ac3084c94f76d1462be04845
target-def.h (TARGET_CXX_GET_COOKIE_SIZE, [...]): Define.

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.

From-SVN: r83854
15 files changed:
gcc/ChangeLog
gcc/config/arm/arm.c
gcc/cp/ChangeLog
gcc/cp/Make-lang.in
gcc/cp/init.c
gcc/doc/tm.texi
gcc/target-def.h
gcc/target.h
gcc/targhooks.c
gcc/targhooks.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.old-deja/g++.abi/arraynew.C
gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C
libstdc++-v3/ChangeLog
libstdc++-v3/libsupc++/vec.cc