Bad shift on 32-bit architectures
commit11130b194d49a4ce158cb4b91f2716688b92c65c
authorJorge Acereda <jacereda@gmail.com>
dateThu 22 Mar 2018, 12:38 (9 years ago)
parent7512498
rts/idris_gmp.c+1−1
@@ -377,7 +377,7 @@ uint64_t idris_truncBigB64(const mpz_t bi) {
377377 }
378378 int64_t out = mpz_get_ui(bi);
379379 if (mpz_size(bi) > 1) {
380− out |= mpz_getlimbn(bi, 1) << 32;
380+ out |= ((int64_t)mpz_getlimbn(bi, 1)) << 32;
381381 }
382382 return out;
383383}