summaryrefslogtreecommitdiff
path: root/compiler/ncgutil.pas
diff options
context:
space:
mode:
authorjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2019-11-24 20:23:22 +0000
committerjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2019-11-24 20:23:22 +0000
commit3cb5e7471da41403d321343a4a5d71e6167ea060 (patch)
tree16740ac786b75024477752f1ab51d178c23b82b2 /compiler/ncgutil.pas
parent9f5433e319196a593b9b2b8bb9daa798ff9173ba (diff)
downloadfpc-3cb5e7471da41403d321343a4a5d71e6167ea060.tar.gz
* cleaned up safecall support: use a hidden localvarsym instead of result
register hacking o this also allowed fixing/adding safecall support for LLVM git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@43578 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/ncgutil.pas')
-rw-r--r--compiler/ncgutil.pas4
1 files changed, 1 insertions, 3 deletions
diff --git a/compiler/ncgutil.pas b/compiler/ncgutil.pas
index c44d90e77e..0de268b2fd 100644
--- a/compiler/ncgutil.pas
+++ b/compiler/ncgutil.pas
@@ -767,9 +767,7 @@ implementation
parasize:=0;
{ For safecall functions with safecall-exceptions enabled the funcret is always returned as a para
which is considered a normal para on the c-side, so the funcret has to be pop'ed normally. }
- if not ( (current_procinfo.procdef.proccalloption=pocall_safecall) and
- (tf_safecall_exceptions in target_info.flags) ) and
- paramanager.ret_in_param(current_procinfo.procdef.returndef,current_procinfo.procdef) then
+ if not current_procinfo.procdef.generate_safecall_wrapper then
inc(parasize,sizeof(pint));
end
else