1*67e74705SXin Li// RUN: %clang_cc1 -fobjc-gc -emit-llvm -o %t %s 2*67e74705SXin Li// RUN: grep objc_assign_ivar %t | count 6 3*67e74705SXin Li 4*67e74705SXin Li// PR13820 5*67e74705SXin Li// REQUIRES: LP64 6*67e74705SXin Li 7*67e74705SXin Li@interface I @end 8*67e74705SXin Li 9*67e74705SXin Litypedef I TI; 10*67e74705SXin Litypedef I* TPI; 11*67e74705SXin Li 12*67e74705SXin Litypedef id ID; 13*67e74705SXin Li 14*67e74705SXin Li@interface MyClass { 15*67e74705SXin Li} 16*67e74705SXin Li 17*67e74705SXin Li@property id property; 18*67e74705SXin Li@property I* propertyI; 19*67e74705SXin Li 20*67e74705SXin Li@property TI* propertyTI; 21*67e74705SXin Li 22*67e74705SXin Li@property TPI propertyTPI; 23*67e74705SXin Li 24*67e74705SXin Li@property ID propertyID; 25*67e74705SXin Li@end 26*67e74705SXin Li 27*67e74705SXin Li@implementation MyClass 28*67e74705SXin Li @synthesize property=_property; 29*67e74705SXin Li @synthesize propertyI; 30*67e74705SXin Li @synthesize propertyTI=_propertyTI; 31*67e74705SXin Li @synthesize propertyTPI=_propertyTPI; 32*67e74705SXin Li @synthesize propertyID = _propertyID; 33*67e74705SXin Li@end 34*67e74705SXin Li 35*67e74705SXin Liint main () { 36*67e74705SXin Li MyClass *myObj; 37*67e74705SXin Li myObj.property = 0; 38*67e74705SXin Li myObj.propertyI = 0; 39*67e74705SXin Li myObj.propertyTI = 0; 40*67e74705SXin Li myObj.propertyTPI = 0; 41*67e74705SXin Li myObj.propertyID = 0; 42*67e74705SXin Li return 0; 43*67e74705SXin Li} 44