1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
program tmacnonlocalgoto;
{$MODE MACPAS}
label
1;
var
failed: Boolean;
procedure Global(l: longint);
label 2;
procedure Local(v: longint);
begin
if (v = 1) then
Global(v+1)
else if (v = 3) then
goto 2
else
goto 1;
failed := true;
end;
begin
Local(l+1);
2:
if (l <> 2) then
failed := true;
Local(5);
failed := true;
end;
begin
failed := false;
Global(0);
1:
if failed then
writeln('Failed')
else
writeln('Succeded');
{$IFC NOT UNDEFINED FPC}
if failed then
Halt(1);
{$ENDC}
end.
|