diff --git a/udivdi3.c b/udivdi3.c index 5caabf4..b86b687 100644 --- a/udivdi3.c +++ b/udivdi3.c @@ -21,7 +21,7 @@ COMPILER_RT_ABI du_int __udivdi3(du_int n, du_int d) { const unsigned N = sizeof(du_int) * CHAR_BIT; // d == 0 cases are unspecified. - unsigned sr = (d ? clz(d) : N) - (n ? clz(n) : N); + unsigned sr = (d ? (unsigned)clz(d) : N) - (n ? (unsigned)clz(n) : N); // 0 <= sr <= N - 1 or sr is very large. if (sr > N - 1) // n < d return 0; diff --git a/udivsi3.c b/udivsi3.c index 0e5d76d..07d8ceb 100644 --- a/udivsi3.c +++ b/udivsi3.c @@ -21,7 +21,7 @@ COMPILER_RT_ABI su_int __udivsi3(su_int n, su_int d) { const unsigned N = sizeof(su_int) * CHAR_BIT; // d == 0 cases are unspecified. - unsigned sr = (d ? clz(d) : N) - (n ? clz(n) : N); + unsigned sr = (d ? (unsigned)clz(d) : N) - (n ? (unsigned)clz(n) : N); // 0 <= sr <= N - 1 or sr is very large. if (sr > N - 1) // n < d return 0; diff --git a/umoddi3.c b/umoddi3.c index 3f843ea..87cc2bf 100644 --- a/umoddi3.c +++ b/umoddi3.c @@ -21,7 +21,7 @@ COMPILER_RT_ABI du_int __umoddi3(du_int n, du_int d) { const unsigned N = sizeof(du_int) * CHAR_BIT; // d == 0 cases are unspecified. - unsigned sr = (d ? clz(d) : N) - (n ? clz(n) : N); + unsigned sr = (d ? (unsigned)clz(d) : N) - (n ? (unsigned)clz(n) : N); // 0 <= sr <= N - 1 or sr is very large. if (sr > N - 1) // n < d return n; diff --git a/umodsi3.c b/umodsi3.c index 798c395..bd8c8e4 100644 --- a/umodsi3.c +++ b/umodsi3.c @@ -21,7 +21,7 @@ COMPILER_RT_ABI su_int __umodsi3(su_int n, su_int d) { const unsigned N = sizeof(su_int) * CHAR_BIT; // d == 0 cases are unspecified. - unsigned sr = (d ? clz(d) : N) - (n ? clz(n) : N); + unsigned sr = (d ? (unsigned)clz(d) : N) - (n ? (unsigned)clz(n) : N); // 0 <= sr <= N - 1 or sr is very large. if (sr > N - 1) // n < d return n;