summaryrefslogtreecommitdiff
path: root/gnu/egcs/gcc/protector.c
diff options
context:
space:
mode:
authorHiroaki Etoh <etoh@cvs.openbsd.org>2003-10-07 01:21:33 +0000
committerHiroaki Etoh <etoh@cvs.openbsd.org>2003-10-07 01:21:33 +0000
commitd25b171484224ccd547391a4694f252acbdc5296 (patch)
tree2bf835a12c4642c7ac2ee64d821c36b22105f9b4 /gnu/egcs/gcc/protector.c
parent6db7ba32cea7f7b1f32c1a9f51896acc445a4d97 (diff)
rtl_epilogue: fix pp warning message trouble at -Wmissing-noreturn.
ok pvalchev@
Diffstat (limited to 'gnu/egcs/gcc/protector.c')
-rw-r--r--gnu/egcs/gcc/protector.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/gnu/egcs/gcc/protector.c b/gnu/egcs/gcc/protector.c
index ac4e780613c..47bfb8985e9 100644
--- a/gnu/egcs/gcc/protector.c
+++ b/gnu/egcs/gcc/protector.c
@@ -751,7 +751,7 @@ static void
rtl_epilogue (insn)
rtx insn;
{
- rtx if_false_label;
+ rtx if_false_label, end_label = 0;
rtx _val;
rtx funcname;
tree funcstr;
@@ -869,8 +869,19 @@ rtl_epilogue (insn)
emit_move_insn (current_function_return_rtx, return_reg);
emit_insn (gen_rtx_USE (VOIDmode, current_function_return_rtx));
}
+
+ end_label = gen_label_rtx ();
+ emit_jump (end_label);
}
+ /* Mark the end of the function body.
+ If control reaches this insn, the function can drop through
+ without returning a value. */
+ emit_note (NULL_PTR, NOTE_INSN_FUNCTION_END);
+
+ if (end_label)
+ emit_label (end_label);
+
#ifdef HAVE_return
if (HAVE_return && flag_have_return)
{