fpc/tests/webtbs/tw17685.pp
florian 6ec0f2549a * factored load node flags out of node flags to gain space
+ implemented iso mode mod, resolves #17685

git-svn-id: trunk@19558 -
2011-10-30 15:14:21 +00:00

55 lines
773 B
ObjectPascal

{$mode iso}
{$modeswitch exceptions+}
program modulo( Output);
uses
sysutils;
var
i, j, m : integer;
begin
i := -10;
j := 100;
m := i mod j;
if m<>90 then
halt(1);
Writeln( ' m = (', i: 3, ') mod ', j: 3, ' = ', m: 3);
m := -10 mod 100;
Writeln( '-10 mod 100 = ', m :3);
if m<>-10 then
halt(1);
i := 10;
j := 100;
m := -i mod j;
Writeln( '-10 mod 100 = ', m :3);
if m<>-10 then
halt(1);
m:=(-10) mod 100;
Writeln( '(-10) mod 100 = ', m :3);
if m<>90 then
halt(1);
m:=10 mod 100;
Writeln( '10 mod 100 = ', m :3);
if m<>10 then
halt(1);
i:=10;
j:=-100;
try
m := 0;
m := i mod j;
except
on e : EDivByZero do
m:=$1234;
end;
if m<>$1234 then
halt(1);
writeln('ok');
end.