summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenObjC
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2010-08-05 21:00:25 +0000
committerFariborz Jahanian <fjahanian@apple.com>2010-08-05 21:00:25 +0000
commit903aba39eea68679058a49ff07364aed12592a1d (patch)
tree65dae5e7c81308dec110194e36096ec10272f70c /clang/test/CodeGenObjC
parentd3c94af1422dd3ac1664af1e1ebe75d3c0de10ed (diff)
downloadbcm5719-llvm-903aba39eea68679058a49ff07364aed12592a1d.tar.gz
bcm5719-llvm-903aba39eea68679058a49ff07364aed12592a1d.zip
Add support for block imported struct variable layout info.
(objc gc and blocks in NeXt runtime). llvm-svn: 110377
Diffstat (limited to 'clang/test/CodeGenObjC')
-rw-r--r--clang/test/CodeGenObjC/block-var-layout.m20
1 files changed, 20 insertions, 0 deletions
diff --git a/clang/test/CodeGenObjC/block-var-layout.m b/clang/test/CodeGenObjC/block-var-layout.m
index 6e4b8125392..f00b44fdd55 100644
--- a/clang/test/CodeGenObjC/block-var-layout.m
+++ b/clang/test/CodeGenObjC/block-var-layout.m
@@ -3,6 +3,17 @@
// RUN: %clang_cc1 -x objective-c++ -fblocks -fobjc-gc -triple x86_64-apple-darwin -O0 -S %s -o %t-64.s
// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
+struct S {
+ int i1;
+ id o1;
+ struct V {
+ int i2;
+ id o2;
+ } v1;
+ int i3;
+ id o3;
+};
+
__weak id wid;
void x(id y) {}
void y(int a) {}
@@ -52,6 +63,13 @@ void (^d)() = ^{
x(byref_bab);
};
d();
+
+// Test4
+ struct S s2;
+ void (^e)() = ^{
+ x(s2.o1);
+ };
+ e();
}
// CHECK-LP64: L_OBJC_CLASS_NAME_:
@@ -63,3 +81,5 @@ void (^d)() = ^{
// CHECK-LP64: L_OBJC_CLASS_NAME_6:
// CHECK-LP64-NEXT: .asciz "A\023!"
+// CHECK-LP64: L_OBJC_CLASS_NAME_11:
+// CHECK-LP64-NEXT: .asciz "Q\021\021"
OpenPOWER on IntegriCloud