Open
Description
The latest clang points a minor bug for -Wimplicit-int-float-conversion.
On the implementation of wasm::wasm::isUInteger64, std::numeric_limits<uint64_t>::max()
is implicitly converted to double.
As double has only 53 bit for digits on typical systems, and the conversion rounds the value to 0x1p64 rather than 0x1p64 - 1, that implies isUInteger64(0x1p64)
returns true, which is wrong.
We should probably use fixed double literals like 0x1p64, -0x1p63, and 0x1p63 for the boundary check here.