FreeBSD/contrib/gcc/cp/class.c
/* Determine the "key method" for the class type indicated by TYPE,
   and set CLASSTYPE_KEY_METHOD accordingly.  */
Determine the "key method" for the class type indicated by TYPE,
and set CLASSTYPE_KEY_METHOD accordingly.
Determine the " key method " for the class type indicated by TYPE and set CLASSTYPE_KEY_METHOD accordingly .
void
determine_key_method (tree type)
{
  tree method;
  if (TYPE_FOR_JAVA (type)
      || processing_template_decl
      || CLASSTYPE_TEMPLATE_INSTANTIATION (type)
      || CLASSTYPE_INTERFACE_KNOWN (type))
    return;
  for (method = TYPE_METHODS (type); method != NULL_TREE;
       method = TREE_CHAIN (method))
    if (DECL_VINDEX (method) != NULL_TREE
	&& ! DECL_DECLARED_INLINE_P (method)
	&& ! DECL_PURE_VIRTUAL_P (method))
      {
	CLASSTYPE_KEY_METHOD (type) = method;
	break;
      }
  return;
}
void determine_key_method ( tree type ) { tree method ; if ( TYPE_FOR_JAVA ( type ) || processing_template_decl || CLASSTYPE_TEMPLATE_INSTANTIATION ( type ) || CLASSTYPE_INTERFACE_KNOWN ( type ) ) return ; for ( method = TYPE_METHODS ( type ) ; method != NULL_TREE ; method = TREE_CHAIN ( method ) ) if ( DECL_VINDEX ( method ) != NULL_TREE && ! DECL_DECLARED_INLINE_P ( method ) && ! DECL_PURE_VIRTUAL_P ( method ) ) { CLASSTYPE_KEY_METHOD ( type ) = method ; break ; } return ; }
Determine the "key method" for the class type indicated by TYPE,
and set CLASSTYPE_KEY_METHOD accordingly.
Determine the " key method " for the class type indicated by TYPE and set CLASSTYPE_KEY_METHOD accordingly .
/* The key method is the first non-pure virtual function that is not
     inline at the point of class definition.  On some targets the
     key function may not be inline; those targets should not call
     this function until the end of the translation unit.  */