------- Comment #7 from rguenth at gcc dot gnu dot org 2005-10-24 11:55 -------
All of the fixes are wrong. The only safe thing papering over the problem is
disallowing this case with
Index: tree-ssa-structalias.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-ssa-structalias.c,v
retrieving revision 2.32
diff -c -3 -p -r2.32 tree-ssa-structalias.c
*** tree-ssa-structalias.c 6 Oct 2005 21:36:52 -0000 2.32
--- tree-ssa-structalias.c 24 Oct 2005 11:54:56 -0000
*************** check_for_overlaps (VEC (fieldoff_s,heap
*** 3033,3038 ****
--- 3033,3041 ----
for (i = 0; VEC_iterate (fieldoff_s, fieldstack, i, fo); i++)
{
+ if (lastoffset == -1
+ && fo->offset != 0)
+ return true;
if (fo->offset == lastoffset)
return true;
lastoffset = fo->offset;
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24351