]> granicus.if.org Git - clang/commit
[analyzer] Don't use makeIntVal to create a floating-point value.
authorJordan Rose <jordan_rose@apple.com>
Tue, 4 Sep 2012 19:34:58 +0000 (19:34 +0000)
committerJordan Rose <jordan_rose@apple.com>
Tue, 4 Sep 2012 19:34:58 +0000 (19:34 +0000)
commit791dd0a3f855b61ee97387dca67af86a1edff9f2
tree0d6cc26d3e79f42b8e3538d30cb498d1291035ba
parent568ba871bbac959029671b81f8e531edb7e0d7d6
[analyzer] Don't use makeIntVal to create a floating-point value.

SimpleSValBuilder processes a couple trivial identities, including 'x - x'
and 'x ^ x' (both 0). However, the former could appear with arguments of
floating-point type, and we weren't checking for that. This started
triggering an assert with r163069, which checks that a constant value is
actually going to be used as an integer or pointer.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163159 91177308-0d34-0410-b5e6-96231b3b80d8
lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
test/Analysis/idempotent-operations.c