]> granicus.if.org Git - clang/commit
[analyzer] Use SymExprs to represent '<loc> - <loc>' and '<loc> == <loc>'.
authorJordan Rose <jordan_rose@apple.com>
Sat, 23 Mar 2013 01:21:05 +0000 (01:21 +0000)
committerJordan Rose <jordan_rose@apple.com>
Sat, 23 Mar 2013 01:21:05 +0000 (01:21 +0000)
commit8958efacf8d52918cfe624116338bec62312582d
tree412fd6b7fd7a7b1ac7b06fa54f8146fdeab0d82f
parent168613735dce8103ef78390ac28786b5a278f439
[analyzer] Use SymExprs to represent '<loc> - <loc>' and '<loc> == <loc>'.

We just treat this as opaque symbols, but even that allows us to handle
simple cases where the same condition is tested twice. This is very common
in the STL, which means that any project using the STL gets spurious errors.

Part of <rdar://problem/13239003>.

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