/* { dg-do compile } */ | |
/* { dg-options "-O2 -Wall" } */ | |
struct a { | |
int i; | |
}; | |
struct b { | |
struct a a; | |
int j; | |
}; | |
int main(void) | |
{ | |
static struct b b; | |
struct a *ap=(struct a *)&b; | |
return ((struct b *)&ap->i)->j; /* { dg-bogus "will break strict-aliasing" } */ | |
} | |