aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2010-10-15 22:50:23 +0000
committerTed Kremenek <kremenek@apple.com>2010-10-15 22:50:23 +0000
commitabf517c523985f20bb6458e0aa1afad434de3244 (patch)
treefc6b1785117b1b1ce6156bd693020c02329fa5ea
parent0313f441b72ef6b69a93e5003c684b01cb72fd46 (diff)
Tweak retain/release checker diagnostics to specify a leak occurs because an object is not referenced later in the path,
not that it isn't referenced later in the code. Fixes <rdar://problem/8527839>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116636 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Checker/CFRefCount.cpp4
-rw-r--r--test/Analysis/plist-output-alternate.m4
2 files changed, 4 insertions, 4 deletions
diff --git a/lib/Checker/CFRefCount.cpp b/lib/Checker/CFRefCount.cpp
index 35451a1866..8d1f4ba053 100644
--- a/lib/Checker/CFRefCount.cpp
+++ b/lib/Checker/CFRefCount.cpp
@@ -2420,8 +2420,8 @@ CFRefLeakReport::getEndPath(BugReporterContext& BRC,
"collector";
}
else
- os << " is no longer referenced after this point and has a retain count of"
- " +" << RV->getCount() << " (object leaked)";
+ os << " is not referenced later in this execution path and has a retain "
+ "count of +" << RV->getCount() << " (object leaked)";
return new PathDiagnosticEventPiece(L, os.str());
}
diff --git a/test/Analysis/plist-output-alternate.m b/test/Analysis/plist-output-alternate.m
index 364289d6d2..d063348a11 100644
--- a/test/Analysis/plist-output-alternate.m
+++ b/test/Analysis/plist-output-alternate.m
@@ -994,9 +994,9 @@ void rdar8331641(int x) {
// CHECK: </array>
// CHECK: </array>
// CHECK: <key>extended_message</key>
-// CHECK: <string>Object allocated on line 53 and stored into &apos;value&apos; is no longer referenced after this point and has a retain count of +1 (object leaked)</string>
+// CHECK: <string>Object allocated on line 53 and stored into &apos;value&apos; is not referenced later in this execution path and has a retain count of +1 (object leaked)</string>
// CHECK: <key>message</key>
-// CHECK: <string>Object allocated on line 53 and stored into &apos;value&apos; is no longer referenced after this point and has a retain count of +1 (object leaked)</string>
+// CHECK: <string>Object allocated on line 53 and stored into &apos;value&apos; is not referenced later in this execution path and has a retain count of +1 (object leaked)</string>
// CHECK: </dict>
// CHECK: </array>
// CHECK: <key>description</key><string>Potential leak of an object allocated on line 53 and stored into &apos;value&apos;</string>