blob: 05a7b353cfeb4c9c9d2a29b4758df66160827355 [file] [log] [blame]
John McCalld1e40d52011-10-02 01:16:38 +00001// RUN: %clang_cc1 -fobjc-gc -emit-llvm -o %t %s
Daniel Dunbar4fcfde42009-11-08 01:45:36 +00002// RUN: grep objc_assign_ivar %t | count 6
Fariborz Jahanian8fc85c42009-09-06 19:44:57 +00003
NAKAMURA Takumi92b7c392012-09-12 10:45:52 +00004// PR13820
5// REQUIRES: LP64
6
Fariborz Jahanian8fc85c42009-09-06 19:44:57 +00007@interface I @end
8
9typedef I TI;
10typedef I* TPI;
11
12typedef id ID;
13
14@interface MyClass {
15}
16
17@property id property;
18@property I* propertyI;
19
20@property TI* propertyTI;
21
22@property TPI propertyTPI;
23
24@property ID propertyID;
25@end
26
27@implementation MyClass
28 @synthesize property=_property;
29 @synthesize propertyI;
30 @synthesize propertyTI=_propertyTI;
31 @synthesize propertyTPI=_propertyTPI;
32 @synthesize propertyID = _propertyID;
33@end
34
35int main () {
36 MyClass *myObj;
37 myObj.property = 0;
38 myObj.propertyI = 0;
39 myObj.propertyTI = 0;
40 myObj.propertyTPI = 0;
41 myObj.propertyID = 0;
42 return 0;
43}