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