/* { dg-do run } */ | |
extern void abort (void); | |
#if __SIZEOF_INT__ > 2 | |
struct foo | |
{ | |
int *f; | |
int i; | |
}; | |
int baz; | |
#else | |
struct foo | |
{ | |
long *f; | |
long i; | |
}; | |
long baz; | |
#endif | |
void __attribute__ ((noinline)) | |
bar (struct foo x) | |
{ | |
*(x.f) = x.i; | |
} | |
int | |
main () | |
{ | |
struct foo x = { &baz, 0xdeadbeef }; | |
bar (x); | |
if (baz != 0xdeadbeef) | |
abort (); | |
return 0; | |
} |