/* { 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; | |
} |