FreeBSD/contrib/gcc/cp/decl.c
/* Remember a local name for name-mangling purposes.  */
Remember a local name for name-mangling purposes.
Remember a local name for name - mangling purposes .
static void
push_local_name (tree decl)
{
  size_t i, nelts;
  tree t, name;
  timevar_push (TV_NAME_LOOKUP);
  name = DECL_NAME (decl);
  nelts = VEC_length (tree, local_names);
  for (i = 0; i < nelts; i++)
    {
      t = VEC_index (tree, local_names, i);
      if (DECL_NAME (t) == name)
	{
	  if (!DECL_LANG_SPECIFIC (decl))
	    retrofit_lang_decl (decl);
	  DECL_LANG_SPECIFIC (decl)->decl_flags.u2sel = 1;
	  if (DECL_LANG_SPECIFIC (t))
	    DECL_DISCRIMINATOR (decl) = DECL_DISCRIMINATOR (t) + 1;
	  else
	    DECL_DISCRIMINATOR (decl) = 1;
	  VEC_replace (tree, local_names, i, decl);
	  timevar_pop (TV_NAME_LOOKUP);
	  return;
	}
    }
  VEC_safe_push (tree, gc, local_names, decl);
  timevar_pop (TV_NAME_LOOKUP);
}
static void push_local_name ( tree decl ) { size_t i , nelts ; tree t , name ; timevar_push ( TV_NAME_LOOKUP ) ; name = DECL_NAME ( decl ) ; nelts = VEC_length ( tree , local_names ) ; for ( i = 0 ; i < nelts ; i ++ ) { t = VEC_index ( tree , local_names , i ) ; if ( DECL_NAME ( t ) == name ) { if ( ! DECL_LANG_SPECIFIC ( decl ) ) retrofit_lang_decl ( decl ) ; DECL_LANG_SPECIFIC ( decl ) -> decl_flags . u2sel = 1 ; if ( DECL_LANG_SPECIFIC ( t ) ) DECL_DISCRIMINATOR ( decl ) = DECL_DISCRIMINATOR ( t ) + 1 ; else DECL_DISCRIMINATOR ( decl ) = 1 ; VEC_replace ( tree , local_names , i , decl ) ; timevar_pop ( TV_NAME_LOOKUP ) ; return ; } } VEC_safe_push ( tree , gc , local_names , decl ) ; timevar_pop ( TV_NAME_LOOKUP ) ; }
Remember a local name for name-mangling purposes.
Remember a local name for name - mangling purposes .