1 /* { dg-do run } */ 2 3 extern void abort (void); 4 5 #if __SIZEOF_INT__ > 2 6 struct foo 7 { 8 int *f; 9 int i; 10 }; 11 12 int baz; 13 #else 14 struct foo 15 { 16 long *f; 17 long i; 18 }; 19 20 long baz; 21 #endif 22 23 void __attribute__ ((noinline)) bar(struct foo x)24bar (struct foo x) 25 { 26 *(x.f) = x.i; 27 } 28 29 int main()30main () 31 { 32 struct foo x = { &baz, 0xdeadbeef }; 33 34 bar (x); 35 36 if (baz != 0xdeadbeef) 37 abort (); 38 39 return 0; 40 } 41