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