| void abort (void); | |
| void exit (int); | |
| struct a; | |
| extern int baz (struct a *__restrict x); | |
| struct a { | |
| long v; | |
| long w; | |
| }; | |
| struct b { | |
| struct a c; | |
| struct a d; | |
| }; | |
| int bar (int x, const struct b *__restrict y, struct b *__restrict z) | |
| { | |
| if (y->c.v || y->c.w != 250000 || y->d.v || y->d.w != 250000) | |
| abort(); | |
| } | |
| void foo(void) | |
| { | |
| struct b x; | |
| x.c.v = 0; | |
| x.c.w = 250000; | |
| x.d = x.c; | |
| bar(0, &x, ((void *)0)); | |
| } | |
| int main() | |
| { | |
| foo(); | |
| exit(0); | |
| } |