- This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). llvm-svn: 91446
41 lines
748 B
Objective-C
41 lines
748 B
Objective-C
// RUN: %clang_cc1 -fobjc-nonfragile-abi -fobjc-gc -emit-llvm -o %t %s
|
|
// RUN: grep objc_assign_ivar %t | count 6
|
|
|
|
@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;
|
|
}
|