objc2-ivar-assign.m
756 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// 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;
}