xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGenObjC/complex-property.m (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1f4a2713aSLionel Sambuc// RUN: %clang_cc1 -triple x86_64-apple-darwin10  -emit-llvm -o - %s | FileCheck -check-prefix CHECK-LP64 %s
2f4a2713aSLionel Sambuc// rdar: // 7351147
3f4a2713aSLionel Sambuc
4f4a2713aSLionel Sambuc@interface A
5f4a2713aSLionel Sambuc@property __complex int COMPLEX_PROP;
6f4a2713aSLionel Sambuc- (__complex int)y;
7f4a2713aSLionel Sambuc- (void) setY : (__complex int)rhs;
8f4a2713aSLionel Sambuc@end
9f4a2713aSLionel Sambuc
10f4a2713aSLionel Sambucvoid f0(A *a) {
11f4a2713aSLionel Sambuc  _Complex int a1 = 25 + 10i;
12f4a2713aSLionel Sambuc  a.COMPLEX_PROP += a1;
13f4a2713aSLionel Sambuc  a.y += a1;
14f4a2713aSLionel Sambuc}
15f4a2713aSLionel Sambuc
16*0a6a1f1dSLionel Sambuc// CHECK-LP64: private global [13 x i8] c"COMPLEX_PROP
17*0a6a1f1dSLionel Sambuc// CHECK-LP64: private global [17 x i8] c"setCOMPLEX_PROP
18f4a2713aSLionel Sambuc
19f4a2713aSLionel Sambuc// rdar: // 7351147
20f4a2713aSLionel Sambuc@interface B
21f4a2713aSLionel Sambuc@property (assign) _Complex float f_complex_ivar;
22f4a2713aSLionel Sambuc@end
23f4a2713aSLionel Sambuc
24f4a2713aSLionel Sambuc@implementation B
25f4a2713aSLionel Sambuc
26f4a2713aSLionel Sambuc@synthesize f_complex_ivar = _f_complex_ivar;
27f4a2713aSLionel Sambuc-(void) unary_f_complex: (_Complex float) a0 {
28f4a2713aSLionel Sambuc  self.f_complex_ivar = a0;
29f4a2713aSLionel Sambuc}
30f4a2713aSLionel Sambuc
31f4a2713aSLionel Sambuc@end
32f4a2713aSLionel Sambuc
33