1*67e74705SXin Li// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc -fobjc-runtime=macosx-fragile-10.5 %s -o %t-rw.cpp 2*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -fblocks -Wno-address-of-temporary -Did="void*" -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp 3*67e74705SXin Li// rdar:// 8570020 4*67e74705SXin Li 5*67e74705SXin Li@interface Foo { 6*67e74705SXin Li Foo *foo; 7*67e74705SXin Li} 8*67e74705SXin Li 9*67e74705SXin Li@property (retain, nonatomic) Foo *foo; 10*67e74705SXin Li 11*67e74705SXin Li@end 12*67e74705SXin Li 13*67e74705SXin Li@implementation Foo 14*67e74705SXin Li 15*67e74705SXin Li- (Foo *)foo { 16*67e74705SXin Li if (!foo) { 17*67e74705SXin Li foo = 0; 18*67e74705SXin Li } 19*67e74705SXin Li return foo; 20*67e74705SXin Li} 21*67e74705SXin Li 22*67e74705SXin Li 23*67e74705SXin Li- (void) setFoo : (Foo *) arg { 24*67e74705SXin Li foo = arg; 25*67e74705SXin Li} 26*67e74705SXin Li 27*67e74705SXin Li@synthesize foo; 28*67e74705SXin Li 29*67e74705SXin Li@end 30*67e74705SXin Li 31