summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoretoh <etoh@openbsd.org>2003-10-07 01:21:32 +0000
committeretoh <etoh@openbsd.org>2003-10-07 01:21:32 +0000
commitba7f0dd7ba3ca6bdf52f966fc53f5043181f1dea (patch)
treefdb0e8596feec528179df3c9eb66cebe02fd12f9
parentcopy_args_for_protection: fix the problem that move_arg_location may corrupt the contents of DECL_RTL (parms). (diff)
downloadwireguard-openbsd-ba7f0dd7ba3ca6bdf52f966fc53f5043181f1dea.tar.xz
wireguard-openbsd-ba7f0dd7ba3ca6bdf52f966fc53f5043181f1dea.zip
rtl_epilogue: fix pp warning message trouble at -Wmissing-noreturn.
ok pvalchev@
-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)
{