Unreachable casting to Int32 in ToV8Value in src/util-inl.h
Version
since v12.0.0
What steps will reproduce the bug?
Modified version of ToV8Value(v8::Local<v8::Context> context, const T& number, v8::Isolate* isolate)
for printing casting type:
https://godbolt.org/z/T8z3EzcKz
What do you see instead?
Expression static_cast<uint32_t>(Limits::min()) >= std::numeric_limits<uint32_t>::min()
is always true and all integer types will be cast only to Uint32. Casting to Int32 is unreachable
Additional information
Also casting long and ulong on 64-bit is differ from to 32-bit
Found by Linux Verification Center with Svace. Reporter: Svyatoslav Tereshin (s.tereshin@fobos-nt.ru). Organization: Fobos-NT (info@fobos-nt.ru).