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 9 typedef I TI; 10 typedef I* TPI; 11 12 typedef 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 35 int 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