> Message: 9 > Date: Wed, 9 Apr 2008 13:55:40 -0800 > From: Ricardo Vi?gas <[EMAIL PROTECTED]> > Subject: [fpc-pascal] Succ() and Pred() operations > > Hi there! > > I have installed FPC 2.2.0 [2007/09/09] a few days ago on my > WinXP-Pro-SP2, and I'm just taking a Web Tutorial on the language. > when I come to "User defined variable types", I decided to > make the following test: > > Program Test (Output); > Type Vars = (var0, var1); > Var x : Vars; > Begin > x := var1; > x := Succ (x); > Writeln ( Ord(x) ); > x := var0; > x := Pred (x); > Writeln ( Ord(x) ); > End. > > It compiled and executed without error, and returned > following 2 lines: > 2 > -1 > > Is that supposed to be the correct output, or should it have > pointed an error during execution? > The first symbol of the set has value "0", and second one, > value "1". To which symbols corresponds the values "2" and "-1"?
You can enable range checking {$R+}, which should then raise an error if the value goes out of range. Tested with FPC 2.3.1. Regards, Christo ---------------------------------------------------------------------------- NOTICE: Please note that this eMail, and the contents thereof, is subject to the standard Sasol eMail legal notice which may be found at: http://www.sasol.com/legalnotices If you cannot access the legal notice through the URL attached and you wish to receive a copy thereof please send an eMail to [EMAIL PROTECTED] ---------------------------------------------------------------------------- _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal