| /* { dg-options "-O1 -fno-strict-aliasing" } */ | |
| /* PR rtl-optimization/41033 */ | |
| struct X { | |
| int i; | |
| int j; | |
| }; | |
| int foo(struct X *p, struct X *q) | |
| { | |
| p->j = 1; | |
| q->i = 0; | |
| return p->j; | |
| } | |
| extern void abort (void); | |
| int main() | |
| { | |
| struct X x; | |
| if (foo (&x, (struct X *)&x.j) != 0) | |
| abort (); | |
| return 0; | |
| } |