/* { dg-do compile } */ /* { dg-skip-if "small alignment" { pdp11-*-* } } */ extern void abort (void); typedef struct Bar { char c[129]; } Bar __attribute__((__aligned__(128))); typedef struct Foo { Bar bar[4]; /* { dg-error "size of array element is not a multiple of its alignment" } */ } Foo; Foo foo[4]; int main() { int i, j; Foo *foop = &foo[0]; for (i=0; i < 4; i++) { Bar *bar = &foop->bar[i]; for (j=0; j < 129; j++) { bar->c[j] = 'a' + i; } } if (foo[0].bar[3].c[128] != 'd') abort (); return 0; }