contrib/gcc-5.0/gcc/cp/decl.c
/* Do the processing for the end of a function body.  Currently, this means
   closing out the cleanups for fully-constructed bases and members, and in
   the case of the destructor, deleting the object if desired.  Again, this
   is only meaningful for [cd]tors, since they are the only functions where
   there is a significant distinction between the main body and any
   function catch clauses.  Handling, say, main() return semantics here
   would be wrong, as flowing off the end of a function catch clause for
   main() would also need to return 0.  */
Do the processing for the end of a function body.  Currently, this means
closing out the cleanups for fully-constructed bases and members, and in
the case of the destructor, deleting the object if desired.  Again, this
is only meaningful for [cd]tors, since they are the only functions where
there is a significant distinction between the main body and any
function catch clauses.  Handling, say, main() return semantics here
would be wrong, as flowing off the end of a function catch clause for
main() would also need to return 0.
Do the processing for the end of a function body . Currently this means closing out the cleanups for fully - constructed bases and members and in the case of the destructor deleting the object if desired . Again this is only meaningful for [ cd ] tors since they are the only functions where there is a significant distinction between the main body and any function catch clauses . Handling say main () return semantics here would be wrong as flowing off the end of a function catch clause for main () would also need to return 0 .
void
finish_function_body (tree compstmt)
{
  if (compstmt == NULL_TREE)
    return;
  finish_compound_stmt (compstmt);
  if (processing_template_decl)
    ;
  else if (DECL_CONSTRUCTOR_P (current_function_decl))
    finish_constructor_body ();
  else if (DECL_DESTRUCTOR_P (current_function_decl))
    finish_destructor_body ();
}
void finish_function_body ( tree compstmt ) { if ( compstmt == NULL_TREE ) return ; finish_compound_stmt ( compstmt ) ; if ( processing_template_decl ) ; else if ( DECL_CONSTRUCTOR_P ( current_function_decl ) ) finish_constructor_body ( ) ; else if ( DECL_DESTRUCTOR_P ( current_function_decl ) ) finish_destructor_body ( ) ; }
Do the processing for the end of a function body.
Do the processing for the end of a function body .
/* Close the block.  */ /* Do nothing now.  */