// RUN: %clang_cc1 -fobjc-gc -emit-llvm -o %t %s | |
// RUN: grep objc_assign_ivar %t | count 6 | |
// PR13820 | |
// REQUIRES: LP64 | |
@interface I @end | |
typedef I TI; | |
typedef I* TPI; | |
typedef id ID; | |
@interface MyClass { | |
} | |
@property id property; | |
@property I* propertyI; | |
@property TI* propertyTI; | |
@property TPI propertyTPI; | |
@property ID propertyID; | |
@end | |
@implementation MyClass | |
@synthesize property=_property; | |
@synthesize propertyI; | |
@synthesize propertyTI=_propertyTI; | |
@synthesize propertyTPI=_propertyTPI; | |
@synthesize propertyID = _propertyID; | |
@end | |
int main () { | |
MyClass *myObj; | |
myObj.property = 0; | |
myObj.propertyI = 0; | |
myObj.propertyTI = 0; | |
myObj.propertyTPI = 0; | |
myObj.propertyID = 0; | |
return 0; | |
} |