[bazel] Add missing dependencies for a0ef12c64284abf59bc092b2535cce1247d5f9a4
[llvm-project.git] / compiler-rt / test / BlocksRuntime / byrefcopystack.c
blob745bdf173eb21d79c2b5ffeaf29a76278c84891b
1 //
2 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
3 // See https://llvm.org/LICENSE.txt for license information.
4 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 // byrefcopystack.m
8 // testObjects
9 //
10 // Created by Blaine Garst on 5/13/08.
15 #include <stdio.h>
16 #include <Block.h>
18 // CONFIG rdar://6255170
20 void (^bumpi)(void);
21 int (^geti)(void);
23 void setClosures() {
24 int __block i = 10;
25 bumpi = Block_copy(^{ ++i; });
26 geti = Block_copy(^{ return i; });
29 int main(int argc, char *argv[]) {
30 setClosures();
31 bumpi();
32 int i = geti();
34 if (i != 11) {
35 printf("*** %s didn't update i\n", argv[0]);
36 return 1;
38 printf("%s: success\n", argv[0]);
39 return 0;