diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-03-02 23:50:11 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-03-02 23:50:11 +0000 |
commit | a62b99b7d771e24814055934f8ee826b009cc37c (patch) | |
tree | f69a6f6136385e1d2c8f5c79cf8274209b73b798 /gcc/function.h | |
parent | 9277970b8aa7d109a4000e22684136155bcd8e11 (diff) | |
download | gcc-a62b99b7d771e24814055934f8ee826b009cc37c.tar.gz |
* 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
Diffstat (limited to 'gcc/function.h')
-rw-r--r-- | gcc/function.h | 5 |
1 files changed, 5 insertions, 0 deletions
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) |