FreeBSD/contrib/gcc/cp/decl.c
/* Look for a label named ID in the current function.  If one cannot
   be found, create one.  (We keep track of used, but undefined,
   labels, and complain about them at the end of a function.)  */
Look for a label named ID in the current function.  If one cannot
be found, create one.  (We keep track of used, but undefined,
labels, and complain about them at the end of a function.)
Look for a label named ID in the current function . If one cannot be found create one . ( We keep track of used but undefined labels and complain about them at the end of a function . )
tree
lookup_label (tree id)
{
  tree decl;
  timevar_push (TV_NAME_LOOKUP);
  if (current_function_decl == NULL_TREE)
    {
      error ("label %qE referenced outside of any function", id);
      POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL_TREE);
    }
  decl = IDENTIFIER_LABEL_VALUE (id);
  if (decl != NULL_TREE && DECL_CONTEXT (decl) == current_function_decl)
    POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, decl);
  decl = make_label_decl (id, 0);
  POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, decl);
}
tree lookup_label ( tree id ) { tree decl ; timevar_push ( TV_NAME_LOOKUP ) ; if ( current_function_decl == NULL_TREE ) { error ( " " , id ) ; POP_TIMEVAR_AND_RETURN ( TV_NAME_LOOKUP , NULL_TREE ) ; } decl = IDENTIFIER_LABEL_VALUE ( id ) ; if ( decl != NULL_TREE && DECL_CONTEXT ( decl ) == current_function_decl ) POP_TIMEVAR_AND_RETURN ( TV_NAME_LOOKUP , decl ) ; decl = make_label_decl ( id , 0 ) ; POP_TIMEVAR_AND_RETURN ( TV_NAME_LOOKUP , decl ) ; }
Look for a label named ID in the current function.
Look for a label named ID in the current function .
/* You can't use labels at global scope.  */ /* See if we've already got this label.  */ /*local_p=*/