소스 검색

stdcall only valid for win32 builds. Fixes #420.

woollybah 6 년 전
부모
커밋
63ad1c6bb5
2개의 변경된 파일10개의 추가작업 그리고 3개의 파일을 삭제
  1. 4 2
      iparser.bmx
  2. 6 1
      parser.bmx

+ 4 - 2
iparser.bmx

@@ -281,8 +281,10 @@ Type TIParser
 									ApplyFunctionAttributes(class, DECL_EXTERN)
 									parsed = True
 								Case Asc("W")
-									class.attrs :| DECL_API_STDCALL
-									ApplyFunctionAttributes(class, DECL_API_STDCALL)
+									If opt_platform = "win32" Then
+										class.attrs :| DECL_API_STDCALL
+										ApplyFunctionAttributes(class, DECL_API_STDCALL)
+									End If
 									parsed = True
 								Case Asc("I")
 									class.attrs :| CLASS_INTERFACE

+ 6 - 1
parser.bmx

@@ -2959,7 +2959,12 @@ End Rem
 			Case "c", "blitz", "macos", "linux", "nx"
 				Return DECL_API_CDECL
 			Case "win32"
-				Return DECL_API_STDCALL
+				' only if we are compiling for win32
+				If opt_platform = "win32"
+					Return DECL_API_STDCALL
+				Else
+					Return DECL_API_CDECL
+				End If
 		End Select
 		
 		Err "Unrecognized calling convention '" + api+ "'"