------- Comment #12 from rguenth at gcc dot gnu dot org 2009-01-17 12:58 ------- Note that we have to be very careful here because
struct X { int i; }; struct A { int i; }; struct B { struct A a; int j; }; int foo (struct X *p, struct B *q) { p->i = 0; q->a.i = 1; return p->i; } may be aliasing. One need to consult the C standard and defect reports again for the "common initial sequence" in structs stuff. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13146