소스 검색

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

git-svn-id: trunk@13647 -
Jonas Maebe 16 년 전
부모
커밋
621ebe240e
1개의 변경된 파일4개의 추가작업 그리고 2개의 파일을 삭제
  1. 4 2
      compiler/pdecsub.pas

+ 4 - 2
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}