pascaldragon at googlemail.com
Thu Sep 26 17:17:00 CEST 2013
On 26.09.2013 16:21, Carsten Bager wrote:
> Here is output from the 2.4.5 Compiler and the 2.62 compiler. of the following program
> compiled the same way.
> It has always been possible to eliminate runtime checking when incrementing a byte/word in
> this way (if one wants the byte to roll over).
> This is not possible with the 2.6.2 compiler. Is there a reason for this.
Range checking was simply missing for Succ/Pred before 2.6.0 and thus it
was a bug that needed to be fixed. It happened in context of
If you rely on this behavior you need to disable overflow and
rangechecks for these code parts, e.g.:
=== code begin ===
b := Byte(Succ(b));
=== code end ===
More information about the fpc-devel