[libc-commits] [libc] 69a0924 - [libc] Add missing cast in fputil sqrt code
Roland McGrath via libc-commits
libc-commits at lists.llvm.org
Sat Mar 25 16:24:05 PDT 2023
Author: Roland McGrath
Date: 2023-03-25T16:23:48-07:00
New Revision: 69a0924fac6ffac748a277a27360f80e80cc9147
URL: https://github.com/llvm/llvm-project/commit/69a0924fac6ffac748a277a27360f80e80cc9147
DIFF: https://github.com/llvm/llvm-project/commit/69a0924fac6ffac748a277a27360f80e80cc9147.diff
LOG: [libc] Add missing cast in fputil sqrt code
A cast is necessary to avoid implicit narrowing warnings
when those are enabled.
Reviewed By: abrachet
Differential Revision: https://reviews.llvm.org/D146886
Added:
Modified:
libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
Removed:
################################################################################
diff --git a/libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h b/libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
index 328b02eec75ff..17a1c25bc6407 100644
--- a/libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
+++ b/libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
@@ -21,9 +21,9 @@ namespace fputil {
namespace x86 {
LIBC_INLINE void normalize(int &exponent, UInt128 &mantissa) {
- const int shift =
+ const unsigned int shift = static_cast<unsigned int>(
unsafe_clz(static_cast<uint64_t>(mantissa)) -
- (8 * sizeof(uint64_t) - 1 - MantissaWidth<long double>::VALUE);
+ (8 * sizeof(uint64_t) - 1 - MantissaWidth<long double>::VALUE));
exponent -= shift;
mantissa <<= shift;
}
More information about the libc-commits
mailing list