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