Subject: Re: bug#18995: Error: Could not reserve dynamic heap area.

From: Andreas Schwab <[email-masked]>
Date: Sun, 09 Nov 2014 17:30:21 +0100

Eli Zaretskii <[email-masked]> writes:

> Given that, it is justified for GCC to give us what we deserve, i.e. a
> loop "unrolled" by executing its body only once.  I present the
> disassembly below, for the curious, and it's clear that there's no
> loop there, and also the value of 'size' is never tested at all, since
> GCC decided that the condition 'size > 0x00100000' is always true.

But if you replace 'size > 0x00100000' with true, you get a loop that is
conditionalized by '!ptr', which depends on the execution of the loop
body.  Why would it be correct to execute the loop only once,
unconditionally?

Andreas.

-- 
Andreas Schwab, [email-masked]
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."