diff options
author | Jason Merrill <jason@casey.cygnus.com> | 2000-03-02 23:50:11 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2000-03-02 18:50:11 -0500 |
commit | c2732da3bbdf6c723f562783fe383649f3f133e9 (patch) | |
tree | f69a6f6136385e1d2c8f5c79cf8274209b73b798 /gcc/function.h | |
parent | 16214ee327ce67a984cb98816fb1230ccca232ac (diff) | |
download | gcc-c2732da3bbdf6c723f562783fe383649f3f133e9.zip gcc-c2732da3bbdf6c723f562783fe383649f3f133e9.tar.gz gcc-c2732da3bbdf6c723f562783fe383649f3f133e9.tar.bz2 |
function.h (struct expr_status): Add x_arg_space_so_far.
* 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.
From-SVN: r32296
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 fb3ef49..9ede7a7 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) |