소스 검색

Ensure cast from pointer is generated.

Brucey 2 년 전
부모
커밋
41b07b2f17
1개의 변경된 파일9개의 추가작업 그리고 7개의 파일을 삭제
  1. 9 7
      ctranslator.bmx

+ 9 - 7
ctranslator.bmx

@@ -2082,6 +2082,7 @@ t:+"NULLNULLNULL"
 			End If
 			End If
 			If TEnumType( src ) Return Bra( t+"!=0" )
 			If TEnumType( src ) Return Bra( t+"!=0" )
 		Else If TIntType( dst )
 		Else If TIntType( dst )
+			If IsPointerType(src,0,TType.T_POINTER) Return Bra("(BBINT)"+t)
 			If TBoolType( src ) Return Bra( t )
 			If TBoolType( src ) Return Bra( t )
 			If TByteType( src) Return Bra("(BBINT)"+t)
 			If TByteType( src) Return Bra("(BBINT)"+t)
 			If TShortType( src) Return Bra("(BBINT)"+t)
 			If TShortType( src) Return Bra("(BBINT)"+t)
@@ -2100,9 +2101,9 @@ t:+"NULLNULLNULL"
 			If TStringType( src ) Return "bbStringToInt" + Bra(t)
 			If TStringType( src ) Return "bbStringToInt" + Bra(t)
 			If TEnumType( src) Return Bra("(BBINT)"+t)
 			If TEnumType( src) Return Bra("(BBINT)"+t)
 			'If TIntVarPtrType( src ) Return Bra("*" + t)
 			'If TIntVarPtrType( src ) Return Bra("*" + t)
-			If IsPointerType(src,0,TType.T_POINTER) Return Bra("(BBINT)"+t)
 			'If TPointerType( src ) Return Bra("(BBINT)"+t)
 			'If TPointerType( src ) Return Bra("(BBINT)"+t)
 		 Else If TLongType( dst )
 		 Else If TLongType( dst )
+			If IsPointerType(src,0,TType.T_POINTER) Return Bra("(BBLONG)"+t)
 			If TBoolType( src ) Return Bra( t )
 			If TBoolType( src ) Return Bra( t )
 			If TByteType( src) Return Bra("(BBLONG)"+t)
 			If TByteType( src) Return Bra("(BBLONG)"+t)
 			If TShortType( src) Return Bra("(BBLONG)"+t)
 			If TShortType( src) Return Bra("(BBLONG)"+t)
@@ -2118,11 +2119,11 @@ t:+"NULLNULLNULL"
 			If TFloatType( src ) Return Bra("(BBLONG)"+t)
 			If TFloatType( src ) Return Bra("(BBLONG)"+t)
 			If TDoubleType( src ) Return Bra("(BBLONG)"+t)
 			If TDoubleType( src ) Return Bra("(BBLONG)"+t)
 			If TStringType( src ) Return "bbStringToLong" + Bra(t)
 			If TStringType( src ) Return "bbStringToLong" + Bra(t)
-			If IsPointerType(src,0,TType.T_POINTER) Return Bra("(BBLONG)"+t)
 			If TFloat64Type( src ) Return Bra("(BBLONG)"+t)
 			If TFloat64Type( src ) Return Bra("(BBLONG)"+t)
 			If TEnumType( src) Return Bra("(BBLONG)"+t)
 			If TEnumType( src) Return Bra("(BBLONG)"+t)
 			'If TPointerType( src ) Return Bra("(BBLONG)"+t)
 			'If TPointerType( src ) Return Bra("(BBLONG)"+t)
 		 Else If TSizeTType( dst )
 		 Else If TSizeTType( dst )
+			If IsPointerType(src,0,TType.T_POINTER) Return Bra("(BBSIZET)"+t)
 			If TBoolType( src ) Return Bra( t )
 			If TBoolType( src ) Return Bra( t )
 			If TByteType( src) Return Bra("(BBSIZET)"+t)
 			If TByteType( src) Return Bra("(BBSIZET)"+t)
 			If TShortType( src) Return Bra("(BBSIZET)"+t)
 			If TShortType( src) Return Bra("(BBSIZET)"+t)
@@ -2138,11 +2139,11 @@ t:+"NULLNULLNULL"
 			If TFloatType( src ) Return Bra("(BBSIZET)"+t)
 			If TFloatType( src ) Return Bra("(BBSIZET)"+t)
 			If TDoubleType( src ) Return Bra("(BBSIZET)"+t)
 			If TDoubleType( src ) Return Bra("(BBSIZET)"+t)
 			If TStringType( src ) Return "bbStringToSizet" + Bra(t)
 			If TStringType( src ) Return "bbStringToSizet" + Bra(t)
-			If IsPointerType(src,0,TType.T_POINTER) Return Bra("(BBSIZET)"+t)
 			If TFloat64Type( src ) Return Bra("(BBSIZET)"+t)
 			If TFloat64Type( src ) Return Bra("(BBSIZET)"+t)
 			If TEnumType( src) Return Bra("(BBSIZET)"+t)
 			If TEnumType( src) Return Bra("(BBSIZET)"+t)
 			'If TPointerType( src ) Return Bra("(BBLONG)"+t)
 			'If TPointerType( src ) Return Bra("(BBLONG)"+t)
 		Else If TLongIntType( dst )
 		Else If TLongIntType( dst )
+			If IsPointerType(src,0,TType.T_POINTER) Return Bra("(BBLONGINT)"+t)
 			If TBoolType( src ) Return Bra( t )
 			If TBoolType( src ) Return Bra( t )
 			If TByteType( src) Return Bra("(BBLONGINT)"+t)
 			If TByteType( src) Return Bra("(BBLONGINT)"+t)
 			If TShortType( src) Return Bra("(BBLONGINT)"+t)
 			If TShortType( src) Return Bra("(BBLONGINT)"+t)
@@ -2158,11 +2159,11 @@ t:+"NULLNULLNULL"
 			If TFloatType( src ) Return Bra("(BBLONGINT)"+t)
 			If TFloatType( src ) Return Bra("(BBLONGINT)"+t)
 			If TDoubleType( src ) Return Bra("(BBLONGINT)"+t)
 			If TDoubleType( src ) Return Bra("(BBLONGINT)"+t)
 			If TStringType( src ) Return "bbStringToLongInt" + Bra(t)
 			If TStringType( src ) Return "bbStringToLongInt" + Bra(t)
-			If IsPointerType(src,0,TType.T_POINTER) Return Bra("(BBLONGINT)"+t)
 			If TFloat64Type( src ) Return Bra("(BBLONGINT)"+t)
 			If TFloat64Type( src ) Return Bra("(BBLONGINT)"+t)
 			If TEnumType( src) Return Bra("(BBLONGINT)"+t)
 			If TEnumType( src) Return Bra("(BBLONGINT)"+t)
 			'If TPointerType( src ) Return Bra("(BBLONGINT)"+t)
 			'If TPointerType( src ) Return Bra("(BBLONGINT)"+t)
 		Else If TULongIntType( dst )
 		Else If TULongIntType( dst )
+			If IsPointerType(src,0,TType.T_POINTER) Return Bra("(BBULONGINT)"+t)
 			If TBoolType( src ) Return Bra( t )
 			If TBoolType( src ) Return Bra( t )
 			If TByteType( src) Return Bra("(BBULONGINT)"+t)
 			If TByteType( src) Return Bra("(BBULONGINT)"+t)
 			If TShortType( src) Return Bra("(BBULONGINT)"+t)
 			If TShortType( src) Return Bra("(BBULONGINT)"+t)
@@ -2178,7 +2179,6 @@ t:+"NULLNULLNULL"
 			If TFloatType( src ) Return Bra("(BBULONGINT)"+t)
 			If TFloatType( src ) Return Bra("(BBULONGINT)"+t)
 			If TDoubleType( src ) Return Bra("(BBULONGINT)"+t)
 			If TDoubleType( src ) Return Bra("(BBULONGINT)"+t)
 			If TStringType( src ) Return "bbStringToULongInt" + Bra(t)
 			If TStringType( src ) Return "bbStringToULongInt" + Bra(t)
-			If IsPointerType(src,0,TType.T_POINTER) Return Bra("(BBULONGINT)"+t)
 			If TFloat64Type( src ) Return Bra("(BBULONGINT)"+t)
 			If TFloat64Type( src ) Return Bra("(BBULONGINT)"+t)
 			If TEnumType( src) Return Bra("(BBULONGINT)"+t)
 			If TEnumType( src) Return Bra("(BBULONGINT)"+t)
 			'If TPointerType( src ) Return Bra("(BBULONGINT)"+t)
 			'If TPointerType( src ) Return Bra("(BBULONGINT)"+t)
@@ -2307,6 +2307,7 @@ t:+"NULLNULLNULL"
 			If TEnumType( src) Return Bra("(BBSHORT)"+t)
 			If TEnumType( src) Return Bra("(BBSHORT)"+t)
 			'If TShortVarPtrType( src ) Return Bra("*" + t)
 			'If TShortVarPtrType( src ) Return Bra("*" + t)
 		Else If TUIntType( dst )
 		Else If TUIntType( dst )
+			If IsPointerType(src,0,TType.T_POINTER) Return Bra("(BBUINT)"+t)
 			If TBoolType( src ) Return Bra( t )
 			If TBoolType( src ) Return Bra( t )
 			If TShortType( src ) Return Bra("(BBUINT)"+t)
 			If TShortType( src ) Return Bra("(BBUINT)"+t)
 			If TByteType( src) Return Bra("(BBUINT)"+t)
 			If TByteType( src) Return Bra("(BBUINT)"+t)
@@ -2324,6 +2325,7 @@ t:+"NULLNULLNULL"
 			If TStringType( src ) Return "bbStringToUInt" + Bra(t)
 			If TStringType( src ) Return "bbStringToUInt" + Bra(t)
 			If TEnumType( src) Return Bra("(BBUINT)"+t)
 			If TEnumType( src) Return Bra("(BBUINT)"+t)
 		Else If TULongType( dst )
 		Else If TULongType( dst )
+			If IsPointerType(src,0,TType.T_POINTER) Return Bra("(BBULONG)"+t)
 			If TBoolType( src ) Return Bra( t )
 			If TBoolType( src ) Return Bra( t )
 			If TShortType( src ) Return Bra("(BBULONG)"+t)
 			If TShortType( src ) Return Bra("(BBULONG)"+t)
 			If TByteType( src) Return Bra("(BBULONG)"+t)
 			If TByteType( src) Return Bra("(BBULONG)"+t)
@@ -2359,6 +2361,7 @@ t:+"NULLNULLNULL"
 			If TInt128Type( src ) Return Bra("(BBDOUBLE128)"+t)
 			If TInt128Type( src ) Return Bra("(BBDOUBLE128)"+t)
 			If TFloat128Type( src ) Return Bra("(BBDOUBLE128)"+t)
 			If TFloat128Type( src ) Return Bra("(BBDOUBLE128)"+t)
 		 Else If TWParamType( dst )
 		 Else If TWParamType( dst )
+			If IsPointerType(src,0,TType.T_POINTER) Return Bra("(WPARAM)"+t)
 			If TBoolType( src ) Return Bra( t )
 			If TBoolType( src ) Return Bra( t )
 			If TByteType( src) Return Bra("(WPARAM)"+t)
 			If TByteType( src) Return Bra("(WPARAM)"+t)
 			If TShortType( src) Return Bra("(WPARAM)"+t)
 			If TShortType( src) Return Bra("(WPARAM)"+t)
@@ -2374,8 +2377,8 @@ t:+"NULLNULLNULL"
 			If TFloatType( src ) Return Bra("(WPARAM)"+t)
 			If TFloatType( src ) Return Bra("(WPARAM)"+t)
 			If TDoubleType( src ) Return Bra("(WPARAM)"+t)
 			If TDoubleType( src ) Return Bra("(WPARAM)"+t)
 			If TStringType( src ) Return "bbStringToWParam" + Bra(t)
 			If TStringType( src ) Return "bbStringToWParam" + Bra(t)
-			If IsPointerType(src,0,TType.T_POINTER) Return Bra("(WPARAM)"+t)
 		 Else If TLParamType( dst )
 		 Else If TLParamType( dst )
+			If IsPointerType(src,0,TType.T_POINTER) Return Bra("(LPARAM)"+t)
 			If TBoolType( src ) Return Bra( t )
 			If TBoolType( src ) Return Bra( t )
 			If TByteType( src) Return Bra("(LPARAM)"+t)
 			If TByteType( src) Return Bra("(LPARAM)"+t)
 			If TShortType( src) Return Bra("(LPARAM)"+t)
 			If TShortType( src) Return Bra("(LPARAM)"+t)
@@ -2391,7 +2394,6 @@ t:+"NULLNULLNULL"
 			If TFloatType( src ) Return Bra("(LPARAM)"+t)
 			If TFloatType( src ) Return Bra("(LPARAM)"+t)
 			If TDoubleType( src ) Return Bra("(LPARAM)"+t)
 			If TDoubleType( src ) Return Bra("(LPARAM)"+t)
 			If TStringType( src ) Return "bbStringToLParam" + Bra(t)
 			If TStringType( src ) Return "bbStringToLParam" + Bra(t)
-			If IsPointerType(src,0,TType.T_POINTER) Return Bra("(LPARAM)"+t)
 
 
 		Else If TArrayType( dst )
 		Else If TArrayType( dst )
 			If TArrayType( src ) Then
 			If TArrayType( src ) Then