FreeBSD/contrib/gcc/cp/name-lookup.c
/* Bind DECL to ID in the current_binding_level, assumed to be a local
   binding level.  If PUSH_USING is set in FLAGS, we know that DECL
   doesn't really belong to this binding level, that it got here
   through a using-declaration.  */
Bind DECL to ID in the current_binding_level, assumed to be a local
binding level.  If PUSH_USING is set in FLAGS, we know that DECL
doesn't really belong to this binding level, that it got here
through a using-declaration.
Bind DECL to ID in the current_binding_level assumed to be a local binding level . If PUSH_USING is set in FLAGS we know that DECL doesn ' t really belong to this binding level that it got here through a using - declaration .
void
push_local_binding (tree id, tree decl, int flags)
{
  struct cp_binding_level *b;
  b = innermost_nonclass_level ();
  if (lookup_name_innermost_nonclass_level (id))
    {
      if (!supplement_binding (IDENTIFIER_BINDING (id), decl))
	return;
    }
  else
    push_binding (id, decl, b);
  if (TREE_CODE (decl) == OVERLOAD || (flags & PUSH_USING))
    decl = build_tree_list (NULL_TREE, decl);
  add_decl_to_level (decl, b);
}
void push_local_binding ( tree id , tree decl , int flags ) { struct cp_binding_level * b ; b = innermost_nonclass_level ( ) ; if ( lookup_name_innermost_nonclass_level ( id ) ) { if ( ! supplement_binding ( IDENTIFIER_BINDING ( id ) , decl ) ) return ; } else push_binding ( id , decl , b ) ; if ( TREE_CODE ( decl ) == OVERLOAD || ( flags & PUSH_USING ) ) decl = build_tree_list ( NULL_TREE , decl ) ; add_decl_to_level ( decl , b ) ; }
Bind DECL to ID in the current_binding_level, assumed to be a local
binding level.
Bind DECL to ID in the current_binding_level assumed to be a local binding level .
/* Skip over any local classes.  This makes sense if we call
     push_local_binding with a friend decl of a local class.  */ /* Supplement the existing binding.  */ /* It didn't work.  Something else must be bound at this
	   level.  Do not add DECL to the list of things to pop
	   later.  */ /* Create a new binding.  */ /* We must put the OVERLOAD into a TREE_LIST since the
       TREE_CHAIN of an OVERLOAD is already used.  Similarly for
       decls that got here through a using-declaration.  */ /* And put DECL on the list of things declared by the current
     binding level.  */