summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/CFRefCount.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2008-05-01 04:02:04 +0000
committerTed Kremenek <kremenek@apple.com>2008-05-01 04:02:04 +0000
commit9f696852c47fcdb667b0fc0eaacea41d282edd0a (patch)
tree720acba973de94f0dc049e2ffbbbd96321cee1a5 /clang/lib/Analysis/CFRefCount.cpp
parent4828aa3152f3afb457b1b181d882664fc6903c5f (diff)
downloadbcm5719-llvm-9f696852c47fcdb667b0fc0eaacea41d282edd0a.tar.gz
bcm5719-llvm-9f696852c47fcdb667b0fc0eaacea41d282edd0a.zip
When processing "release", "retain", and "autorelease" messages return the
lval passed as an argument. Fix: Inverted diagnostic messages. llvm-svn: 50513
Diffstat (limited to 'clang/lib/Analysis/CFRefCount.cpp')
-rw-r--r--clang/lib/Analysis/CFRefCount.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/clang/lib/Analysis/CFRefCount.cpp b/clang/lib/Analysis/CFRefCount.cpp
index b1936fd631f..761182dac38 100644
--- a/clang/lib/Analysis/CFRefCount.cpp
+++ b/clang/lib/Analysis/CFRefCount.cpp
@@ -1050,7 +1050,7 @@ bool CFRefCount::EvalObjCMessageExprAux(ExplodedNodeSet<ValueState>& Dst,
// Create a new state with the updated bindings.
ValueState StVals = *St;
SetRefBindings(StVals, B);
- St = StateMgr.getPersistentState(StVals);
+ St = Eng.SetRVal(StateMgr.getPersistentState(StVals), ME, V);
// Create an error node if it exists.
if (hasErr)
@@ -1509,13 +1509,13 @@ std::pair<const char**,const char**> CFRefReport::getExtraDescriptiveText() {
switch (TF.getLangOptions().getGCMode()) {
default:
assert(false);
+
+ case LangOptions::GCOnly:
+ assert (TF.isGCEnabled());
+ return std::make_pair(&Msgs[0], &Msgs[0]+1);
case LangOptions::NonGC:
assert (!TF.isGCEnabled());
- return std::make_pair(&Msgs[0], &Msgs[0]+1);
-
- case LangOptions::GCOnly:
- assert (TF.isGCEnabled());
return std::make_pair(&Msgs[1], &Msgs[1]+1);
case LangOptions::HybridGC:
OpenPOWER on IntegriCloud