| #include <assert.h> | |
| int a, *b, c, d, f, **i, p, q, *r; | |
| short o, j; | |
| static int __attribute__((noinline, noclone)) | |
| fn1 (int *p1, int **p2) | |
| { | |
| int **e = &b; | |
| for (; p; p++) | |
| *p1 = 1; | |
| *e = *p2 = &d; | |
| assert (r); | |
| return c; | |
| } | |
| static int ** __attribute__((noinline, noclone)) | |
| fn2 (void) | |
| { | |
| for (f = 0; f != 42; f++) | |
| { | |
| int *g[3] = {0, 0, 0}; | |
| for (o = 0; o; o--) | |
| for (; a > 1;) | |
| { | |
| int **h[1] = { &g[2] }; | |
| } | |
| } | |
| return &r; | |
| } | |
| int | |
| main (void) | |
| { | |
| i = fn2 (); | |
| fn1 (b, i); | |
| return 0; | |
| } |