1// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s 2 3@protocol P 4 @property(readonly) int X; // expected-note {{property declared here}} 5@end 6 7@protocol P1<P> 8 @property (copy) id ID; 9@end 10 11@interface I 12@end 13 14@interface I (Cat) <P> 15@property float X; // expected-warning {{property type 'float' is incompatible with type 'int' inherited from 'P'}} 16@end 17 18@interface I (Cat2) <P1> 19@property (retain) id ID; // expected-warning {{'copy' attribute on property 'ID' does not match the property inherited from 'P1'}} 20@end 21 22 23@interface A 24@property(assign) int categoryProperty; 25@end 26 27// Don't issue warning on unimplemented setter/getter 28// because property is @dynamic. 29@implementation A 30@dynamic categoryProperty; 31@end 32