diff options
author | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2019-11-24 20:23:22 +0000 |
---|---|---|
committer | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2019-11-24 20:23:22 +0000 |
commit | 3cb5e7471da41403d321343a4a5d71e6167ea060 (patch) | |
tree | 16740ac786b75024477752f1ab51d178c23b82b2 /compiler/ncgutil.pas | |
parent | 9f5433e319196a593b9b2b8bb9daa798ff9173ba (diff) | |
download | fpc-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.pas | 4 |
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 |