property-complex.m [plain text]
// RUN: // RUN:
@interface I0 {
@public
_Complex float iv0;
}
@property(assign) _Complex float p0;
-(_Complex float) im0;
-(void) setIm0: (_Complex float) a0;
@end
@implementation I0
@dynamic p0;
-(id) init {
self->iv0 = 5.0 + 2.0i;
return self;
}
-(_Complex float) im0 {
printf("im0: return iv0 + (.1 + .2i);
}
-(void) setIm0: (_Complex float) a0 {
printf("setIm0: iv0 = a0 + (.3 + .4i);
}
-(_Complex float) p0 {
printf("p0: return iv0 + (.5 + .6i);
}
-(void) setP0: (_Complex float) a0 {
printf("setP0: iv0 = a0 + (.7 + .8i);
}
@end
void f0(I0 *a0) {
float l0 = __real a0.im0;
float l1 = __imag a0->iv0;
_Complex float l2 = (a0.im0 = a0.im0);
_Complex float l3 = a0->iv0;
_Complex float l4 = (a0->iv0 = a0->iv0);
_Complex float l5 = a0->iv0;
_Complex float l6 = (a0.p0 = a0.p0);
_Complex float l7 = a0->iv0;
_Complex float l8 = [a0 im0];
printf("l0: printf("l1: printf("l2: printf("l3: printf("l4: printf("l5: printf("l6: printf("l7: printf("l8: }