[PATCH] D64666: [Sema] Enable -Wimplicit-int-float-conversion for integral to floating point precision loss
Ziang Wan via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Aug 2 14:36:15 PDT 2019
ziangwan added a comment.
The two failing cases I am seeing are:
/home/motus/netbsd8/netbsd8/llvm/projects/libcxx/include/random:3648:40: error: implicit conversion from 'unsigned long' to 'double' changes value from 18446744073709551615 to 18446744073709551616 [-Werror,-Wimplicit-int-float-conversion]
const _RealType _Rp = _URNG::max() - _URNG::min() + _RealType(1);
/data/motus/netbsd8/netbsd8/llvm/projects/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp:27:64: error: implicit conversion from 'unsigned int' to 'float' changes value from 2147483645 to 2147483648 [-Werror,-Wimplicit-int-float-conversion]
assert(f == truncate_fp((16807 - E::min()) / (E::max() - E::min() + F(1))));
These are the intended behavior of this warning.
I will make a separate patch to fix the two failing cases.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D64666/new/
https://reviews.llvm.org/D64666
More information about the cfe-commits
mailing list