58 lines · plain
1// RUN: %clang_cc1 -triple i386-apple-darwin9 -fsyntax-only -verify %s2 3@interface A4@end5 6// Readonly, atomic public redeclaration of property in subclass.7@interface AtomicInheritanceSuper8@property (readonly) A *property;9@end10 11@interface AtomicInheritanceSuper()12@property (nonatomic,readwrite,retain) A *property;13@end14 15@interface AtomicInheritanceSub : AtomicInheritanceSuper16@property (readonly) A *property;17@end18 19// Readonly, atomic public redeclaration of property in subclass.20@interface AtomicInheritanceSuper221@property (readonly) A *property;22@end23 24@interface AtomicInheritanceSub2 : AtomicInheritanceSuper225@property (nonatomic, readwrite, retain) A *property;26@end27 28@interface ReadonlyAtomic29@property (readonly, nonatomic) A *property;30@end31 32@interface ReadonlyAtomic ()33@property (readwrite) A *property;34@end35 36// Readonly, atomic public redeclaration of property in subclass.37@interface AtomicInheritanceSuper338@property (readonly,atomic) A *property; // expected-note{{property declared here}}39@end40 41@interface AtomicInheritanceSuper3()42@property (nonatomic,readwrite,retain) A *property; // expected-warning{{'atomic' attribute on property 'property' does not match the property inherited from 'AtomicInheritanceSuper3'}}43@end44 45@interface AtomicInheritanceSub3 : AtomicInheritanceSuper346@property (readonly) A *property;47@end48 49// Readonly, atomic public redeclaration of property in subclass.50@interface AtomicInheritanceSuper451@property (readonly, atomic) A *property; // expected-note{{property declared here}}52@end53 54@interface AtomicInheritanceSub4 : AtomicInheritanceSuper455@property (nonatomic, readwrite, retain) A *property; // expected-warning{{atomic' attribute on property 'property' does not match the property inherited from 'AtomicInheritanceSuper4'}}56@end57 58