summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/ValueState.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2008-05-01 21:31:50 +0000
committerTed Kremenek <kremenek@apple.com>2008-05-01 21:31:50 +0000
commit8a56b06b5c8583a9e53ee361f2709013f7616b98 (patch)
tree5d0585cfacc8f38d2a6d86c93f48495889890c64 /clang/lib/Analysis/ValueState.cpp
parent4f3d7cd12e1a6771d48daa5844762e69614684d7 (diff)
downloadbcm5719-llvm-8a56b06b5c8583a9e53ee361f2709013f7616b98.tar.gz
bcm5719-llvm-8a56b06b5c8583a9e53ee361f2709013f7616b98.zip
Correctly invalidate reference count state when passing objects by reference in message expressions we don't understand.
llvm-svn: 50541
Diffstat (limited to 'clang/lib/Analysis/ValueState.cpp')
-rw-r--r--clang/lib/Analysis/ValueState.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Analysis/ValueState.cpp b/clang/lib/Analysis/ValueState.cpp
index 19ff06f0044..96b94ea8cfa 100644
--- a/clang/lib/Analysis/ValueState.cpp
+++ b/clang/lib/Analysis/ValueState.cpp
@@ -203,6 +203,12 @@ RVal ValueStateManager::GetRVal(ValueState* St, LVal LV, QualType T) {
return UnknownVal();
}
+
+ case lval::ConcreteIntKind:
+ // Some clients may call GetRVal with such an option simply because
+ // they are doing a quick scan through their LVals (potentially to
+ // invalidate their bindings). Just return Undefined.
+ return UndefinedVal();
case lval::ArrayOffsetKind:
case lval::FieldOffsetKind:
OpenPOWER on IntegriCloud