2
0
Эх сурвалжийг харах

* fixed another case where safecall was not ignored for targets<>windows

git-svn-id: trunk@13647 -
Jonas Maebe 16 жил өмнө
parent
commit
621ebe240e

+ 4 - 2
compiler/pdecsub.pas

@@ -103,14 +103,16 @@ implementation
 
 
 {$if defined(i386)}
 {$if defined(i386)}
            { For left to right add it at the end to be delphi compatible }
            { 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
              paranr:=paranr_result_leftright
            else
            else
 {$elseif defined(x86) or defined(arm)}
 {$elseif defined(x86) or defined(arm)}
            { other platforms don't have a "safecall" convention,
            { other platforms don't have a "safecall" convention,
              and never reverse the parameter pushing order
              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
              paranr:=paranr_result_leftright
            else
            else
 {$endif}
 {$endif}