FreeBSD/contrib/gcc/cp/class.c
/* Go through the TYPE_METHODS of T issuing any appropriate
   diagnostics, figuring out which methods override which other
   methods, and so forth.  */
Go through the TYPE_METHODS of T issuing any appropriate
diagnostics, figuring out which methods override which other
methods, and so forth.
Go through the TYPE_METHODS of T issuing any appropriate diagnostics figuring out which methods override which other methods and so forth .
static void
check_methods (tree t)
{
  tree x;
  for (x = TYPE_METHODS (t); x; x = TREE_CHAIN (x))
    {
      check_for_override (x, t);
      if (DECL_PURE_VIRTUAL_P (x) && ! DECL_VINDEX (x))
	error ("initializer specified for non-virtual method %q+D", x);
      if (DECL_VINDEX (x))
	{
	  TYPE_POLYMORPHIC_P (t) = 1;
	  if (DECL_PURE_VIRTUAL_P (x))
	    VEC_safe_push (tree, gc, CLASSTYPE_PURE_VIRTUALS (t), x);
	}
      if (DECL_DESTRUCTOR_P (x))
	{
	  TYPE_HAS_NONTRIVIAL_DESTRUCTOR (t) = 1;
	  CLASSTYPE_HAS_NONTRIVIAL_DESTRUCTOR_BODY (t) = 1;
	}
    }
}
static void check_methods ( tree t ) { tree x ; for ( x = TYPE_METHODS ( t ) ; x ; x = TREE_CHAIN ( x ) ) { check_for_override ( x , t ) ; if ( DECL_PURE_VIRTUAL_P ( x ) && ! DECL_VINDEX ( x ) ) error ( " " , x ) ; if ( DECL_VINDEX ( x ) ) { TYPE_POLYMORPHIC_P ( t ) = 1 ; if ( DECL_PURE_VIRTUAL_P ( x ) ) VEC_safe_push ( tree , gc , CLASSTYPE_PURE_VIRTUALS ( t ) , x ) ; } if ( DECL_DESTRUCTOR_P ( x ) ) { TYPE_HAS_NONTRIVIAL_DESTRUCTOR ( t ) = 1 ; CLASSTYPE_HAS_NONTRIVIAL_DESTRUCTOR_BODY ( t ) = 1 ; } } }
Go through the TYPE_METHODS of T issuing any appropriate
diagnostics, figuring out which methods override which other
methods, and so forth.
Go through the TYPE_METHODS of T issuing any appropriate diagnostics figuring out which methods override which other methods and so forth .
/* The name of the field is the original field name
	 Save this in auxiliary field for later overloading.  */ /* All user-declared destructors are non-trivial.  */ /* APPLE LOCAL begin omit calls to empty destructors 5559195 */ /* Conservatively assume that destructor body is nontrivial.  Will
	     be unmarked during parsing of function body if it happens to be
	     trivial. */ /* APPLE LOCAL end omit calls to empty destructors 5559195 */