]> granicus.if.org Git - clang/commit
[analyzer] Don't assert when combining using .* on a temporary.
authorJordan Rose <jordan_rose@apple.com>
Tue, 29 Apr 2014 17:08:12 +0000 (17:08 +0000)
committerJordan Rose <jordan_rose@apple.com>
Tue, 29 Apr 2014 17:08:12 +0000 (17:08 +0000)
commitfc2409b63768662b077c920d5b4a84250d100b2e
tree4c28f07c54059335a3596841a8b340442e3a585d
parent00ea13b6fbbd8fec4d25141279ef32649870d6ab
[analyzer] Don't assert when combining using .* on a temporary.

While we don't model pointer-to-member operators yet (neither .* nor ->*),
CallAndMessageChecker still checks to make sure the 'this' object is not
null or undefined first. However, it also expects that the object should
always have a valid MemRegion, something that's generally important elsewhere
in the analyzer as well. Ensure this is true ahead of time, just like we do
for member access.

PR19531

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207561 91177308-0d34-0410-b5e6-96231b3b80d8
lib/StaticAnalyzer/Core/ExprEngineC.cpp
test/Analysis/member-expr.cpp