summaryrefslogtreecommitdiffstats
path: root/debuginfo-tests/tests/block_var.m
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2017-11-20 21:41:36 +0000
committerZachary Turner <zturner@google.com>2017-11-20 21:41:36 +0000
commit8b6ef88e7eb618dea0160eaddecf901eb28bc2e1 (patch)
treebd11371e1f6546d50915f368950551b7a024bff5 /debuginfo-tests/tests/block_var.m
parent5c774b9235d5d898171c48ed71912d7761aa491e (diff)
downloadbcm5719-llvm-8b6ef88e7eb618dea0160eaddecf901eb28bc2e1.tar.gz
bcm5719-llvm-8b6ef88e7eb618dea0160eaddecf901eb28bc2e1.zip
Resubmit "Refactor debuginfo-tests" again.
This was reverted due to the tests being run twice on some build bots. Each run had a slightly different configuration due to the way in which it was being invoked. This fixes the problem (albeit in a somewhat hacky way). Hopefully in the future we can get rid of the workflow of running debuginfo-tests as part of clang, and then this hack can go away. llvm-svn: 318697
Diffstat (limited to 'debuginfo-tests/tests/block_var.m')
-rw-r--r--debuginfo-tests/tests/block_var.m32
1 files changed, 32 insertions, 0 deletions
diff --git a/debuginfo-tests/tests/block_var.m b/debuginfo-tests/tests/block_var.m
new file mode 100644
index 00000000000..32862172c57
--- /dev/null
+++ b/debuginfo-tests/tests/block_var.m
@@ -0,0 +1,32 @@
+// RUN: %clang %target_itanium_abi_host_triple -O0 -g %s -c -o %t.o
+// RUN: %clang %target_itanium_abi_host_triple %t.o -o %t.out -framework Foundation
+// RUN: %test_debuginfo %s %t.out
+
+// REQUIRES: system-darwin
+
+// DEBUGGER: break 24
+// DEBUGGER: r
+// DEBUGGER: p result
+// CHECK: ${{[0-9]}} = 42
+
+void doBlock(void (^block)(void))
+{
+ block();
+}
+
+int I(int n)
+{
+ __block int result;
+ int i = 2;
+ doBlock(^{
+ result = n;
+ });
+ return result + i; /* Check value of 'result' */
+}
+
+
+int main (int argc, const char * argv[]) {
+ return I(42);
+}
+
+
OpenPOWER on IntegriCloud