aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2008-04-18 02:00:02 +0000
committerTed Kremenek <kremenek@apple.com>2008-04-18 02:00:02 +0000
commit576b3add2ecf7104e085989421dc3b9be4a7a52b (patch)
tree840a49eec3575e21fece5b66776b26d36aa51c9c
parent75840e1501563fe7c3dcb5600b75965ba1fe1bc4 (diff)
Added test cases to test for reference count leaks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49885 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Analysis-Apple/CFDate.m20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/Analysis-Apple/CFDate.m b/test/Analysis-Apple/CFDate.m
index 17e4c1b84b..5826740397 100644
--- a/test/Analysis-Apple/CFDate.m
+++ b/test/Analysis-Apple/CFDate.m
@@ -64,3 +64,23 @@ CFAbsoluteTime f4() {
return t;
}
+// Test a leak.
+
+CFAbsoluteTime f5(int x) {
+ CFAbsoluteTime t = CFAbsoluteTimeGetCurrent();
+ CFDateRef date = CFDateCreate(NULL, t);
+
+ if (x)
+ CFRelease(date);
+
+ return t; // expected-warning{{leak}}
+}
+
+// Test a leak involving the return.
+
+CFDateRef f6(int x) {
+ CFDateRef date = CFDateCreate(NULL, CFAbsoluteTimeGetCurrent());
+ CFRetain(date);
+ return date; // expected-warning{{leak}}
+}
+