http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46488
--- Comment #41 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2010-12-01 21:53:23 UTC --- The warning machinery is faced with: (struct apr_bucket *) &a->list.next It doesn't warn because, although &a->list has a different type than struct apr_bucket, its field 'next' has the same type as the 'next' sub-field of the 'link' field of struct apr_bucket. Too much sophistication for the machinery. One would probably need to mimic the disambiguation rules of tree-ssa-alias.c. Richard, any idea?