Browse Source

Fixed struct ptr null test. Fixes #530.

Brucey 4 năm trước cách đây
mục cha
commit
38a7cc8d21
1 tập tin đã thay đổi với 6 bổ sung2 xóa
  1. 6 2
      expr.bmx

+ 6 - 2
expr.bmx

@@ -2219,14 +2219,18 @@ Type TBinaryCompareExpr Extends TBinaryExpr
 				If op = "=" Then
 					ty=New TBoolType
 					exprType=New TBoolType
-					lhs = New TConstExpr.Create(New TIntType, 1).Semant()
+					If Not IsPointerType(lhs.exprType, 0, TType.T_POINTER) Then
+						lhs = New TConstExpr.Create(New TIntType, 1).Semant()
+					End If
 					rhs = New TConstExpr.Create(New TIntType, 0).Semant()
 					Return Self
 				Else
 					op = "<>"
 					ty = New TBoolType
 					exprType=New TBoolType
-					lhs = New TConstExpr.Create(New TIntType, 1).Semant()
+					If Not IsPointerType(lhs.exprType, 0, TType.T_POINTER) Then
+						lhs = New TConstExpr.Create(New TIntType, 1).Semant()
+					End If
 					rhs = New TConstExpr.Create(New TIntType, 0).Semant()
 					Return Self
 				End If