aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.h
diff options
context:
space:
mode:
authorJason Merrill <jason@casey.cygnus.com>2000-03-02 23:50:11 +0000
committerJason Merrill <jason@gcc.gnu.org>2000-03-02 18:50:11 -0500
commitc2732da3bbdf6c723f562783fe383649f3f133e9 (patch)
treef69a6f6136385e1d2c8f5c79cf8274209b73b798 /gcc/function.h
parent16214ee327ce67a984cb98816fb1230ccca232ac (diff)
downloadgcc-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.h5
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)