[PATCH Reload fix for gcc.dg/20001108-1.c
Jakub Jelinek
jakub@redhat.com
Fri Nov 10 06:34:00 GMT 2000
Hi!
This patch fixes gcc.dg/20001108-1.c. The issue is that ia32 floating point
jumps
are parallels which set_label_offsets was not accepting, so the destination
label offsets_at was not updated. (we're having here severe networking
problems, so I have no idea when this makes it into gcc-patches and/or
whether somebody fixed it in the mean time).
2000-11-10 Jakub Jelinek <jakub@redhat.com>
* reload1.c (set_label_offsets): Go inside of PARALLELs.
--- gcc/reload1.c.jj Tue Nov 7 22:07:54 2000
+++ gcc/reload1.c Fri Nov 10 11:30:52 2000
@@ -2089,11 +2089,12 @@ set_label_offsets (x, insn, initial_p)
set_label_offsets (XEXP (tem, 0), insn, 1);
return;
+ case PARALLEL:
case ADDR_VEC:
case ADDR_DIFF_VEC:
- /* Each of the labels in the address vector must be at their initial
- offsets. We want the first field for ADDR_VEC and the second
- field for ADDR_DIFF_VEC. */
+ /* Each of the labels in the parallel or address vector must be
+ at their initial offsets. We want the first field for PARALLEL
+ and ADDR_VEC and the second field for ADDR_DIFF_VEC. */
for (i = 0; i < (unsigned) XVECLEN (x, code == ADDR_DIFF_VEC); i++)
set_label_offsets (XVECEXP (x, code == ADDR_DIFF_VEC, i),
Jakub
More information about the Gcc-patches
mailing list