This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [Bug gcc/12279] Re: GCC 3.4-20030913 VAX lossage.
- From: Ian Lance Taylor <ian at wasabisystems dot com>
- To: Matt Thomas <matt at 3am-software dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: 15 Sep 2003 21:43:00 -0700
- Subject: Re: [Bug gcc/12279] Re: GCC 3.4-20030913 VAX lossage.
- References: <C0E1432B-E7FE-11D7-825E-000A957020BC@3am-software.com>
Matt Thomas <matt@3am-software.com> writes:
> > This patch fixes the VAX ICE. It looks to me like the cfgcleanup.c
> > portion of this patch
> >
> > 2003-09-15 Ian Lance Taylor <ian@wasabisystems.com>
> >
> > * cfgcleanup.c (label_is_jump_target_p): Correct use of table
> > returned by tablejump_p.
>
> It helps but now the ICE has just moved down a few lines.
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x08307008 in label_is_jump_target_p (label=0x488a6988,
> jump_insn=0x488a7340)
> at /u2/toolchain/gcc/gcc/cfgcleanup.c:669
> 669 if (XEXP (RTVEC_ELT (vec, i), 0) == label)
> (gdb) list
> 664 rtvec vec = XVEC (tmp,
> 665 GET_CODE (PATTERN (tmp)) == ADDR_DIFF_VEC);
> 666 int i, veclen = GET_NUM_ELEM (vec);
> 667
> 668 for (i = 0; i < veclen; ++i)
> 669 if (XEXP (RTVEC_ELT (vec, i), 0) == label)
> 670 return true;
> 671 }
> 672
> 673 return false;
> (gdb) print i
> $1 = 0
How did you apply the patch? The above is not right. Line 664 should
be
rtvec vec = XVEC (PATTERN (tmp),
Ian