http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53970
--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-07-16 14:53:21 UTC --- The only hint we have on the a->l[i] expression that it involves a packed aggregate is DECL_ALIGN of the 'l' FIELD_DECL and TYPE_ALIGN of mystruct itself. Nowhere we have a TYPE/DECL_PACKED flag set. That is because how pragma pack works - it simply adjusts the global maximum_field_alignment of stor-layout.c. That means that expr.c:contains_packed_reference does not work.