> 10 - 5 = 5 > This is a different issue; 10-5 should not overflow regardless of the > type that is used for the calculation. > Daniël
I tried to compile and run with the 2.1.3 compiler (arm and i386) Both executables did run without runtime errors but the compilers gave a warning. The same program compiled with a Delphi7 Compiler does not give any warnings or errors. Carsten --------------------------- Arm Compiler output ------------------------------ linux-bh36:/Fpc/Pas/Linux/Test/Word32 # ./makearm.sh +---------------------------------+ | CFG file ver. 1.00 d. 19/9-2006 | +---------------------------------+ +---------------------------------+ | Cross compiling for ARM 9 Linux | +---------------------------------+ +--------------+ | Standard lib | +--------------+ Hint: End of reading config file /etc/fpc.cfg Free Pascal Compiler version 2.1.3 [2007/03/22] for arm Copyright (c) 1993-2007 by Florian Klaempfl Target OS: Linux for ARM Compiling word32test.pp word32test.pp(17,12) Warning: Type size mismatch, possible loss of data / range check error Assembling word32test Assembling with smartlinking word32test /Fpc/ArmBin/ar: creating libpword32test.a Linking word32test 19 lines compiled, 1.1 sec 1 warning(s) issued 2 hint(s) issued -------------------- I386 Compiler Output ---------------------------------------- linux-bh36:/Fpc/Pas/Linux/Test/Word32 # ./make386.sh +---------------------------------+ | CFG file ver. 1.00 d. 19/9-2006 | +---------------------------------+ +--------------------------+ | Compiling for I386 Linux | +--------------------------+ Hint: End of reading config file /etc/fpc.cfg Free Pascal Compiler version 2.1.3 [2007/03/22] for i386 Copyright (c) 1993-2007 by Florian Klaempfl Target OS: Linux for i386 Compiling word32test.pp word32test.pp(17,12) Warning: Type size mismatch, possible loss of data / range check error Linking word32test 19 lines compiled, 0.3 sec 1 warning(s) issued 2 hint(s) issued --------- The Program ----------------------------------------- program word32test; {$RANGECHECKS ON} {$OVERFLOWCHECKS ON} {$S+ STACK CHECKING ON} {$TYPEINFO ON} {$LONGSTRINGS OFF} var a,b,c:longWord; Begin a:=10; b:=5; writeLn('a=',a,' b=',b); c:= a - b; writeLn('Resultat : ',c); End. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal