rdar-6600344-nil-receiver-undefined-struct-ret.m revision b2f6820773aabff3c5c9e0dbb1cbbbda0d80c41f
1// RUN: %clang_cc1 -analyze -analyzer-checker=core,experimental.core -analyzer-constraints=basic -analyzer-store=region -verify -Wno-objc-root-class %s 2 3typedef struct Foo { int x; } Bar; 4 5@interface MyClass {} 6- (Bar)foo; 7@end 8@implementation MyClass 9- (Bar)foo { 10 struct Foo f = { 0 }; 11 return f; 12} 13@end 14 15void createFoo() { 16 MyClass *obj = 0; 17 Bar f = [obj foo]; // no-warning 18} 19 20void createFoo2() { 21 MyClass *obj = 0; 22 [obj foo]; // no-warning 23 Bar f = [obj foo]; // no-warning 24} 25 26