aboutsummaryrefslogtreecommitdiff
path: root/test/Analysis/retain-release-cf-audited.m
diff options
context:
space:
mode:
Diffstat (limited to 'test/Analysis/retain-release-cf-audited.m')
-rw-r--r--test/Analysis/retain-release-cf-audited.m33
1 files changed, 0 insertions, 33 deletions
diff --git a/test/Analysis/retain-release-cf-audited.m b/test/Analysis/retain-release-cf-audited.m
deleted file mode 100644
index 414ccd53b309..000000000000
--- a/test/Analysis/retain-release-cf-audited.m
+++ /dev/null
@@ -1,33 +0,0 @@
-// RUN: %clang_analyze_cc1 -triple x86_64-apple-darwin10 -analyzer-checker=core,osx.cocoa.RetainCount -verify %s
-// RUN: %clang_analyze_cc1 -triple x86_64-apple-darwin10 -analyzer-checker=core,osx.cocoa.RetainCount -verify %s -x objective-c++
-
-// The special thing about this file is that CFRetain and CFRelease are marked
-// as cf_audited_transfer.
-
-#pragma clang arc_cf_code_audited begin
-typedef const void * CFTypeRef;
-extern CFTypeRef CFRetain(CFTypeRef cf);
-extern void CFRelease(CFTypeRef cf);
-
-extern CFTypeRef CFCreateSomethingAudited();
-#pragma clang arc_cf_code_audited end
-
-extern CFTypeRef CFCreateSomethingUnaudited();
-
-void testAudited() {
- CFTypeRef obj = CFCreateSomethingAudited(); // no-warning
- CFRelease(obj); // no-warning
-
- CFTypeRef obj2 = CFCreateSomethingAudited(); // expected-warning{{leak}}
- CFRetain(obj2); // no-warning
- CFRelease(obj2); // no-warning
-}
-
-void testUnaudited() {
- CFTypeRef obj = CFCreateSomethingUnaudited(); // no-warning
- CFRelease(obj); // no-warning
-
- CFTypeRef obj2 = CFCreateSomethingUnaudited(); // expected-warning{{leak}}
- CFRetain(obj2); // no-warning
- CFRelease(obj2); // no-warning
-}