mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-13 10:09:23 +02:00
* fix loop variable
This commit is contained in:
parent
f64d66fa48
commit
409e9c5606
@ -4,54 +4,56 @@ program tjmp;
|
|||||||
|
|
||||||
var
|
var
|
||||||
global_envbuf: jmp_buf;
|
global_envbuf: jmp_buf;
|
||||||
|
|
||||||
|
|
||||||
type
|
type
|
||||||
tmyobject = object
|
tmyobject = object
|
||||||
envbuf : jmp_buf;
|
envbuf : jmp_buf;
|
||||||
i, j : integer;
|
j : integer;
|
||||||
jmpresult : integer;
|
jmpresult : integer;
|
||||||
constructor init;
|
constructor init;
|
||||||
destructor done;
|
destructor done;
|
||||||
procedure testlongjmp;virtual;
|
procedure testlongjmp;virtual;
|
||||||
procedure testsetjmp;virtual;
|
procedure testsetjmp;virtual;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
pderivedobject = ^tderivedobject;
|
pderivedobject = ^tderivedobject;
|
||||||
tderivedobject = object(tmyobject)
|
tderivedobject = object(tmyobject)
|
||||||
procedure testlongjmp; virtual;
|
procedure testlongjmp; virtual;
|
||||||
procedure testsetjmp; virtual;
|
procedure testsetjmp; virtual;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
constructor tmyobject.init;
|
constructor tmyobject.init;
|
||||||
begin
|
begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
destructor tmyobject.done;
|
destructor tmyobject.done;
|
||||||
begin
|
begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure tmyobject.testlongjmp;
|
procedure tmyobject.testlongjmp;
|
||||||
begin
|
begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure tmyobject.testsetjmp;
|
procedure tmyobject.testsetjmp;
|
||||||
begin
|
begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure tderivedobject.testlongjmp;
|
procedure tderivedobject.testlongjmp;
|
||||||
begin
|
begin
|
||||||
longjmp(envbuf, 255);
|
longjmp(envbuf, 255);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure tderivedobject.testsetjmp;
|
procedure tderivedobject.testsetjmp;
|
||||||
|
var
|
||||||
|
i : integer;
|
||||||
begin
|
begin
|
||||||
j:=0;
|
j:=0;
|
||||||
jmpresult:=setjmp(envbuf);
|
jmpresult:=setjmp(envbuf);
|
||||||
@ -63,7 +65,7 @@ procedure tderivedobject.testsetjmp;
|
|||||||
j:=j + 13;
|
j:=j + 13;
|
||||||
if j = 13 then
|
if j = 13 then
|
||||||
self.testlongjmp;
|
self.testlongjmp;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
255 : WriteLn('Sucess!');
|
255 : WriteLn('Sucess!');
|
||||||
else
|
else
|
||||||
@ -78,8 +80,8 @@ procedure testlongjmp;
|
|||||||
begin
|
begin
|
||||||
longjmp(global_envbuf, 255);
|
longjmp(global_envbuf, 255);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure testsetjmp;
|
procedure testsetjmp;
|
||||||
var
|
var
|
||||||
i, j : integer;
|
i, j : integer;
|
||||||
@ -95,7 +97,7 @@ procedure testsetjmp;
|
|||||||
j:=j + 13;
|
j:=j + 13;
|
||||||
if j = 13 then
|
if j = 13 then
|
||||||
testlongjmp;
|
testlongjmp;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
255 : WriteLn('Sucess!');
|
255 : WriteLn('Sucess!');
|
||||||
else
|
else
|
||||||
@ -105,7 +107,7 @@ procedure testsetjmp;
|
|||||||
end
|
end
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
var
|
var
|
||||||
pobj : pderivedobject;
|
pobj : pderivedobject;
|
||||||
begin
|
begin
|
||||||
@ -119,7 +121,10 @@ end.
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.1 2002-09-15 09:53:05 carl
|
Revision 1.2 2003-05-10 09:55:00 peter
|
||||||
|
* fix loop variable
|
||||||
|
|
||||||
|
Revision 1.1 2002/09/15 09:53:05 carl
|
||||||
* initial revision of longjmp/setjmp testing
|
* initial revision of longjmp/setjmp testing
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user