blob: f95af5990275a980594959bde7146e22e85a584e [file] [log] [blame]
Patrick Beardb2f68202012-04-06 18:12:22 +00001// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
Fariborz Jahanianc70bee82008-04-21 23:57:08 +00002
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