Commit 959f3a06 by Jeffrey A Law Committed by Jeff Law

calls.c (initialize_argument_info): Accept a pointer to CUMULATIVE_ARGS.

        * calls.c (initialize_argument_info): Accept a pointer to
        CUMULATIVE_ARGS.
        (expand_call): Pass the address of CUMULATIVE_ARGS.

From-SVN: r25646
parent e4cbe002
...@@ -12,6 +12,10 @@ Mon Mar 8 16:04:44 1999 Jim Wilson <wilson@cygnus.com> ...@@ -12,6 +12,10 @@ Mon Mar 8 16:04:44 1999 Jim Wilson <wilson@cygnus.com>
Mon Mar 8 15:27:42 1999 Jeffrey A Law (law@cygnus.com) Mon Mar 8 15:27:42 1999 Jeffrey A Law (law@cygnus.com)
* calls.c (initialize_argument_info): Accept a pointer to
CUMULATIVE_ARGS.
(expand_call): Pass the address of CUMULATIVE_ARGS.
* rs6000/xm-sysv4.h (HOST_BITS_PER_LONGLONG): Remove #if 0. * rs6000/xm-sysv4.h (HOST_BITS_PER_LONGLONG): Remove #if 0.
* mn10300.h (CASE_DROPS_THROUGH): Delete. * mn10300.h (CASE_DROPS_THROUGH): Delete.
......
...@@ -149,7 +149,7 @@ static void initialize_argument_information PROTO ((int, ...@@ -149,7 +149,7 @@ static void initialize_argument_information PROTO ((int,
struct arg_data *, struct arg_data *,
struct args_size *, struct args_size *,
int, tree, tree, int, tree, tree,
CUMULATIVE_ARGS, CUMULATIVE_ARGS *,
int, rtx *, int *, int, rtx *, int *,
int *, int *)); int *, int *));
...@@ -869,7 +869,7 @@ initialize_argument_information (num_actuals, args, args_size, n_named_args, ...@@ -869,7 +869,7 @@ initialize_argument_information (num_actuals, args, args_size, n_named_args,
int n_named_args; int n_named_args;
tree actparms; tree actparms;
tree fndecl; tree fndecl;
CUMULATIVE_ARGS args_so_far; CUMULATIVE_ARGS *args_so_far;
int reg_parm_stack_space; int reg_parm_stack_space;
rtx *old_stack_level; rtx *old_stack_level;
int *old_pending_adj; int *old_pending_adj;
...@@ -938,7 +938,7 @@ initialize_argument_information (num_actuals, args, args_size, n_named_args, ...@@ -938,7 +938,7 @@ initialize_argument_information (num_actuals, args, args_size, n_named_args,
&& contains_placeholder_p (TYPE_SIZE (type))) && contains_placeholder_p (TYPE_SIZE (type)))
|| TREE_ADDRESSABLE (type) || TREE_ADDRESSABLE (type)
#ifdef FUNCTION_ARG_PASS_BY_REFERENCE #ifdef FUNCTION_ARG_PASS_BY_REFERENCE
|| FUNCTION_ARG_PASS_BY_REFERENCE (args_so_far, TYPE_MODE (type), || FUNCTION_ARG_PASS_BY_REFERENCE (*args_so_far, TYPE_MODE (type),
type, argpos < n_named_args) type, argpos < n_named_args)
#endif #endif
) )
...@@ -947,7 +947,7 @@ initialize_argument_information (num_actuals, args, args_size, n_named_args, ...@@ -947,7 +947,7 @@ initialize_argument_information (num_actuals, args, args_size, n_named_args,
references instead of making a copy. */ references instead of making a copy. */
if (current_function_is_thunk if (current_function_is_thunk
#ifdef FUNCTION_ARG_CALLEE_COPIES #ifdef FUNCTION_ARG_CALLEE_COPIES
|| (FUNCTION_ARG_CALLEE_COPIES (args_so_far, TYPE_MODE (type), || (FUNCTION_ARG_CALLEE_COPIES (*args_so_far, TYPE_MODE (type),
type, argpos < n_named_args) type, argpos < n_named_args)
/* If it's in a register, we must make a copy of it too. */ /* If it's in a register, we must make a copy of it too. */
/* ??? Is this a sufficient test? Is there a better one? */ /* ??? Is this a sufficient test? Is there a better one? */
...@@ -1034,12 +1034,12 @@ initialize_argument_information (num_actuals, args, args_size, n_named_args, ...@@ -1034,12 +1034,12 @@ initialize_argument_information (num_actuals, args, args_size, n_named_args,
args[i].unsignedp = unsignedp; args[i].unsignedp = unsignedp;
args[i].mode = mode; args[i].mode = mode;
args[i].reg = FUNCTION_ARG (args_so_far, mode, type, args[i].reg = FUNCTION_ARG (*args_so_far, mode, type,
argpos < n_named_args); argpos < n_named_args);
#ifdef FUNCTION_ARG_PARTIAL_NREGS #ifdef FUNCTION_ARG_PARTIAL_NREGS
if (args[i].reg) if (args[i].reg)
args[i].partial args[i].partial
= FUNCTION_ARG_PARTIAL_NREGS (args_so_far, mode, type, = FUNCTION_ARG_PARTIAL_NREGS (*args_so_far, mode, type,
argpos < n_named_args); argpos < n_named_args);
#endif #endif
...@@ -1113,7 +1113,7 @@ initialize_argument_information (num_actuals, args, args_size, n_named_args, ...@@ -1113,7 +1113,7 @@ initialize_argument_information (num_actuals, args, args_size, n_named_args,
/* Increment ARGS_SO_FAR, which has info about which arg-registers /* Increment ARGS_SO_FAR, which has info about which arg-registers
have been used, etc. */ have been used, etc. */
FUNCTION_ARG_ADVANCE (args_so_far, TYPE_MODE (type), type, FUNCTION_ARG_ADVANCE (*args_so_far, TYPE_MODE (type), type,
argpos < n_named_args); argpos < n_named_args);
} }
} }
...@@ -1761,7 +1761,7 @@ expand_call (exp, target, ignore) ...@@ -1761,7 +1761,7 @@ expand_call (exp, target, ignore)
/* Build up entries inthe ARGS array, compute the size of the arguments /* Build up entries inthe ARGS array, compute the size of the arguments
into ARGS_SIZE, etc. */ into ARGS_SIZE, etc. */
initialize_argument_information (num_actuals, args, &args_size, n_named_args, initialize_argument_information (num_actuals, args, &args_size, n_named_args,
actparms, fndecl, args_so_far, actparms, fndecl, &args_so_far,
reg_parm_stack_space, &old_stack_level, reg_parm_stack_space, &old_stack_level,
&old_pending_adj, &must_preallocate, &old_pending_adj, &must_preallocate,
&is_const); &is_const);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment