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

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

Eli Zaretskii <[email-masked]> writes:

> It looked like a GCC bug at first, but as I tried to modify the source
> and look at the effect of that on the generated code, it finally
> dawned on me: GCC's loop-unrolling code simply correctly calculated
> that with the initial value of 0x68000000 and decrement of 0x00800000,
> the value of 'size' in the loop will never be less than 0x00100000,
> due to wraparound in the subtraction of unsigned values.

Before wraping around, size will become zero, which is definitely less
than 0x00100000.

Andreas.

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