--- 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;