stage3/constant_folding.cc
changeset 621 e3616f6b6959
parent 612 c062ff18d04f
child 633 73b56dc69e61
child 640 ffa02cf2b335
--- a/stage3/constant_folding.cc	Fri Jul 20 23:18:32 2012 +0200
+++ b/stage3/constant_folding.cc	Thu Aug 16 18:28:23 2012 +0100
@@ -752,7 +752,7 @@
 	 * However, the positive value cannot be stored inside an int64! So, in this case, we will get the value from the uint64 cvalue.
 	 */
 	// if (INT64_MIN == -INT64_MAX - 1) // We do not really need to check that the platform uses two's complement
-	if (VALID_CVALUE(uint64, symbol->exp) && (GET_CVALUE(uint64, symbol->exp) == -INT64_MIN)) { // How do we stop the compiler from complaining about a comparison between int and unsigned int?
+	if (VALID_CVALUE(uint64, symbol->exp) && (GET_CVALUE(uint64, symbol->exp) == (uint64_t)INT64_MAX+1)) {
 		SET_CVALUE(int64, symbol, INT64_MIN);
 	}
 	return NULL;