|
@@ -1408,7 +1408,11 @@ implementation
|
|
|
if current_procinfo.procdef.proccalloption in clearstack_pocalls then
|
|
|
begin
|
|
|
parasize:=0;
|
|
|
- if paramanager.ret_in_param(current_procinfo.procdef.returndef,current_procinfo.procdef) then
|
|
|
+ { 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
|
|
|
inc(parasize,sizeof(pint));
|
|
|
end
|
|
|
else
|