1 //
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 // CONFIG open rdar://6439600
8 
9 #import <stdio.h>
10 #import <stdlib.h>
11 
12 #define NUMBER_OF_BLOCKS 100
13 int main (int argc, const char * argv[]) {
14     int (^x[NUMBER_OF_BLOCKS])();
15     int i;
16 
17     for(i=0; i<NUMBER_OF_BLOCKS; i++) x[i] = ^{ return i; };
18 
19     for(i=0; i<NUMBER_OF_BLOCKS; i++) {
20         if (x[i]() != i) {
21             printf("%s: failure, %d != %d\n", argv[0], x[i](), i);
22             exit(1);
23         }
24     }
25 
26     printf("%s: success\n", argv[0]);
27 
28     return 0;
29 }
30