FreeBSD/contrib/gcc/cp/name-lookup.c
/* Performs Koenig lookup depending on arguments, where fns
   are the functions found in normal lookup.  */
Performs Koenig lookup depending on arguments, where fns
are the functions found in normal lookup.
Performs Koenig lookup depending on arguments where fns are the functions found in normal lookup .
tree
lookup_arg_dependent (tree name, tree fns, tree args)
{
  struct arg_lookup k;
  timevar_push (TV_NAME_LOOKUP);
  fns = remove_hidden_names (fns);
  k.name = name;
  k.args = args;
  k.functions = fns;
  k.classes = NULL_TREE;
  k.namespaces = NULL_TREE;
  arg_assoc_args (&k, args);
  fns = k.functions;
  if (fns
      && TREE_CODE (fns) != VAR_DECL
      && !is_overloaded_fn (fns))
    {
      error ("argument dependent lookup finds %q+D", fns);
      error ("  in call to %qD", name);
      fns = error_mark_node;
    }
  POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, fns);
}
tree lookup_arg_dependent ( tree name , tree fns , tree args ) { struct arg_lookup k ; timevar_push ( TV_NAME_LOOKUP ) ; fns = remove_hidden_names ( fns ) ; k . name = name ; k . args = args ; k . functions = fns ; k . classes = NULL_TREE ; k . namespaces = NULL_TREE ; arg_assoc_args ( & k , args ) ; fns = k . functions ; if ( fns && TREE_CODE ( fns ) != VAR_DECL && ! is_overloaded_fn ( fns ) ) { error ( " " , fns ) ; error ( " " , name ) ; fns = error_mark_node ; } POP_TIMEVAR_AND_RETURN ( TV_NAME_LOOKUP , fns ) ; }
Performs Koenig lookup depending on arguments, where fns
are the functions found in normal lookup.
Performs Koenig lookup depending on arguments where fns are the functions found in normal lookup .
/* Remove any hidden friend functions from the list of functions
     found so far.  They will be added back by arg_assoc_class as
     appropriate.  */ /* We previously performed an optimization here by setting
     NAMESPACES to the current namespace when it was safe. However, DR
     164 says that namespaces that were already searched in the first
     stage of template processing are searched again (potentially
     picking up later definitions) in the second stage. */