Mercurial > hg > CbC > CbC_llvm
comparison clang/test/CodeGenObjC/atomic-aggregate-property.m @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children | c4bab56944e8 |
comparison
equal
deleted
inserted
replaced
147:c2174574ed3a | 150:1d019706d866 |
---|---|
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) |