FreeBSD/contrib/gcc/c-common.c
/* Finish an expression taking the address of LABEL (an
   IDENTIFIER_NODE).  Returns an expression for the address.  */
Finish an expression taking the address of LABEL (an
IDENTIFIER_NODE).  Returns an expression for the address.
Finish an expression taking the address of LABEL ( an IDENTIFIER_NODE ) . Returns an expression for the address .
tree
finish_label_address_expr (tree label)
{
  tree result;
  if (pedantic)
    pedwarn ("taking the address of a label is non-standard");
  if (label == error_mark_node)
    return error_mark_node;
  label = lookup_label (label);
  if (label == NULL_TREE)
    result = null_pointer_node;
  else
    {
      TREE_USED (label) = 1;
      result = build1 (ADDR_EXPR, ptr_type_node, label);
    }
  return result;
}
tree finish_label_address_expr ( tree label ) { tree result ; if ( pedantic ) pedwarn ( " " ) ; if ( label == error_mark_node ) return error_mark_node ; label = lookup_label ( label ) ; if ( label == NULL_TREE ) result = null_pointer_node ; else { TREE_USED ( label ) = 1 ; result = build1 ( ADDR_EXPR , ptr_type_node , label ) ; } return result ; }
Finish an expression taking the address of LABEL (an
IDENTIFIER_NODE).
Finish an expression taking the address of LABEL ( an IDENTIFIER_NODE ) .
/* The current function in not necessarily uninlinable.
	 Computed gotos are incompatible with inlining, but the value
	 here could be used only in a diagnostic, for example.  */