FreeBSD/contrib/gcc/cp/call.c
/* Build and return a call to FN, using ARGS.  This function performs
   no overload resolution, conversion, or other high-level
   operations.  */
Build and return a call to FN, using ARGS.  This function performs
no overload resolution, conversion, or other high-level
operations.
Build and return a call to FN using ARGS . This function performs no overload resolution conversion or other high - level operations .
tree
build_cxx_call (tree fn, tree args)
{
  tree fndecl;
  fn = build_call (fn, args);
  fndecl = get_callee_fndecl (fn);
  if ((!fndecl || !TREE_NOTHROW (fndecl))
      && at_function_scope_p ()
      && cfun)
    cp_function_chain->can_throw = 1;
  fn = fold_if_not_in_template (fn);
  if (VOID_TYPE_P (TREE_TYPE (fn)))
    return fn;
  fn = require_complete_type (fn);
  if (fn == error_mark_node)
    return error_mark_node;
  if (IS_AGGR_TYPE (TREE_TYPE (fn)))
    fn = build_cplus_new (TREE_TYPE (fn), fn);
  return convert_from_reference (fn);
}
tree build_cxx_call ( tree fn , tree args ) { tree fndecl ; fn = build_call ( fn , args ) ; fndecl = get_callee_fndecl ( fn ) ; if ( ( ! fndecl || ! TREE_NOTHROW ( fndecl ) ) && at_function_scope_p ( ) && cfun ) cp_function_chain -> can_throw = 1 ; fn = fold_if_not_in_template ( fn ) ; if ( VOID_TYPE_P ( TREE_TYPE ( fn ) ) ) return fn ; fn = require_complete_type ( fn ) ; if ( fn == error_mark_node ) return error_mark_node ; if ( IS_AGGR_TYPE ( TREE_TYPE ( fn ) ) ) fn = build_cplus_new ( TREE_TYPE ( fn ) , fn ) ; return convert_from_reference ( fn ) ; }
Build and return a call to FN, using ARGS.
Build and return a call to FN using ARGS .
/* If this call might throw an exception, note that fact.  */ /* Some built-in function calls will be evaluated at compile-time in
     fold ().  */