Home | History | Annotate | Download | only in CodeGenObjC
      1 // RUN: %clang_cc1 -triple x86_64-apple-darwin10  -fobjc-gc -emit-llvm -o - %s | FileCheck -check-prefix CHECK-LP64 %s
      2 // RUN: %clang_cc1 -x objective-c++ -triple x86_64-apple-darwin10  -fobjc-gc -emit-llvm -o - %s | FileCheck -check-prefix CHECK-LP64 %s
      3 // rdar: // 7849824
      4 // <rdar://problem/12547611>
      5 
      6 struct s {
      7   double a, b, c, d;  
      8 };
      9 
     10 struct s1 {
     11     int i;
     12     id j;
     13     id k;
     14 };
     15 
     16 struct s2 {};
     17 
     18 @interface A 
     19 @property (readwrite) double x;
     20 @property (readwrite) struct s y;
     21 @property (nonatomic, readwrite) struct s1 z;
     22 @property (readwrite) struct s2 a;
     23 @end
     24 
     25 @implementation A
     26 @synthesize x;
     27 @synthesize y;
     28 @synthesize z;
     29 @synthesize a;
     30 @end
     31 // CHECK-LP64: define internal double @"\01-[A x]"(
     32 // CHECK-LP64: load atomic i64, i64* {{%.*}} unordered, align 8
     33 
     34 // CHECK-LP64: define internal void @"\01-[A setX:]"(
     35 // CHECK-LP64: store atomic i64 {{%.*}}, i64* {{%.*}} unordered, align 8
     36 
     37 // CHECK-LP64: define internal void @"\01-[A y]"(
     38 // CHECK-LP64: call void @objc_copyStruct(i8* {{%.*}}, i8* {{%.*}}, i64 32, i1 zeroext true, i1 zeroext false)
     39 
     40 // CHECK-LP64: define internal void @"\01-[A setY:]"(
     41 // CHECK-LP64: call void @objc_copyStruct(i8* {{%.*}}, i8* {{%.*}}, i64 32, i1 zeroext true, i1 zeroext false)
     42 
     43 // CHECK-LP64: define internal void @"\01-[A z]"(
     44 // CHECK-LP64: call i8* @objc_memmove_collectable(
     45 
     46 // CHECK-LP64: define internal void @"\01-[A setZ:]"(
     47 // CHECK-LP64: call i8* @objc_memmove_collectable(
     48 
     49 // CHECK-LP64: define internal void @"\01-[A a]"(
     50 // (do nothing)
     51 
     52 // CHECK-LP64: define internal void @"\01-[A setA:]"(
     53 // (do nothing)
     54