25 lines
313 B
C
25 lines
313 B
C
|
/* { 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;
|
||
|
}
|