1// RUN: %clang_cc1 -triple i386-apple-darwin8 -analyze -analyzer-checker=core,alpha.core -analyzer-constraints=range -analyzer-store=region -verify -Wno-objc-root-class %s 2 3// <rdar://problem/6888289> - This test case shows that a nil instance 4// variable can possibly be initialized by a method. 5@interface RDar6888289 6{ 7 id *x; 8} 9- (void) test:(id) y; 10- (void) test2:(id) y; 11- (void) invalidate; 12@end 13 14id *getVal(void); 15 16@implementation RDar6888289 17- (void) test:(id)y { 18 if (!x) 19 [self invalidate]; 20 *x = y; 21} 22- (void) test2:(id)y { 23 if (!x) {} 24 *x = y; // expected-warning {{null}} 25} 26 27- (void) invalidate { 28 x = getVal(); 29} 30 31@end 32 33