aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.h
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1999-05-30 07:33:11 -0600
committerJeff Law <law@gcc.gnu.org>1999-05-30 07:33:11 -0600
commit79f565f6bd80427f87c6d605497c5ca5d9bb2123 (patch)
tree24e646a562d8c65c5fd6a227d3e64fd56b4bcc1a /gcc/function.h
parent95e888e67746fd069db8a85cd8f96aa7d45c8ec8 (diff)
downloadgcc-79f565f6bd80427f87c6d605497c5ca5d9bb2123.zip
gcc-79f565f6bd80427f87c6d605497c5ca5d9bb2123.tar.gz
gcc-79f565f6bd80427f87c6d605497c5ca5d9bb2123.tar.bz2
[multiple changes]
Sun May 30 14:29:17 1999 Eric Raskin (ehr@listworks.com) * dgux.h (STARTFILE_SPEC): Fix incorrectly matched curly-braces. Sun May 30 14:19:13 1999 Jeffrey A Law (law@cygnus.com) * function.h (cleanup_label, frame_offset): Declare. (tail_recursion_label, tail_recursion_reentry): Likewise. (arg_pointer_save_area, rtl_expr_chain): Likewise. * stmt.c (cleanup_label, frame_offset): Delete extern declarations. (tail_recursion_label, tail_recursion_reentry): Likewise. (arg_pointer_save_area, rtl_expr_chain): Likewise. From-SVN: r27249
Diffstat (limited to 'gcc/function.h')
-rw-r--r--gcc/function.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/function.h b/gcc/function.h
index 878de9e..297c4f0 100644
--- a/gcc/function.h
+++ b/gcc/function.h
@@ -216,11 +216,40 @@ struct function
/* The FUNCTION_DECL for an inline function currently being expanded. */
extern tree inline_function_decl;
+/* Label that will go on parm cleanup code, if any.
+ Jumping to this label runs cleanup code for parameters, if
+ such code must be run. Following this code is the logical return label. */
+
+extern rtx cleanup_label;
+
/* Label that will go on function epilogue.
Jumping to this label serves as a "return" instruction
on machines which require execution of the epilogue on all returns. */
+
extern rtx return_label;
+/* Offset to end of allocated area of stack frame.
+ If stack grows down, this is the address of the last stack slot allocated.
+ If stack grows up, this is the address for the next slot. */
+extern HOST_WIDE_INT frame_offset;
+
+/* Label to jump back to for tail recursion, or 0 if we have
+ not yet needed one for this function. */
+extern rtx tail_recursion_label;
+
+/* Place after which to insert the tail_recursion_label if we need one. */
+extern rtx tail_recursion_reentry;
+
+/* Location at which to save the argument pointer if it will need to be
+ referenced. There are two cases where this is done: if nonlocal gotos
+ exist, or if vars whose is an offset from the argument pointer will be
+ needed by inner routines. */
+
+extern rtx arg_pointer_save_area;
+
+/* Chain of all RTL_EXPRs that have insns in them. */
+extern tree rtl_expr_chain;
+
/* List (chain of EXPR_LISTs) of all stack slots in this function.
Made for the sake of unshare_all_rtl. */
extern rtx stack_slot_list;