1*7c3d14c8STreehugger Robot // 2*7c3d14c8STreehugger Robot // The LLVM Compiler Infrastructure 3*7c3d14c8STreehugger Robot // 4*7c3d14c8STreehugger Robot // This file is distributed under the University of Illinois Open Source 5*7c3d14c8STreehugger Robot // License. See LICENSE.TXT for details. 6*7c3d14c8STreehugger Robot 7*7c3d14c8STreehugger Robot // CONFIG open rdar://6439600 8*7c3d14c8STreehugger Robot 9*7c3d14c8STreehugger Robot #import <stdio.h> 10*7c3d14c8STreehugger Robot #import <stdlib.h> 11*7c3d14c8STreehugger Robot 12*7c3d14c8STreehugger Robot #define NUMBER_OF_BLOCKS 100 main(int argc,const char * argv[])13*7c3d14c8STreehugger Robotint main (int argc, const char * argv[]) { 14*7c3d14c8STreehugger Robot int (^x[NUMBER_OF_BLOCKS])(); 15*7c3d14c8STreehugger Robot int i; 16*7c3d14c8STreehugger Robot 17*7c3d14c8STreehugger Robot for(i=0; i<NUMBER_OF_BLOCKS; i++) x[i] = ^{ return i; }; 18*7c3d14c8STreehugger Robot 19*7c3d14c8STreehugger Robot for(i=0; i<NUMBER_OF_BLOCKS; i++) { 20*7c3d14c8STreehugger Robot if (x[i]() != i) { 21*7c3d14c8STreehugger Robot printf("%s: failure, %d != %d\n", argv[0], x[i](), i); 22*7c3d14c8STreehugger Robot exit(1); 23*7c3d14c8STreehugger Robot } 24*7c3d14c8STreehugger Robot } 25*7c3d14c8STreehugger Robot 26*7c3d14c8STreehugger Robot printf("%s: success\n", argv[0]); 27*7c3d14c8STreehugger Robot 28*7c3d14c8STreehugger Robot return 0; 29*7c3d14c8STreehugger Robot } 30