1 struct S { float f; }; 2 int __attribute__((noinline)) foo(int * r,struct S * p)3foo (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()11int main() 12 { 13 int i = 1; 14 if (foo (&i, (struct S *)&i) != 1) 15 abort (); 16 return (0); 17 } 18