1// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s 2// expected-no-diagnostics 3 4@interface Tester 5@property char PropertyAtomic_char; 6@property short PropertyAtomic_short; 7@property int PropertyAtomic_int; 8@property long PropertyAtomic_long; 9@property long long PropertyAtomic_longlong; 10@property float PropertyAtomic_float; 11@property double PropertyAtomic_double; 12@property(assign) id PropertyAtomic_id; 13@property(retain) id PropertyAtomicRetained_id; 14@property(copy) id PropertyAtomicRetainedCopied_id; 15@property(retain) id PropertyAtomicRetainedGCOnly_id; 16@property(copy) id PropertyAtomicRetainedCopiedGCOnly_id; 17@end 18 19@implementation Tester 20@dynamic PropertyAtomic_char; 21@dynamic PropertyAtomic_short; 22@dynamic PropertyAtomic_int; 23@dynamic PropertyAtomic_long; 24@dynamic PropertyAtomic_longlong; 25@dynamic PropertyAtomic_float; 26@dynamic PropertyAtomic_double; 27@dynamic PropertyAtomic_id; 28@dynamic PropertyAtomicRetained_id; 29@dynamic PropertyAtomicRetainedCopied_id; 30@dynamic PropertyAtomicRetainedGCOnly_id; 31@dynamic PropertyAtomicRetainedCopiedGCOnly_id; 32@end 33 34@interface SubClass : Tester 35{ 36 char PropertyAtomic_char; 37 short PropertyAtomic_short; 38 int PropertyAtomic_int; 39 long PropertyAtomic_long; 40 long long PropertyAtomic_longlong; 41 float PropertyAtomic_float; 42 double PropertyAtomic_double; 43 id PropertyAtomic_id; 44 id PropertyAtomicRetained_id; 45 id PropertyAtomicRetainedCopied_id; 46 id PropertyAtomicRetainedGCOnly_id; 47 id PropertyAtomicRetainedCopiedGCOnly_id; 48} 49@end 50 51@implementation SubClass 52@synthesize PropertyAtomic_char; 53@synthesize PropertyAtomic_short; 54@synthesize PropertyAtomic_int; 55@synthesize PropertyAtomic_long; 56@synthesize PropertyAtomic_longlong; 57@synthesize PropertyAtomic_float; 58@synthesize PropertyAtomic_double; 59@synthesize PropertyAtomic_id; 60@synthesize PropertyAtomicRetained_id; 61@synthesize PropertyAtomicRetainedCopied_id; 62@synthesize PropertyAtomicRetainedGCOnly_id; 63@synthesize PropertyAtomicRetainedCopiedGCOnly_id; 64@end 65