summaryrefslogtreecommitdiffstats
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
commit4f63ac7057cd940044bb0d3274c972429c5988f2 (patch)
treed4e4a9cf308aa703d75eba788d213581bc191e4d
parentd2466687bf92a19989580e185bb91e96c5bb8631 (diff)
downloadbcm5719-llvm-4f63ac7057cd940044bb0d3274c972429c5988f2.tar.gz
bcm5719-llvm-4f63ac7057cd940044bb0d3274c972429c5988f2.zip
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>. llvm-svn: 116636
-rw-r--r--clang/lib/Checker/CFRefCount.cpp4
-rw-r--r--clang/test/Analysis/plist-output-alternate.m4
2 files changed, 4 insertions, 4 deletions
diff --git a/clang/lib/Checker/CFRefCount.cpp b/clang/lib/Checker/CFRefCount.cpp
index 35451a18669..8d1f4ba0533 100644
--- a/clang/lib/Checker/CFRefCount.cpp
+++ b/clang/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/clang/test/Analysis/plist-output-alternate.m b/clang/test/Analysis/plist-output-alternate.m
index 364289d6d29..d063348a116 100644
--- a/clang/test/Analysis/plist-output-alternate.m
+++ b/clang/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>
OpenPOWER on IntegriCloud