FreeBSD/contrib/gcc/cp/cp-gimplify.c
/* Finish a scope which can be exited by a break or continue statement.
   LABEL was returned from the most recent call to begin_bc_block.  BODY is
   an expression for the contents of the scope.

   If we saw a break (or continue) in the scope, append a LABEL_EXPR to
   body.  Otherwise, just forget the label.  */
Finish a scope which can be exited by a break or continue statement.
LABEL was returned from the most recent call to begin_bc_block.  BODY is
an expression for the contents of the scope.

If we saw a break (or continue) in the scope, append a LABEL_EXPR to
body.  Otherwise, just forget the label.
Finish a scope which can be exited by a break or continue statement . LABEL was returned from the most recent call to begin_bc_block . BODY is an expression for the contents of the scope . If we saw a break ( or continue ) in the scope append a LABEL_EXPR to body . Otherwise just forget the label .
static tree
finish_bc_block (enum bc_t bc, tree label, tree body)
{
  gcc_assert (label == bc_label[bc]);
  if (TREE_USED (label))
    {
      tree t, sl = NULL;
      t = build1 (LABEL_EXPR, void_type_node, label);
      append_to_statement_list (body, &sl);
      append_to_statement_list (t, &sl);
      body = sl;
    }
  bc_label[bc] = TREE_CHAIN (label);
  TREE_CHAIN (label) = NULL_TREE;
  return body;
}
static tree finish_bc_block ( enum bc_t bc , tree label , tree body ) { gcc_assert ( label == bc_label [ bc ] ) ; if ( TREE_USED ( label ) ) { tree t , sl = NULL ; t = build1 ( LABEL_EXPR , void_type_node , label ) ; append_to_statement_list ( body , & sl ) ; append_to_statement_list ( t , & sl ) ; body = sl ; } bc_label [ bc ] = TREE_CHAIN ( label ) ; TREE_CHAIN ( label ) = NULL_TREE ; return body ; }
Finish a scope which can be exited by a break or continue statement.
Finish a scope which can be exited by a break or continue statement .