fpc/tests/test/tunroll2.pp
2018-05-21 15:46:02 +00:00

60 lines
810 B
ObjectPascal

{ %OPT=-Ooloopunroll -Sg }
{$mode objfpc}
uses
sysutils;
var
c,i : Integer;
function f1 : Integer;
begin
for Result:=1 to 2 do
if (i=1234) and (Result=2) then
Exit;
end;
function f2 : Integer;
begin
for Result:=1 to 2 do
if (i=1234) and (Result=2) then
Break;
end;
function f3 : Integer;
label
Stop;
begin
for Result:=1 to 2 do
if (i=1234) and (Result=2) then
Goto Stop;
Stop:
end;
function f4 : Integer;
begin
Result:=-1;
for c:=1 to 2 do
if (i=1234) and (Result=2) then
Raise Exception.Create('Test');
end;
begin
i:=1234;
if f1<>2 then
halt(1);
if f2<>2 then
halt(1);
if f3<>2 then
halt(1);
try
f4;
except
if c<>2 then
halt(1);
end;
writeln('ok');
end.