From 9bbff8042f14fa319d5093243acfdc87f492831b Mon Sep 17 00:00:00 2001 From: yury Date: Mon, 18 Jun 2007 21:40:33 +0000 Subject: [PATCH] * Set return value of safecall procedure if implicit try/finally blocks are disabled. git-svn-id: trunk@7727 - --- compiler/psub.pas | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/compiler/psub.pas b/compiler/psub.pas index d961f807f2..39fb1a6032 100644 --- a/compiler/psub.pas +++ b/compiler/psub.pas @@ -1034,6 +1034,12 @@ implementation current_filepos:=entrypos; gen_proc_entry_code(templist); aktproccode.insertlistafter(headertai,templist); +{$if defined(x86) or defined(arm)} + { Set return value of safecall procedure if implicit try/finally blocks are disabled } + if not (cs_implicit_exceptions in current_settings.moduleswitches) and + (procdef.proccalloption=pocall_safecall) then + cg.a_load_const_reg(aktproccode,OS_ADDR,0,NR_FUNCTION_RETURN_REG); +{$endif} { Add exit code at the end } current_filepos:=exitpos; gen_proc_exit_code(templist);