diff options
Diffstat (limited to 'test/Analysis/retain-release-cf-audited.m')
-rw-r--r-- | test/Analysis/retain-release-cf-audited.m | 33 |
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 -} |