1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -verify %s 2*67e74705SXin Li 3*67e74705SXin Li@interface Super { 4*67e74705SXin Li id value2; // expected-note {{previously declared 'value2' here}} 5*67e74705SXin Li} 6*67e74705SXin Li@property(retain) id value; 7*67e74705SXin Li@property(retain) id value1; 8*67e74705SXin Li@property(retain) id prop; 9*67e74705SXin Li@end 10*67e74705SXin Li 11*67e74705SXin Li@interface Sub : Super 12*67e74705SXin Li{ 13*67e74705SXin Li id value; 14*67e74705SXin Li} 15*67e74705SXin Li@end 16*67e74705SXin Li 17*67e74705SXin Li@implementation Sub 18*67e74705SXin Li@synthesize value; // expected-note {{previous use is here}} 19*67e74705SXin Li@synthesize value1=value; // expected-error {{synthesized properties 'value1' and 'value' both claim instance variable 'value'}} 20*67e74705SXin Li@synthesize prop=value2; // expected-error {{property 'prop' attempting to use instance variable 'value2' declared in super class 'Super'}} 21*67e74705SXin Li@end 22*67e74705SXin Li 23*67e74705SXin Li 24