diff --git a/compiler/pdecsub.pas b/compiler/pdecsub.pas index e210892aac..1816f8e6c4 100644 --- a/compiler/pdecsub.pas +++ b/compiler/pdecsub.pas @@ -103,14 +103,16 @@ implementation {$if defined(i386)} { For left to right add it at the end to be delphi compatible } - if pd.proccalloption in (pushleftright_pocalls+[pocall_safecall]) then + if (target_info.system in system_all_windows) and + (pd.proccalloption in (pushleftright_pocalls+[pocall_safecall])) then paranr:=paranr_result_leftright else {$elseif defined(x86) or defined(arm)} { other platforms don't have a "safecall" convention, and never reverse the parameter pushing order } - if (pd.proccalloption = pocall_safecall) then + if (target_info.system in system_all_windows) and + (pd.proccalloption = pocall_safecall) then paranr:=paranr_result_leftright else {$endif}