------- 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