summaryrefslogtreecommitdiff
path: root/gcc/function.h
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-10-06 06:01:27 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-10-06 06:01:27 +0000
commitfbc1c83e2cee2521d6e0122f7a3b8572fac244e1 (patch)
tree2a84a351f2dd9e081499cea34c0929d359328dd0 /gcc/function.h
parent810ba5145dda3dbbf478746bd0167595b00ce903 (diff)
downloadgcc-fbc1c83e2cee2521d6e0122f7a3b8572fac244e1.tar.gz
* c-decl.c (warn_missing_noreturn): Remove.
(c_expand_body): Don't set or check can_reach_end. * c-tree.h (warn_missing_noreturn): Move ... * flags.h: ... here. (can_reach_end): Remove. * flow.c (check_function_return_warnings): New. (make_edges): No edge to exit for noreturn sibcalls. * function.c (expand_function_end): Save the return value clobber instruction. (mark_function_status): Mark it. * function.h (struct function): Add x_clobber_return_insn. * jump.c (can_reach_end): Remove. (calculate_can_reach_end): Remove. (jump_optimize_1): Don't call it. * output.h (check_function_return_warnings): Declare. * toplev.c (warn_missing_noreturn): Move from c-decl.c (rest_of_compilation): Call check_function_return_warnings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36750 138bc75d-0d04-0410-961f-82ee72b054a4
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 3912d859790..f3124a7b71a 100644
--- a/gcc/function.h
+++ b/gcc/function.h
@@ -373,6 +373,11 @@ struct function
needed by inner routines. */
rtx x_arg_pointer_save_area;
+ /* If the function returns non-void, we will emit a clobber of the
+ return registers just in case the user fell off the end without
+ returning a proper value. This is that insn. */
+ rtx x_clobber_return_insn;
+
/* 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. */