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