-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Fri, Aug 12, 2005 at 02:16:39PM -0700, Ian Lance Taylor wrote:
> Mike Stump <[EMAIL PROTECTED]> writes:
> > X can be run time selectable, OMF selectable, OS defined...
>
> No.
>
> Making the stack bigger by inlining is no different from making it
> bigger by declaring and using more local variables or calls to alloca.
void killme(void)
{
int x[1000000000000000000]; /* Let's kill 64-bitters too. */
int i;
for (i = 0; i < sizeof (x) / sizeof (x[0]); i++) {
printf("%d\n", x[i]);
}
}
volatile int keep_going = 1;
void forever(void)
{
while (keep_going) {
/* Pretend this is a loop in FreeCiv. */
ai_move_units();
next_turn();
}
killme();
}
You'd expect the attempt to grow the stack to be made only *after*
keep_going hits zero. I'd rather not have the compiler presume
certainty of a 10GB stack allocation, especially not if it's actually
pretty unlikely.
- --
"If you lie to the compiler, it will get its revenge." - Henry Spencer
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
iD8DBQFC/2rj/FmLrNfLpjMRAioFAJ9M/i9LXiofpXBi0pPV1SU8yk6eJgCeL/Uo
noiQWoWPZXHHHQBrriG6kd4=
=Bmte
-----END PGP SIGNATURE-----