| /* { dg-require-stack-size "0x12000" } */ | |
| #if __INT_MAX__ < 32768 | |
| int main () { exit (0); } | |
| #else | |
| int a[2] = { 2, 3 }; | |
| static int __attribute__((noinline)) | |
| bar (int x, void *b) | |
| { | |
| a[0]++; | |
| return x; | |
| } | |
| static int __attribute__((noinline)) | |
| foo (int x) | |
| { | |
| char buf[0x10000]; | |
| int y = a[0]; | |
| a[1] = y; | |
| x = bar (x, buf); | |
| y = bar (y, buf); | |
| return x + y; | |
| } | |
| int | |
| main () | |
| { | |
| if (foo (100) != 102) | |
| abort (); | |
| exit (0); | |
| } | |
| #endif |