blob: e8066922fbba214debe6a75b3e459c287dfaa2af [file] [log] [blame]
Blaine Garstbe67b4a2010-08-04 23:34:21 +00001//
2// The LLVM Compiler Infrastructure
3//
4// This file is distributed under the University of Illinois Open Source
5// License. See LICENSE.TXT for details.
6
7//
8// nestedimport.m
9// testObjects
10//
11// Created by Blaine Garst on 6/24/08.
12//
13// pure C nothing more needed
14// CONFIG
15
16
17#include <stdio.h>
18#include <stdlib.h>
19
20
21int Global = 0;
22
23void callVoidVoid(void (^closure)(void)) {
24 closure();
25}
26
27int main(int argc, char *argv[]) {
28 int i = 1;
29
30 void (^vv)(void) = ^{
31 if (argc > 0) {
32 callVoidVoid(^{ Global = i; });
33 }
34 };
35
36 i = 2;
37 vv();
38 if (Global != 1) {
39 printf("%s: error, Global not set to captured value\n", argv[0]);
40 exit(1);
41 }
42 printf("%s: success\n", argv[0]);
43 return 0;
44}