Ver Fonte

Improved div by zero checks. Resolves #527

Brucey há 5 anos atrás
pai
commit
7a657d4501
1 ficheiros alterados com 4 adições e 0 exclusões
  1. 4 0
      expr.bmx

+ 4 - 0
expr.bmx

@@ -1946,6 +1946,10 @@ Type TBinaryMathExpr Extends TBinaryExpr
 		End If
 
 		If TConstExpr( lhs ) And TConstExpr( rhs ) Return EvalConst()
+		
+		If TConstExpr( rhs ) And (op = "/" Or op = "mod") And TIntegralType(rhs.exprType) And Not Long(rhs.Eval()) Then
+			Err "Integer division by zero"
+		End If
 
 		Return Self
 	End Method