1// RUN: %clang_cc1 -fsyntax-only -Weverything -verify %s 2// expected-no-diagnostics 3// rdar://11656982 4/** A property may not be both 'readonly' and having a memory management attribute 5 (copy/retain/etc.). But, property declaration in primary class and protcols 6 are tentative as they may be overridden into a 'readwrite' property in class 7 extensions. So, do not issue any warning on 'readonly' and memory management 8 attributes in a property. 9*/ 10 11@interface Super { 12} 13@end 14 15@class NSString; 16 17@interface MyClass : Super 18@property(nonatomic, copy, readonly) NSString *prop; 19@property(nonatomic, copy, readonly) id warnProp; 20@end 21 22@interface MyClass () 23@property(nonatomic, copy, readwrite) NSString *prop; 24@end 25 26@implementation MyClass 27@synthesize prop; 28@synthesize warnProp; 29@end 30 31 32@protocol P 33@property(nonatomic, copy, readonly) NSString *prop; 34@property(nonatomic, copy, readonly) id warnProp; 35@end 36 37@interface YourClass : Super <P> 38@end 39 40@interface YourClass () 41@property(nonatomic, copy, readwrite) NSString *prop; 42@end 43 44@implementation YourClass 45@synthesize prop; 46@synthesize warnProp; 47@end 48 49