From 03efd6e74b4ae7f6aa1acb72c93a428c40b59957 Mon Sep 17 00:00:00 2001 From: florian Date: Thu, 1 Jan 2004 17:23:16 +0000 Subject: [PATCH] * fixed wrong temp. usage in generic exception handling --- compiler/ncgflw.pas | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/compiler/ncgflw.pas b/compiler/ncgflw.pas index 7435903b8f..4f790066b3 100644 --- a/compiler/ncgflw.pas +++ b/compiler/ncgflw.pas @@ -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