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