This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc/gcc hooks.c hooks.h target-def.h target.h ...
- From: mmitchel at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 31 Aug 2004 17:13:09 -0000
- Subject: gcc/gcc hooks.c hooks.h target-def.h target.h ...
CVSROOT: /cvs/gcc
Module name: gcc
Branch: csl-arm-branch
Changes by: mmitchel@gcc.gnu.org 2004-08-31 17:13:09
Modified files:
gcc : hooks.c hooks.h target-def.h target.h
gcc/cp : class.c cp-tree.h decl2.c
gcc/doc : tm.texi
Added files:
gcc/testsuite/g++.dg/abi: key1.C
Log message:
* hooks.c (hook_bool_void_true): New function.
* hooks.h (hook_bool_void_true): Declare.
* target-def.h (TARGET_CXX): Add
TARGET_CXX_KEY_METHOD_MAY_BE_INLINE.
* target.h (struct cxx): Add key_method_may_be_inline.
* config/arm/arm.c (arm_cxx_key_method_may_be_inline): New
function.
(TARGET_CXX_KEY_METHOD_MAY_BE_INLINE): New macro.
* config/arm/bpabi.h: Use __THUMB_INTERWORK__ instead of
__THUMB_INTERWORK.
* cp/class.c (key_method): Rename to ...
(determine_key_method): ... this.
(finish_struct_1): Adjust accordingly.
* cp/cp-tree.h (key_method): Declare.
* cp/decl2.c (import_export_vtable): Do not set the linkage for a
vtable before end-of-file on targets where an inline method cannot
be the key method.
(maybe_emit_vtables): Determine the key method here if it has not
already been done.
* doc/tm.texi (TARGET_CXX_KEY_METHOD_MAY_BE_INLINE): Document it.
* testsuite/g++.dg/abi/key1.C: New test.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/abi/key1.C.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/hooks.c.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.22.4.1&r2=1.22.4.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/hooks.h.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.23.4.1&r2=1.23.4.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/target-def.h.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.59.2.8&r2=1.59.2.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/target.h.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.67.2.9&r2=1.67.2.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/class.c.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.581.2.7&r2=1.581.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.930.2.7&r2=1.930.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl2.c.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.685.4.7&r2=1.685.4.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/tm.texi.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.264.2.15&r2=1.264.2.16