summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/BasicStore.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-01-25 00:04:03 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-01-25 00:04:03 +0000
commitffb08c46face8f337fbcb725d83dbe66002501dc (patch)
treec6cc4a5c5059a1754fdacce62dc461a8d9e0c3c7 /clang/lib/StaticAnalyzer/BasicStore.cpp
parentfdbcd5465818b0802a8192855523759f1540f05a (diff)
downloadbcm5719-llvm-ffb08c46face8f337fbcb725d83dbe66002501dc.tar.gz
bcm5719-llvm-ffb08c46face8f337fbcb725d83dbe66002501dc.zip
[analyzer] Handle the dot syntax for properties in the ExprEngine.
We translate property accesses to obj-c messages by simulating "loads" or "stores" to properties using a pseudo-location SVal kind (ObjCPropRef). Checkers can now reason about obj-c messages for both explicit message expressions and implicit messages due to property accesses. llvm-svn: 124161
Diffstat (limited to 'clang/lib/StaticAnalyzer/BasicStore.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/BasicStore.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/StaticAnalyzer/BasicStore.cpp b/clang/lib/StaticAnalyzer/BasicStore.cpp
index 42fd3391f16..0254ba777a4 100644
--- a/clang/lib/StaticAnalyzer/BasicStore.cpp
+++ b/clang/lib/StaticAnalyzer/BasicStore.cpp
@@ -196,6 +196,7 @@ SVal BasicStoreManager::Retrieve(Store store, Loc loc, QualType T) {
return V.isUnknownOrUndef() ? V : CastRetrievedVal(V, TR, T);
}
+ case loc::ObjCPropRefKind:
case loc::ConcreteIntKind:
// Support direct accesses to memory. It's up to individual checkers
// to flag an error.
OpenPOWER on IntegriCloud