[Bug bootstrap/42157] [4.5 regression] ICE building stage 1 libgcc: SEGV in compare_access_positions
rguenth at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Dec 11 23:06:00 GMT 2009
------- Comment #8 from rguenth at gcc dot gnu dot org 2009-12-11 23:05 -------
I think
/* Put the integral type with the bigger precision first. */
else if (INTEGRAL_TYPE_P (f1->type)
&& INTEGRAL_TYPE_P (f2->type)
&& TYPE_PRECISION (f1->type) != TYPE_PRECISION (f2->type))
return TYPE_PRECISION (f1->type) > TYPE_PRECISION (f2->type) ? -1 : 1;
makes more sense. But still if both types are equal we still do not stabilize
the sort.
Note
/* Put any integral type with non-full precision last. */
else if (INTEGRAL_TYPE_P (f1->type)
&& (TREE_INT_CST_LOW (TYPE_SIZE (f1->type))
!= TYPE_PRECISION (f1->type)))
return 1;
else if (INTEGRAL_TYPE_P (f2->type)
&& (TREE_INT_CST_LOW (TYPE_SIZE (f2->type))
!= TYPE_PRECISION (f2->type)))
return -1;
isn't stable either. In fact - can't we have two exactly the same
accesses in the array?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42157
More information about the Gcc-bugs
mailing list