* fixed wrong temp. usage in generic exception handling

This commit is contained in:
florian 2004-01-01 17:23:16 +00:00
parent fdf4095798
commit 03efd6e74b

View File

@ -892,11 +892,10 @@ implementation
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);
begin
free_exception(list, jmpbuf, envbuf, href, a, endexceptlabel, onlyfree);
tg.ungettemp(list,href);
tg.Ungettemp(list,jmpbuf);
tg.ungettemp(list,envbuf);
end;
@ -1139,6 +1138,7 @@ implementation
cg.g_exception_reason_load(exprasmlist,href);
cg.a_jmp_always(exprasmlist,oldaktcontinuelabel);
end;
tg.ungettemp(exprasmlist,href);
cg.a_label(exprasmlist,endexceptlabel);
errorexit:
@ -1452,6 +1452,7 @@ implementation
end;
end;
cg.a_label(exprasmlist,endfinallylabel);
tg.ungettemp(exprasmlist,href);
current_procinfo.aktexitlabel:=oldaktexitlabel;
if assigned(aktbreaklabel) then
@ -1479,7 +1480,10 @@ begin
end.
{
$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
Revision 1.86 2003/12/03 23:13:20 peter