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