diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-10-06 06:01:27 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-10-06 06:01:27 +0000 |
commit | fbc1c83e2cee2521d6e0122f7a3b8572fac244e1 (patch) | |
tree | 2a84a351f2dd9e081499cea34c0929d359328dd0 /gcc/function.h | |
parent | 810ba5145dda3dbbf478746bd0167595b00ce903 (diff) | |
download | gcc-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.h | 5 |
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. */ |