/* PR middle-end/92373 - ICE in -Warray-bounds on access to member array in an initialized char buffer { dg-do compile } { dg-options "-O2 -Wall" } */ void sink (void*); struct S { char data[1]; }; char a[6] = { }; int f (void) { struct S *p = (struct S*)a; return p->data[4]; } void g (void) { char b[6] = { }; struct S *p = (struct S*)b; p->data[4] = 0; sink (p); }