FreeBSD/contrib/gcc/cp/decl.c
/* At the end of a function, all labels declared within the function
   go out of scope.  BLOCK is the top-level block for the
   function.  */
At the end of a function, all labels declared within the function
go out of scope.  BLOCK is the top-level block for the
function.
At the end of a function all labels declared within the function go out of scope . BLOCK is the top - level block for the function .
static int
pop_labels_1 (void **slot, void *data)
{
  struct named_label_entry *ent = (struct named_label_entry *) *slot;
  tree block = (tree) data;
  pop_label (ent->label_decl, NULL_TREE);
  TREE_CHAIN (ent->label_decl) = BLOCK_VARS (block);
  BLOCK_VARS (block) = ent->label_decl;
  htab_clear_slot (named_labels, slot);
  return 1;
}
static int pop_labels_1 ( void * * slot , void * data ) { struct named_label_entry * ent = ( struct named_label_entry * ) * slot ; tree block = ( tree ) data ; pop_label ( ent -> label_decl , NULL_TREE ) ; TREE_CHAIN ( ent -> label_decl ) = BLOCK_VARS ( block ) ; BLOCK_VARS ( block ) = ent -> label_decl ; htab_clear_slot ( named_labels , slot ) ; return 1 ; }
At the end of a function, all labels declared within the function
go out of scope.
At the end of a function all labels declared within the function go out of scope .
/* Put the labels into the "variables" of the top-level block,
     so debugger can see them.  */