m3-sys/m3cc/gcc-apple/gcc/varasm.c
/* Given an assembly name, find the decl it is associated with.  At the
   same time, mark it needed for cgraph.  */
Given an assembly name, find the decl it is associated with.  At the
same time, mark it needed for cgraph.
Given an assembly name find the decl it is associated with . At the same time mark it needed for cgraph .
static tree
find_decl_and_mark_needed (tree decl, tree target)
{
  struct cgraph_node *fnode = NULL;
  struct cgraph_varpool_node *vnode = NULL;
  if (TREE_CODE (decl) == FUNCTION_DECL)
    {
      fnode = cgraph_node_for_asm (target);
      if (fnode == NULL)
	vnode = cgraph_varpool_node_for_asm (target);
    }
  else
    {
      vnode = cgraph_varpool_node_for_asm (target);
      if (vnode == NULL)
	fnode = cgraph_node_for_asm (target);
    }
  if (fnode)
    {
      if (! cgraph_global_info_ready)
	cgraph_mark_needed_node (fnode);
      return fnode->decl;
    }
  else if (vnode)
    {
      cgraph_varpool_mark_needed_node (vnode);
      return vnode->decl;
    }
  else
    return NULL_TREE;
}
static tree find_decl_and_mark_needed ( tree decl , tree target ) { struct cgraph_node * fnode = NULL ; struct cgraph_varpool_node * vnode = NULL ; if ( TREE_CODE ( decl ) == FUNCTION_DECL ) { fnode = cgraph_node_for_asm ( target ) ; if ( fnode == NULL ) vnode = cgraph_varpool_node_for_asm ( target ) ; } else { vnode = cgraph_varpool_node_for_asm ( target ) ; if ( vnode == NULL ) fnode = cgraph_node_for_asm ( target ) ; } if ( fnode ) { if ( ! cgraph_global_info_ready ) cgraph_mark_needed_node ( fnode ) ; return fnode -> decl ; } else if ( vnode ) { cgraph_varpool_mark_needed_node ( vnode ) ; return vnode -> decl ; } else return NULL_TREE ; }
Given an assembly name, find the decl it is associated with.
Given an assembly name find the decl it is associated with .
/* We can't mark function nodes as used after cgraph global info
	 is finished.  This wouldn't generally be necessary, but C++
	 virtual table thunks are introduced late in the game and
	 might seem like they need marking, although in fact they
	 don't.  */