Author: kremenek
Date: Thu Sep 18 23:56:32 2008
New Revision: 56332

URL: http://llvm.org/viewvc/llvm-project?rev=56332&view=rev
Log:
Added test case for PR 2600: proper use of NSError**

Added:
    cfe/trunk/test/Analysis/CheckNSError.m

Added: cfe/trunk/test/Analysis/CheckNSError.m
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/CheckNSError.m?rev=56332&view=auto

==============================================================================
--- cfe/trunk/test/Analysis/CheckNSError.m (added)
+++ cfe/trunk/test/Analysis/CheckNSError.m Thu Sep 18 23:56:32 2008
@@ -0,0 +1,31 @@
+// RUN: clang -checker-cfref -verify %s
+
+typedef signed char BOOL;
+typedef int NSInteger;
+typedef struct _NSZone NSZone;
[EMAIL PROTECTED] NSInvocation, NSMethodSignature, NSCoder, NSString, 
NSEnumerator;
[EMAIL PROTECTED] NSObject  - (BOOL)isEqual:(id)object; @end
[EMAIL PROTECTED] NSCopying  - (id)copyWithZone:(NSZone *)zone; @end
[EMAIL PROTECTED] NSCoding  - (void)encodeWithCoder:(NSCoder *)aCoder; @end
[EMAIL PROTECTED] NSObject <NSObject> {} @end
[EMAIL PROTECTED] NSDictionary;
[EMAIL PROTECTED] NSError : NSObject <NSCopying, NSCoding> {}
++ (id)errorWithDomain:(NSString *)domain code:(NSInteger)code 
userInfo:(NSDictionary *)dict;
[EMAIL PROTECTED]
+extern NSString * const NSXMLParserErrorDomain ;
+
[EMAIL PROTECTED] A
+- (void)myMethodWhichMayFail:(NSError **)error;
+- (BOOL)myMethodWhichMayFail2:(NSError **)error;
[EMAIL PROTECTED]
+
[EMAIL PROTECTED] A
+- (void)myMethodWhichMayFail:(NSError **)error {   // expected-warning: 
{{Method accepting NSError** argument should have non-void return value to 
indicate that an error occurred.}}
+  *error = [NSError errorWithDomain:@"domain" code:1 userInfo:0]; // 
expected-warning: {{Potential null dereference.}}
+}
+
+- (BOOL)myMethodWhichMayFail2:(NSError **)error {  // no-warning
+  if (error) *error = [NSError errorWithDomain:@"domain" code:1 userInfo:0]; 
// no-warning
+  return 0;
+}
[EMAIL PROTECTED]


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to