This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
bug report.
- From: Gargoyle Crazy Master <tanaka at boarderz dot com>
- To: gcc at gcc dot gnu dot org
- Date: Sat, 24 Apr 2004 23:32:33 +0900 (JST)
- Subject: bug report.
I think I find bug. (gcc-3.4.0 and 3.5.0 20040424)
gcc/jump.c
-----------
int
onlyjump_p (rtx insn)
{
rtx set;
if (GET_CODE (insn) != JUMP_INSN)
return 0;
set = single_set (insn); <------------------ pc_set (insn)
if (set == NULL)
return 0;
-----------
and
----------- <gcc/jump.c>
static void
redirect_exp_1 (rtx *loc, rtx olabel, rtx nlabel, rtx insn)
{
rtx x = *loc;
:
:
if (code == SET && nlabel == 0 && SET_DEST (x) == pc_rtx
&& GET_CODE (SET_SRC (x)) == LABEL_REF
&& XEXP (SET_SRC (x), 0) == olabel)
{
validate_change (insn, loc, gen_rtx_RETURN (VOIDmode), 1);
change to
#ifdef HAVE_return
validate_change (insn, loc, gen_return (VOIDmode), 1);
#else
validate_change (insn, loc, gen_rtx_RETURN (VOIDmode), 1);
#endif
--------
Boarder. -> Katsuya TANAKA