summaryrefslogtreecommitdiff
path: root/gcc/jump.c
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2005-03-03 14:16:05 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2005-03-03 14:16:05 +0000
commitae6fb586d7e7a6bc62933732acbd425e64731cc3 (patch)
tree85761cda8c8770ba9a76fdc8f412a2b653813e7f /gcc/jump.c
parent052e6c28eda4da0dab5a770dda546571abfa60b9 (diff)
downloadgcc-ae6fb586d7e7a6bc62933732acbd425e64731cc3.tar.gz
* jump.c (redirect_exp_1): If nlabel is a NULL pointer create a
RETURN rtx, and not a LABEL_REF containing a NULL pointer. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95830 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/jump.c')
-rw-r--r--gcc/jump.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index 4af8b5a5a10..2bf4b2a5084 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -1539,7 +1539,10 @@ redirect_exp_1 (rtx *loc, rtx olabel, rtx nlabel, rtx insn)
}
else if (code == RETURN && olabel == 0)
{
- x = gen_rtx_LABEL_REF (VOIDmode, nlabel);
+ if (nlabel)
+ x = gen_rtx_LABEL_REF (VOIDmode, nlabel);
+ else
+ x = gen_rtx_RETURN (VOIDmode);
if (loc == &PATTERN (insn))
x = gen_rtx_SET (VOIDmode, pc_rtx, x);
validate_change (insn, loc, x, 1);