$ cat star.c
#define MAX_POINTS 2000000
void run() {
double ds[MAX_POINTS];
ds[0] = 1.;
}
int main() {
run();
return 0;
}
$ gcc -c -fstack-usage star.c
$ cat star.su
star.c:3:6:run 15999896 static
star.c:8:5:main 16 static
$ ./a.out
Segmentation fault (core dumped)
$ gcc -c -Wstack-usage=10000 star.c
star.c: In function ‘run’:
star.c:6:1: warning: stack usage is 15999896 bytes [-Wstack-usage=]
}
^