# HG changeset patch # User Michael Pavone # Date 1588314835 25200 # Node ID 4af54c6ca3e65e9c0d0889a75bfb71c90e7256a9 # Parent 42c12d141f6e82192ab80808400b0ab78233046b Fix some questionable comparisons between 64-bit values and literals that fit in 32-bit integers diff -r 42c12d141f6e -r 4af54c6ca3e6 gen_x86.c --- a/gen_x86.c Thu Apr 30 23:30:22 2020 -0700 +++ b/gen_x86.c Thu Apr 30 23:33:55 2020 -0700 @@ -171,7 +171,7 @@ }; #ifdef X86_64 -#define CHECK_DISP(disp) (disp <= 0x7FFFFFFF && disp >= -2147483648) +#define CHECK_DISP(disp) (disp <= ((ptrdiff_t)INT32_MAX) && disp >= ((ptrdiff_t)INT32_MIN)) #else #define CHECK_DISP(disp) 1 #endif @@ -1261,7 +1261,7 @@ check_alloc_code(code, 14); code_ptr out = code->cur; uint8_t sign_extend = 0; - if (size == SZ_Q && val <= 0x7FFFFFFF && val >= -2147483648) { + if (size == SZ_Q && val <= ((int64_t)INT32_MAX) && val >= ((int64_t)INT32_MIN)) { sign_extend = 1; } if (size == SZ_W) {