1// RUN: %clang_cc1 -fobjc-gc -emit-llvm -o %t %s
2// RUN: grep objc_assign_ivar %t | count 6
3
4// PR13820
5// REQUIRES: LP64
6
7@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}
44