From a62b99b7d771e24814055934f8ee826b009cc37c Mon Sep 17 00:00:00 2001 From: jason Date: Thu, 2 Mar 2000 23:50:11 +0000 Subject: * function.h (struct expr_status): Add x_arg_space_so_far. (arg_space_so_far): New macro. * expr.c (init_expr): Initialize it. * calls.c (emit_call_1): Reset it. (compute_argument_block_size, expand_call): Use it. (expand_call, store_one_arg): Increment it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32296 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/function.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gcc/function.h') diff --git a/gcc/function.h b/gcc/function.h index fb3ef497563..9ede7a73d08 100644 --- a/gcc/function.h +++ b/gcc/function.h @@ -130,6 +130,10 @@ struct expr_status These are the arguments to function calls that have already returned. */ int x_pending_stack_adjust; + /* Number of units that we should eventually pop off the stack. + These are the arguments to function calls that have not happened yet. */ + int x_arg_space_so_far; + /* Under some ABIs, it is the caller's responsibility to pop arguments pushed for function calls. A naive implementation would simply pop the arguments immediately after each call. However, if several @@ -163,6 +167,7 @@ struct expr_status }; #define pending_stack_adjust (cfun->expr->x_pending_stack_adjust) +#define arg_space_so_far (cfun->expr->x_arg_space_so_far) #define inhibit_defer_pop (cfun->expr->x_inhibit_defer_pop) #define saveregs_value (cfun->expr->x_saveregs_value) #define apply_args_value (cfun->expr->x_apply_args_value) -- cgit v1.2.1