1 struct S { float f; };
2 int __attribute__((noinline))
foo(int * r,struct S * p)3 foo (int *r, struct S *p)
4 {
5   int *q = (int *)&p->f;
6   int i = *q;
7   *r = 0;
8   return i + *q;
9 }
10 extern void abort (void);
main()11 int main()
12 {
13   int i = 1;
14   if (foo (&i, (struct S *)&i) != 1)
15     abort ();
16   return (0);
17 }
18