disallow GOTO when it could corrupt the estack
- this occurs inside a FOR or CASE statement - GOTO out of a WHILE or REPEAT loop works
This commit is contained in:
parent
42d8df9b85
commit
dd1e1f7b41
2 changed files with 36 additions and 7 deletions
22
tests/gototest.pas
Normal file
22
tests/gototest.pas
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
program gototest;
|
||||
var i:integer;
|
||||
label l1,l2;
|
||||
begin
|
||||
goto l1;
|
||||
writeln('skipped');
|
||||
l1: writeln('goto destination 1');
|
||||
{
|
||||
for i := 1 to 10 do
|
||||
begin
|
||||
goto l2;
|
||||
end;
|
||||
}
|
||||
{
|
||||
case i of
|
||||
1: writeln('1');
|
||||
2: goto l2;
|
||||
3..10: writeln('3 - 10');
|
||||
end;
|
||||
l2: writeln('goto destination 2');
|
||||
}
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue