[cfe-commits] r130559 - /cfe/trunk/test/Analysis/retain-release.m

Ted Kremenek kremenek at apple.com
Fri Apr 29 16:15:53 PDT 2011


Author: kremenek
Date: Fri Apr 29 18:15:53 2011
New Revision: 130559

URL: http://llvm.org/viewvc/llvm-project?rev=130559&view=rev
Log:
Adjust test/Analysis/retain-release.m to also test the retain/release checker in Objective-C++ mode.

Modified:
    cfe/trunk/test/Analysis/retain-release.m

Modified: cfe/trunk/test/Analysis/retain-release.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/retain-release.m?rev=130559&r1=130558&r2=130559&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/retain-release.m (original)
+++ cfe/trunk/test/Analysis/retain-release.m Fri Apr 29 18:15:53 2011
@@ -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 @@
 // 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 @@
   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 __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 @@
 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 @@
     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)) {
         }





More information about the cfe-commits mailing list