فهرست منبع

fixed invalid optimization of two constant numbers comparison

Nicolas Cannasse 14 سال پیش
والد
کامیت
debf5fc8af
2فایلهای تغییر یافته به همراه3 افزوده شده و 2 حذف شده
  1. 1 0
      doc/CHANGES.txt
  2. 2 2
      optimizer.ml

+ 1 - 0
doc/CHANGES.txt

@@ -14,6 +14,7 @@
 	all : allowed member macros functions (called as static)
 	neko : added spod_macro support
 	neko : allowed serialization of haxe.Int32 (as Int)
+	all : fixed invalid optimization of two constant numbers comparison
 
 2011-01-30: 2.07
 	all : fixed completion support with --remap

+ 2 - 2
optimizer.ml

@@ -565,7 +565,7 @@ let rec reduce_loop ctx e =
 				)
 			in
 			let ebool t =
-				{ e with eexpr = TConst (TBool (t (Int32.compare b a))) }
+				{ e with eexpr = TConst (TBool (t (Int32.compare a b))) }
 			in
 			(match op with
 			| OpAdd -> check_overflow Int64.add
@@ -594,7 +594,7 @@ let rec reduce_loop ctx e =
 					e
 			in
 			let ebool t =
-				{ e with eexpr = TConst (TBool (t (compare b a))) }
+				{ e with eexpr = TConst (TBool (t (compare a b))) }
 			in
 			(match op with
 			| OpAdd -> fop (+.)