diff options
| author | Ted Kremenek <kremenek@apple.com> | 2011-04-29 23:15:53 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2011-04-29 23:15:53 +0000 |
| commit | e8e565ab8104b60a4bc97c153a9dfc613d465229 (patch) | |
| tree | a6fcbec522982cfb8d019510cbab136b4e7e8c27 | |
| parent | e02e07c3a6179ec669577fedc10528802086226d (diff) | |
| download | bcm5719-llvm-e8e565ab8104b60a4bc97c153a9dfc613d465229.tar.gz bcm5719-llvm-e8e565ab8104b60a4bc97c153a9dfc613d465229.zip | |
Adjust test/Analysis/retain-release.m to also test the retain/release checker in Objective-C++ mode.
llvm-svn: 130559
| -rw-r--r-- | clang/test/Analysis/retain-release.m | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/clang/test/Analysis/retain-release.m b/clang/test/Analysis/retain-release.m index 8306896b0c4..6782c90375f 100644 --- a/clang/test/Analysis/retain-release.m +++ b/clang/test/Analysis/retain-release.m @@ -1,5 +1,7 @@ // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -analyze -analyzer-checker=core,osx.coreFoundation.CFRetainRelease,osx.cocoa.ClassRelease -analyzer-store=basic -fblocks -verify %s // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -analyze -analyzer-checker=core,osx.coreFoundation.CFRetainRelease,osx.cocoa.ClassRelease -analyzer-store=region -fblocks -verify %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -analyze -analyzer-checker=core,osx.coreFoundation.CFRetainRelease,osx.cocoa.ClassRelease -analyzer-store=basic -fblocks -verify -x objective-c++ %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -analyze -analyzer-checker=core,osx.coreFoundation.CFRetainRelease,osx.cocoa.ClassRelease -analyzer-store=region -fblocks -verify -x objective-c++ %s #if __has_feature(attribute_ns_returns_retained) #define NS_RETURNS_RETAINED __attribute__((ns_returns_retained)) @@ -910,7 +912,7 @@ void IOServiceAddMatchingNotification_wrapper(IONotificationPortRef notifyPort, // Test of handling objects whose references "escape" to containers. //===----------------------------------------------------------------------===// -void CFDictionaryAddValue(); +void CFDictionaryAddValue(CFMutableDictionaryRef, void *, void *); // <rdar://problem/6539791> void rdar_6539791(CFMutableDictionaryRef y, void* key, void* val_key) { @@ -920,9 +922,9 @@ void rdar_6539791(CFMutableDictionaryRef y, void* key, void* val_key) { signed z = 1; CFNumberRef value = CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt32Type, &z); if (value) { - CFDictionaryAddValue(x, val_key, value); // no-warning + CFDictionaryAddValue(x, val_key, (void*)value); // no-warning CFRelease(value); - CFDictionaryAddValue(y, val_key, value); // no-warning + CFDictionaryAddValue(y, val_key, (void*)value); // no-warning } } @@ -1013,8 +1015,8 @@ typedef struct _opaque_pthread_attr_t __darwin_pthread_attr_t; typedef __darwin_pthread_t pthread_t; typedef __darwin_pthread_attr_t pthread_attr_t; -int pthread_create(pthread_t * restrict, const pthread_attr_t * restrict, - void *(*)(void *), void * restrict); +int pthread_create(pthread_t *, const pthread_attr_t *, + void *(*)(void *), void *); void *rdar_7299394_start_routine(void *p) { [((id) p) release]; @@ -1435,7 +1437,6 @@ extern const void *CFDictionaryGetValue(CFDictionaryRef theDict, const void *key typedef struct __CFError * CFErrorRef; extern const CFStringRef kCFErrorUnderlyingErrorKey; extern CFDictionaryRef CFErrorCopyUserInfo(CFErrorRef err); - static void rdar_8724287(CFErrorRef error) { CFErrorRef error_to_dump; @@ -1444,7 +1445,7 @@ static void rdar_8724287(CFErrorRef error) while (error_to_dump != ((void*)0)) { CFDictionaryRef info; - info = CFErrorCopyUserInfo(error_to_dump); // expected-warning{{Potential leak of an object allocated on line 1447 and stored into 'info'}} + info = CFErrorCopyUserInfo(error_to_dump); // expected-warning{{Potential leak of an object allocated on line 1448 and stored into 'info'}} if (info != ((void*)0)) { } |

