mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-07 20:58:30 +02:00
* fixed wrong temp. usage in generic exception handling
This commit is contained in:
parent
fdf4095798
commit
03efd6e74b
@ -892,11 +892,10 @@ implementation
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure try_free_exception(list : taasmoutput;var jmpbuf, envbuf, href : treference;
|
procedure try_free_exception(list : taasmoutput;var jmpbuf, envbuf : treference;const href : treference;
|
||||||
a : aword ; endexceptlabel : tasmlabel; onlyfree : boolean);
|
a : aword ; endexceptlabel : tasmlabel; onlyfree : boolean);
|
||||||
begin
|
begin
|
||||||
free_exception(list, jmpbuf, envbuf, href, a, endexceptlabel, onlyfree);
|
free_exception(list, jmpbuf, envbuf, href, a, endexceptlabel, onlyfree);
|
||||||
tg.ungettemp(list,href);
|
|
||||||
tg.Ungettemp(list,jmpbuf);
|
tg.Ungettemp(list,jmpbuf);
|
||||||
tg.ungettemp(list,envbuf);
|
tg.ungettemp(list,envbuf);
|
||||||
end;
|
end;
|
||||||
@ -1139,6 +1138,7 @@ implementation
|
|||||||
cg.g_exception_reason_load(exprasmlist,href);
|
cg.g_exception_reason_load(exprasmlist,href);
|
||||||
cg.a_jmp_always(exprasmlist,oldaktcontinuelabel);
|
cg.a_jmp_always(exprasmlist,oldaktcontinuelabel);
|
||||||
end;
|
end;
|
||||||
|
tg.ungettemp(exprasmlist,href);
|
||||||
cg.a_label(exprasmlist,endexceptlabel);
|
cg.a_label(exprasmlist,endexceptlabel);
|
||||||
|
|
||||||
errorexit:
|
errorexit:
|
||||||
@ -1452,6 +1452,7 @@ implementation
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
cg.a_label(exprasmlist,endfinallylabel);
|
cg.a_label(exprasmlist,endfinallylabel);
|
||||||
|
tg.ungettemp(exprasmlist,href);
|
||||||
|
|
||||||
current_procinfo.aktexitlabel:=oldaktexitlabel;
|
current_procinfo.aktexitlabel:=oldaktexitlabel;
|
||||||
if assigned(aktbreaklabel) then
|
if assigned(aktbreaklabel) then
|
||||||
@ -1479,7 +1480,10 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.87 2003-12-06 01:15:22 florian
|
Revision 1.88 2004-01-01 17:23:16 florian
|
||||||
|
* fixed wrong temp. usage in generic exception handling
|
||||||
|
|
||||||
|
Revision 1.87 2003/12/06 01:15:22 florian
|
||||||
* reverted Peter's alloctemp patch; hopefully properly
|
* reverted Peter's alloctemp patch; hopefully properly
|
||||||
|
|
||||||
Revision 1.86 2003/12/03 23:13:20 peter
|
Revision 1.86 2003/12/03 23:13:20 peter
|
||||||
|
Loading…
Reference in New Issue
Block a user