This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]