Home | History | Annotate | Download | only in SemaObjC
      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