HomePhabricator

[analyzer] ConversionChecker: handle floating point

Description

[analyzer] ConversionChecker: handle floating point

Extend the alpha.core.Conversion checker to handle implicit converions
where a too large integer value is converted to a floating point type. Each
floating point type has a range where it can exactly represent all integers; we
emit a warning when the integer value is above this range. Although it is
possible to exactly represent some integers which are outside of this range
(those that are divisible by a large enough power of 2); we still report cast
involving those, because their usage may lead to bugs. (For example, if 1<<24
is stored in a float variable x, then x==x+1 holds.)

Patch by: DonĂ¡t Nagy!

Differential Revision: https://reviews.llvm.org/D52730

Details

Committed
SzelethusNov 15 2018, 5:00 PM
Differential Revision
D52730: [analyzer] ConversionChecker: handle floating point
Parents
rL347005: [WebAssembly] Change type of wake count to unsigned int
Branches
Unknown
Tags
Unknown