contrib/gcc-4.7/gcc/cp/decl.c
/* Do all the processing for the beginning of a destructor; set up the
   vtable pointers and cleanups for bases and members.  */
Do all the processing for the beginning of a destructor; set up the
vtable pointers and cleanups for bases and members.
Do all the processing for the beginning of a destructor ; set up the vtable pointers and cleanups for bases and members .
static void
begin_destructor_body (void)
{
  tree compound_stmt;
  if (COMPLETE_TYPE_P (current_class_type))
    {
      compound_stmt = begin_compound_stmt (0);
      initialize_vtbl_ptrs (current_class_ptr);
      finish_compound_stmt (compound_stmt);
      push_base_cleanups ();
    }
}
static void begin_destructor_body ( void ) { tree compound_stmt ; if ( COMPLETE_TYPE_P ( current_class_type ) ) { compound_stmt = begin_compound_stmt ( 0 ) ; initialize_vtbl_ptrs ( current_class_ptr ) ; finish_compound_stmt ( compound_stmt ) ; push_base_cleanups ( ) ; } }
Do all the processing for the beginning of a destructor; set up the
vtable pointers and cleanups for bases and members.
Do all the processing for the beginning of a destructor ; set up the vtable pointers and cleanups for bases and members .
/* If the CURRENT_CLASS_TYPE is incomplete, we will have already
     issued an error message.  We still want to try to process the
     body of the function, but initialize_vtbl_ptrs will crash if
     TYPE_BINFO is NULL.  */ /* Make all virtual function table pointers in non-virtual base
	 classes point to CURRENT_CLASS_TYPE's virtual function
	 tables.  */ /* And insert cleanups for our bases and members so that they
	 will be properly destroyed if we throw.  */