diff options
Diffstat (limited to 'src/ext/mulodi/mulodi4.c')
-rw-r--r-- | src/ext/mulodi/mulodi4.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/ext/mulodi/mulodi4.c b/src/ext/mulodi/mulodi4.c index bfa5e01295..9891bbf1af 100644 --- a/src/ext/mulodi/mulodi4.c +++ b/src/ext/mulodi/mulodi4.c @@ -17,6 +17,7 @@ #else #define COMPILER_RT_ABI #define di_int int64_t +#define di_uint uint64_t #include "torint.h" di_int __mulodi4(di_int a, di_int b, int* overflow); @@ -30,9 +31,9 @@ COMPILER_RT_ABI di_int __mulodi4(di_int a, di_int b, int* overflow) { const int N = (int)(sizeof(di_int) * CHAR_BIT); - const di_int MIN = (di_int)1 << (N-1); + const di_int MIN = (di_int) ((di_uint)1 << (N-1)); const di_int MAX = ~MIN; - *overflow = 0; + *overflow = 0; di_int result = a * b; if (a == MIN) { |