aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2004-08-31 20:29:28 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2004-08-31 20:29:28 +0000
commitaf287697443400b33dbfd2297bdcf63121e7bc86 (patch)
treeee8a8ed7c7cd3d552d036001e3c45b585e180905 /gcc/doc
parent678584fc80fc69fbd3c4f5f15d484ed6006f41be (diff)
downloadgcc-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.texi10
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