Adam Naumowicz adamn at math.uwb.edu.pl
Fri May 30 13:39:14 CEST 2003


Thanks for your response.

On Fri, 30 May 2003, Jonas Maebe wrote:

> On vrijdag, mei 30, 2003, at 12:47 Europe/Brussels, Adam Naumowicz
> wrote:
> > I found it a bit surprising that byte-variable overflow does not raise
> > EIntException...
> > I'm using FPC 1.0.6 (with -Co on the command line).
> Also use -Cr. An overflow and a range check are semantically exactly
> the same (you get a value which cannot be represented by a certain
> number of bits). However, Borland first introduced range checking that
> didn't catch overflows, so when they added overflow check, they made it
> a different switch for compatibility's sake. This means that FPC is
> also stuck with two switches for catching essentially the same error...

OK, so I understand that EIntOverflow is raised *only* when longint
variables capacity is exceeded, and in the case of booleans
ERangeError must be checked instead. Is that so?

Another question that I want to ask is why the following primitive sample
seems to work as expected but does not produce any output on Solaris
(using 1.0.6).
uses sysutils;
var i,k : Integer;

on Edivbyzero do writeln('div');
on Exception do writeln('other');

BTW, is there any chance that some Solaris binary distro newer than 1.0.6
can be obtained?
I tried to compile it myself but failed as it seems that
my compiler (and its RTL) are not sufficient to build the new one.

Best regards,
Adam Naumowicz

Department of Applied Logic            fax. +48 (85) 745-7662
Institute of Computer Science          tel. +48 (85) 745-7559 (office)
University of Bialystok                e-mail: adamn at mizar.org
Sosnowa 64, 15-887 Bialystok, Poland   http://math.uwb.edu.pl/~adamn/

More information about the fpc-pascal mailing list