[cfe-commits] r54717 - /cfe/trunk/test/Analysis/uninit-ps-rdar6145427.m

Ted Kremenek kremenek at apple.com
Tue Aug 12 20:55:19 PDT 2008


Author: kremenek
Date: Tue Aug 12 22:55:18 2008
New Revision: 54717

URL: http://llvm.org/viewvc/llvm-project?rev=54717&view=rev
Log:
Added test case.

Added:
    cfe/trunk/test/Analysis/uninit-ps-rdar6145427.m

Added: cfe/trunk/test/Analysis/uninit-ps-rdar6145427.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/uninit-ps-rdar6145427.m?rev=54717&view=auto

==============================================================================
--- cfe/trunk/test/Analysis/uninit-ps-rdar6145427.m (added)
+++ cfe/trunk/test/Analysis/uninit-ps-rdar6145427.m Tue Aug 12 22:55:18 2008
@@ -0,0 +1,36 @@
+// RUN: clang -verify -checker-cfref %s
+
+// Delta-Debugging reduced preamble.
+typedef signed char BOOL;
+typedef unsigned int NSUInteger;
+ at class NSString, Protocol;
+extern void NSLog(NSString *format, ...) __attribute__((format(__NSString__, 1, 2)));
+typedef struct _NSZone NSZone;
+ at class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator;
+ at protocol NSObject  - (BOOL)isEqual:(id)object; @end
+ at protocol NSCopying  - (id)copyWithZone:(NSZone *)zone; @end
+ at protocol NSCoding  - (void)encodeWithCoder:(NSCoder *)aCoder; @end
+ at interface NSObject <NSObject> {} + (id)alloc; @end
+extern id NSAllocateObject(Class aClass, NSUInteger extraBytes, NSZone *zone);
+ at interface NSValue : NSObject <NSCopying, NSCoding>  - (void)getValue:(void *)value; @end
+ at class NSString, NSData;
+typedef struct _NSPoint {} NSRange;
+ at interface NSValue (NSValueRangeExtensions) 
++ (NSValue *)valueWithRange:(NSRange)range;
+- (id)objectAtIndex:(NSUInteger)index;
+ at end
+ at interface NSAutoreleasePool : NSObject {} - (void)drain; @end
+extern NSString * const NSBundleDidLoadNotification;
+typedef struct {} NSDecimal;
+ at interface NSNetService : NSObject {} - (id)init; @end
+extern NSString * const NSUndoManagerCheckpointNotification;
+
+// Test case: <rdar://problem/6145427>
+
+int main (int argc, const char * argv[]) {
+  NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
+  id someUnintializedPointer = [someUnintializedPointer objectAtIndex:0]; // expected-warning{{Receiver in message expression is an uninitialized value.}}
+  NSLog(@"%@", someUnintializedPointer);    
+  [pool drain];
+  return 0;
+}





More information about the cfe-commits mailing list