summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2014-01-07 21:39:41 +0000
committerJordan Rose <jordan_rose@apple.com>2014-01-07 21:39:41 +0000
commit6ad4cb4eca2094a3fcde0a90c118632de1b4f939 (patch)
treec526e85b0c0e02e63d7d64b1c0bb64e940ac59e9 /clang
parent894843cb4e47366dee16ae10edb09a337a6db3ae (diff)
downloadbcm5719-llvm-6ad4cb4eca2094a3fcde0a90c118632de1b4f939.tar.gz
bcm5719-llvm-6ad4cb4eca2094a3fcde0a90c118632de1b4f939.zip
[analyzer] Remove unused ARCNotOwnedSymbol retain count return effect.
RetainCountChecker has to track returned object values to know if they are retained or not. Under ARC, even methods that return +1 are tracked by the system and should be treated as +0. However, this effect behaves exactly like NotOwned(ObjC), i.e. a generic Objective-C method that actually returns +0, so we don't need a special case for it. No functionality change. llvm-svn: 198709
Diffstat (limited to 'clang')
-rw-r--r--clang/include/clang/StaticAnalyzer/Checkers/ObjCRetainCount.h7
-rw-r--r--clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp5
2 files changed, 3 insertions, 9 deletions
diff --git a/clang/include/clang/StaticAnalyzer/Checkers/ObjCRetainCount.h b/clang/include/clang/StaticAnalyzer/Checkers/ObjCRetainCount.h
index 5978299701c..507c267093a 100644
--- a/clang/include/clang/StaticAnalyzer/Checkers/ObjCRetainCount.h
+++ b/clang/include/clang/StaticAnalyzer/Checkers/ObjCRetainCount.h
@@ -114,8 +114,6 @@ public:
/// Indicates that the object is not owned and controlled by the
/// Garbage collector.
GCNotOwnedSymbol,
- /// Indicates that the object is not owned and controlled by ARC.
- ARCNotOwnedSymbol,
/// Indicates that the return value is an owned object when the
/// receiver is also a tracked object.
OwnedWhenTrackedReceiver,
@@ -154,7 +152,7 @@ public:
}
bool notOwned() const {
- return K == NotOwnedSymbol || K == ARCNotOwnedSymbol;
+ return K == NotOwnedSymbol;
}
bool operator==(const RetEffect &Other) const {
@@ -174,9 +172,6 @@ public:
static RetEffect MakeGCNotOwned() {
return RetEffect(GCNotOwnedSymbol, ObjC);
}
- static RetEffect MakeARCNotOwned() {
- return RetEffect(ARCNotOwnedSymbol, ObjC);
- }
static RetEffect MakeNoRet() {
return RetEffect(NoRet);
}
diff --git a/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp
index c51b7af4453..1108b090c1b 100644
--- a/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp
+++ b/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp
@@ -652,11 +652,11 @@ public:
AF(BPAlloc), ScratchArgs(AF.getEmptyMap()),
ObjCAllocRetE(gcenabled
? RetEffect::MakeGCNotOwned()
- : (usesARC ? RetEffect::MakeARCNotOwned()
+ : (usesARC ? RetEffect::MakeNotOwned(RetEffect::ObjC)
: RetEffect::MakeOwned(RetEffect::ObjC, true))),
ObjCInitRetE(gcenabled
? RetEffect::MakeGCNotOwned()
- : (usesARC ? RetEffect::MakeARCNotOwned()
+ : (usesARC ? RetEffect::MakeNotOwned(RetEffect::ObjC)
: RetEffect::MakeOwnedWhenTrackedReceiver())) {
InitializeClassMethodSummaries();
InitializeMethodSummaries();
@@ -2861,7 +2861,6 @@ void RetainCountChecker::checkSummary(const RetainSummary &Summ,
}
case RetEffect::GCNotOwnedSymbol:
- case RetEffect::ARCNotOwnedSymbol:
case RetEffect::NotOwnedSymbol: {
const Expr *Ex = CallOrMsg.getOriginExpr();
SymbolRef Sym = CallOrMsg.getReturnValue().getAsSymbol();
OpenPOWER on IntegriCloud