diff options
author | Mark Mitchell <mark@codesourcery.com> | 2004-08-31 20:29:28 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2004-08-31 20:29:28 +0000 |
commit | af287697443400b33dbfd2297bdcf63121e7bc86 (patch) | |
tree | ee8a8ed7c7cd3d552d036001e3c45b585e180905 /gcc/doc | |
parent | 678584fc80fc69fbd3c4f5f15d484ed6006f41be (diff) | |
download | gcc-af287697443400b33dbfd2297bdcf63121e7bc86.zip gcc-af287697443400b33dbfd2297bdcf63121e7bc86.tar.gz gcc-af287697443400b33dbfd2297bdcf63121e7bc86.tar.bz2 |
hooks.c (hook_bool_void_true): New function.
* 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.
* class.c (key_method): Rename to ...
(determine_key_method): ... this.
(finish_struct_1): Adjust accordingly.
* cp-tree.h (key_method): Declare.
* decl2.c (maybe_emit_vtables): Determine the key method here if
it has not already been done.
* g++.dg/abi/key1.C: New test.
From-SVN: r86843
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/tm.texi | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 2a87398..d1e59cf 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -8528,6 +8528,16 @@ the address of the object created/destroyed. The default is to return @code{false}. @end deftypefn +@deftypefn {Target Hook} bool TARGET_CXX_KEY_METHOD_MAY_BE_INLINE (void) +This hook returns true if the key method for a class (i.e., the method +which, if defined in the current translation unit, causes the virtual +table to be emitted) may be an inline function. Under the standard +Itanium C++ ABI the key method may be an inline function so long as +the function is not declared inline in the class definition. Under +some variants of the ABI, an inline function can never be the key +method. The default is to return @code{true}. +@end deftypefn + @node Misc @section Miscellaneous Parameters @cindex parameters, miscellaneous |