1 // RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s 2 3 @interface I { 4 int Y; 5 } 6 @property int X; 7 @property int Y; 8 @property int Z; 9 @end 10 11 @implementation I 12 @dynamic X; // expected-note {{previous declaration is here}} 13 @dynamic X; // expected-error {{property 'X' is already implemented}} 14 @synthesize Y; // expected-note {{previous use is here}} 15 @synthesize Z=Y; // expected-error {{synthesized properties 'Z' and 'Y' both claim instance variable 'Y'}} 16 @end 17 18 // rdar://8703553 19 @interface IDEPathCell 20 { 21 @private 22 id _gradientStyle; 23 } 24 25 @property (readwrite, assign, nonatomic) id gradientStyle; 26 @end 27 28 @implementation IDEPathCell 29 30 @synthesize gradientStyle = _gradientStyle; 31 - (void)setGradientStyle:(id)value { } 32 33 + (id)_componentCellWithRepresentedObject { 34 return self.gradientStyle; 35 } 36 @end 37 38 // rdar://11054153 39 @interface rdar11054153 40 @property int P; // expected-error {{type of property 'P' ('int') does not match type of accessor 'P' ('void')}} 41 - (void)P; // expected-note {{declared here}} 42 43 @property int P1; // expected-warning {{type of property 'P1' does not match type of accessor 'P1'}} 44 - (double) P1; // expected-note {{declared here}} 45 46 @property int P2; // expected-error {{type of property 'P2' ('int') does not match type of accessor 'P2' ('double *')}} 47 - (double*)P2; // expected-note {{declared here}} 48 49 @end 50