[analyzer] Use Clang's evaluation for global constants and default arguments.
authorJordan Rose <jordan_rose@apple.com>
Wed, 13 Feb 2013 03:11:06 +0000 (03:11 +0000)
committerJordan Rose <jordan_rose@apple.com>
Wed, 13 Feb 2013 03:11:06 +0000 (03:11 +0000)
commit42b130b20a46d49b3d8bfb56d4bbc9624f0cd8e0
tree23a22d88f4f51ec78ac0d7375e60f50dd1bbd3fa
parentff0dd946b176e652a762f6fb89f7b96e84bc4426
[analyzer] Use Clang's evaluation for global constants and default arguments.

Previously, we were handling only simple integer constants for globals and
the smattering of implicitly-valued expressions handled by Environment for
default arguments. Now, we can use any integer constant expression that
Clang can evaluate, in addition to everything we handled before.

PR15094 / <rdar://problem/12830437>

llvm-svn: 175026
clang/lib/StaticAnalyzer/Core/Environment.cpp
clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
clang/lib/StaticAnalyzer/Core/RegionStore.cpp
clang/test/Analysis/global-region-invalidation.c
clang/test/Analysis/inline.cpp